public void PerformanceCounterTelemetryDeepCloneWithNullExtensionDoesNotThrow() { var telemetry = new PerformanceCounterTelemetry(); // Extension is not set, means it'll be null. // Validate that cloning with null Extension does not throw. var other = telemetry.DeepClone(); }
public void ContextPropertiesUsedAsTelemetryItemProperties() { PerformanceCounterTelemetry item = new PerformanceCounterTelemetry(); item.Context.Properties["a"] = "b"; Assert.Equal("b", item.Properties["a"]); }
public void ContextPropertiesUsedAsTelemetryItemProperties() { PerformanceCounterTelemetry item = new PerformanceCounterTelemetry(); item.Context.Properties["a"] = "b"; Assert.Equal("b", item.Properties["a"]); }
public void SerializeWritesNullValuesAsExpectedByEndpoint() { PerformanceCounterTelemetry original = new PerformanceCounterTelemetry(); original.CategoryName = null; original.CounterName = null; original.InstanceName = null; ((ITelemetry)original).Sanitize(); var item = TelemetryItemTestHelper.SerializeDeserializeTelemetryItem<PerformanceCounterTelemetry, DataPlatformModel.PerformanceCounterData>(original); Assert.Equal(2, item.Data.BaseData.Ver); }
public void SerializeWritesNullValuesAsExpectedByEndpoint() { PerformanceCounterTelemetry original = new PerformanceCounterTelemetry(); original.CategoryName = null; original.CounterName = null; original.InstanceName = null; ((ITelemetry)original).Sanitize(); var item = TelemetryItemTestHelper.SerializeDeserializeTelemetryItem <PerformanceCounterTelemetry, AI.MetricData>(original); Assert.Equal(2, item.data.baseData.ver); }
public void PerformanceCounterTelemetryDeepCloneCopiesAllProperties() { PerformanceCounterTelemetry item = new PerformanceCounterTelemetry("someCategory", "someCounter", "an instance", 15.7); item.Timestamp = DateTimeOffset.Now; item.Properties.Add("p1", "p1Val"); PerformanceCounterTelemetry other = (PerformanceCounterTelemetry)item.DeepClone(); CompareLogic deepComparator = new CompareLogic(); var result = deepComparator.Compare(item, other); Assert.IsTrue(result.AreEqual, result.DifferencesString); }
/// <summary> /// Initializes a new instance of the <see cref="PerformanceCounterTelemetry"/> class by cloning an existing instance. /// </summary> /// <param name="source">Source instance of <see cref="PerformanceCounterTelemetry"/> to clone from.</param> private PerformanceCounterTelemetry(PerformanceCounterTelemetry source) { this.Data = (MetricTelemetry)source.Data.DeepClone(); this.categoryName = source.categoryName; this.counterName = source.counterName; }
/// <summary> /// Serializes this object in JSON format. /// </summary> private static void SerializePerformanceCounter(PerformanceCounterTelemetry performanceCounter, JsonWriter writer) { writer.WriteStartObject(); performanceCounter.WriteTelemetryName(writer, PerformanceCounterTelemetry.TelemetryName); performanceCounter.WriteEnvelopeProperties(writer); writer.WritePropertyName("data"); { writer.WriteStartObject(); writer.WriteProperty("baseType", performanceCounter.BaseType); writer.WritePropertyName("baseData"); { writer.WriteStartObject(); writer.WriteProperty("ver", performanceCounter.Data.ver); writer.WriteProperty("categoryName", performanceCounter.Data.categoryName); writer.WriteProperty("counterName", performanceCounter.Data.counterName); writer.WriteProperty("instanceName", performanceCounter.Data.instanceName); writer.WriteProperty("value", performanceCounter.Data.value); writer.WriteProperty("properties", performanceCounter.Data.properties); writer.WriteEndObject(); } writer.WriteEndObject(); } writer.WriteEndObject(); }