XSoftwareTelemetryExtension() : base("Software Telemetry", "swtelemetry", EXTENSION_URI) { IXFactory factory = XFactoryRegistry.Instance.CurrentDefault; ATTR_CPU_TOTAL_USER = factory.CreateAttributeDiscrete(KEY_CPU_TOTAL_USER, -1L, this); this.eventAttributes.Add(KEY_CPU_TOTAL_USER, (XAttribute)ATTR_CPU_TOTAL_USER.Clone()); XGlobalAttributeNameMap.Instance.RegisterMapping("EN", QualifiedName(KEY_CPU_TOTAL_USER), "CPU usage - total time in user space, in milliseconds"); ATTR_CPU_TOTAL_KERNEL = factory.CreateAttributeDiscrete(KEY_CPU_TOTAL_KERNEL, -1L, this); this.eventAttributes.Add(KEY_CPU_TOTAL_KERNEL, (XAttribute)ATTR_CPU_TOTAL_KERNEL.Clone()); XGlobalAttributeNameMap.Instance.RegisterMapping("EN", QualifiedName(KEY_CPU_TOTAL_KERNEL), "CPU usage - total time in kernel space, in milliseconds"); ATTR_CPU_TOTAL_IDLE = factory.CreateAttributeDiscrete(KEY_CPU_TOTAL_IDLE, -1L, this); this.eventAttributes.Add(KEY_CPU_TOTAL_IDLE, (XAttribute)ATTR_CPU_TOTAL_IDLE.Clone()); XGlobalAttributeNameMap.Instance.RegisterMapping("EN", QualifiedName(KEY_CPU_TOTAL_IDLE), "CPU usage - total time spent idle, in milliseconds"); ATTR_CPU_LOAD_USER = factory.CreateAttributeContinuous(KEY_CPU_LOAD_USER, -1L, this); this.eventAttributes.Add(KEY_CPU_LOAD_USER, (XAttribute)ATTR_CPU_LOAD_USER.Clone()); XGlobalAttributeNameMap.Instance.RegisterMapping("EN", QualifiedName(KEY_CPU_LOAD_USER), "CPU usage - load in user space"); ATTR_CPU_LOAD_KERNEL = factory.CreateAttributeContinuous(KEY_CPU_LOAD_KERNEL, -1L, this); this.eventAttributes.Add(KEY_CPU_LOAD_KERNEL, (XAttribute)ATTR_CPU_LOAD_KERNEL.Clone()); XGlobalAttributeNameMap.Instance.RegisterMapping("EN", QualifiedName(KEY_CPU_LOAD_KERNEL), "CPU usage - load in kernel space"); ATTR_THREAD_TOTAL = factory.CreateAttributeDiscrete(KEY_THREAD_TOTAL, -1L, this); this.eventAttributes.Add(KEY_THREAD_TOTAL, (XAttribute)ATTR_THREAD_TOTAL.Clone()); XGlobalAttributeNameMap.Instance.RegisterMapping("EN", QualifiedName(KEY_THREAD_TOTAL), "Total number of threads"); ATTR_THREAD_DAEMON = factory.CreateAttributeDiscrete(KEY_THREAD_DAEMON, -1L, this); this.eventAttributes.Add(KEY_THREAD_DAEMON, (XAttribute)ATTR_THREAD_DAEMON.Clone()); XGlobalAttributeNameMap.Instance.RegisterMapping("EN", QualifiedName(KEY_THREAD_DAEMON), "Number of daemon threads"); ATTR_MEMORY_USED = factory.CreateAttributeDiscrete(KEY_MEMORY_USED, -1L, this); this.eventAttributes.Add(KEY_MEMORY_USED, (XAttribute)ATTR_MEMORY_USED.Clone()); XGlobalAttributeNameMap.Instance.RegisterMapping("EN", QualifiedName(KEY_MEMORY_USED), "Total memory used, measured in bytes"); ATTR_MEMORY_TOTAL = factory.CreateAttributeDiscrete(KEY_MEMORY_TOTAL, -1L, this); this.eventAttributes.Add(KEY_MEMORY_TOTAL, (XAttribute)ATTR_MEMORY_TOTAL.Clone()); XGlobalAttributeNameMap.Instance.RegisterMapping("EN", QualifiedName(KEY_MEMORY_TOTAL), "Total memory available, measured in bytes"); ATTR_MEMORY_LOAD = factory.CreateAttributeContinuous(KEY_MEMORY_LOAD, -1L, this); this.eventAttributes.Add(KEY_MEMORY_LOAD, (XAttribute)ATTR_MEMORY_LOAD.Clone()); XGlobalAttributeNameMap.Instance.RegisterMapping("EN", QualifiedName(KEY_MEMORY_LOAD), "Memory usage load"); }
XCostExtension() : base("Cost", "cost", EXTENSION_URI) { IXFactory factory = XFactoryRegistry.Instance.CurrentDefault; ATTR_TOTAL = factory.CreateAttributeContinuous(KEY_TOTAL, 0.0D, this); ATTR_CURRENCY = factory.CreateAttributeLiteral(KEY_CURRENCY, "__INVALID__", this); ATTR_AMOUNT = factory.CreateAttributeContinuous(KEY_AMOUNT, 0.0D, this); ATTR_DRIVER = factory.CreateAttributeLiteral(KEY_DRIVER, "__INVALID__", this); ATTR_TYPE = factory.CreateAttributeLiteral(KEY_TYPE, "__INVALID__", this); this.traceAttributes.Add(KEY_TOTAL, (XAttribute)ATTR_TOTAL.Clone()); this.traceAttributes.Add(KEY_CURRENCY, (XAttribute)ATTR_CURRENCY.Clone()); this.eventAttributes.Add(KEY_TOTAL, (XAttribute)ATTR_TOTAL.Clone()); this.eventAttributes.Add(KEY_CURRENCY, (XAttribute)ATTR_CURRENCY.Clone()); this.eventAttributes.Add(KEY_AMOUNT, (XAttribute)ATTR_AMOUNT.Clone()); this.eventAttributes.Add(KEY_DRIVER, (XAttribute)ATTR_DRIVER.Clone()); this.eventAttributes.Add(KEY_TYPE, (XAttribute)ATTR_TYPE.Clone()); XGlobalAttributeNameMap.Instance.RegisterMapping("EN", QualifiedName(KEY_TOTAL), "Total Cost"); XGlobalAttributeNameMap.Instance.RegisterMapping("EN", QualifiedName(KEY_CURRENCY), "Currency of Cost"); XGlobalAttributeNameMap.Instance.RegisterMapping("EN", QualifiedName(KEY_AMOUNT), "Cost Amount"); XGlobalAttributeNameMap.Instance.RegisterMapping("EN", QualifiedName(KEY_DRIVER), "Cost Driver"); XGlobalAttributeNameMap.Instance.RegisterMapping("EN", QualifiedName(KEY_TYPE), "Cost Type"); }