private static void Metrics_SpecifiedPipeline(TelemetryConfiguration telemetryPipeline) { telemetryPipeline.InstrumentationKey = Guid.NewGuid().ToString("D"); MetricManager manager1 = telemetryPipeline.Metrics(); Assert.IsNotNull(manager1); MetricManager manager2 = telemetryPipeline.Metrics(); Assert.IsNotNull(manager2); Assert.AreEqual(manager1, manager2); Assert.AreSame(manager1, manager2); Assert.IsTrue(Object.ReferenceEquals(manager1, manager2)); StubTelemetryChannel telemetryCollector = new StubTelemetryChannel(); telemetryPipeline.TelemetryChannel = telemetryCollector; Assert.AreSame(telemetryCollector, telemetryPipeline.TelemetryChannel); //CollectingTelemetryInitializer telemetryCollector = new CollectingTelemetryInitializer(); //defaultTelemetryPipeline.TelemetryInitializers.Add(coll); IMetricSeriesConfiguration seriesConfig = new SimpleMetricSeriesConfiguration(restrictToUInt32Values: false); manager1.CreateNewSeries("Metric A", seriesConfig).TrackValue(42); manager1.CreateNewSeries("Metric A", seriesConfig).TrackValue("18"); manager2.CreateNewSeries("Metric A", seriesConfig).TrackValue(10000); manager2.CreateNewSeries("Metric B", seriesConfig).TrackValue(-0.001); manager1.Flush(); Assert.AreEqual(4, telemetryCollector.TelemetryItems.Count); Assert.IsInstanceOfType(telemetryCollector.TelemetryItems[0], typeof(MetricTelemetry)); Assert.AreEqual("Metric B", ((MetricTelemetry)telemetryCollector.TelemetryItems[0]).Name); Assert.AreEqual(1, ((MetricTelemetry)telemetryCollector.TelemetryItems[0]).Count); Assert.AreEqual(-0.001, ((MetricTelemetry)telemetryCollector.TelemetryItems[0]).Sum); Assert.IsInstanceOfType(telemetryCollector.TelemetryItems[1], typeof(MetricTelemetry)); Assert.AreEqual("Metric A", ((MetricTelemetry)telemetryCollector.TelemetryItems[1]).Name); Assert.AreEqual(1, ((MetricTelemetry)telemetryCollector.TelemetryItems[1]).Count); Assert.AreEqual(10000, ((MetricTelemetry)telemetryCollector.TelemetryItems[1]).Sum); Assert.IsInstanceOfType(telemetryCollector.TelemetryItems[2], typeof(MetricTelemetry)); Assert.AreEqual("Metric A", ((MetricTelemetry)telemetryCollector.TelemetryItems[2]).Name); Assert.AreEqual(1, ((MetricTelemetry)telemetryCollector.TelemetryItems[2]).Count); Assert.AreEqual(18, ((MetricTelemetry)telemetryCollector.TelemetryItems[2]).Sum); Assert.IsInstanceOfType(telemetryCollector.TelemetryItems[3], typeof(MetricTelemetry)); Assert.AreEqual("Metric A", ((MetricTelemetry)telemetryCollector.TelemetryItems[3]).Name); Assert.AreEqual(1, ((MetricTelemetry)telemetryCollector.TelemetryItems[3]).Count); Assert.AreEqual(42, ((MetricTelemetry)telemetryCollector.TelemetryItems[3]).Sum); }
void MethodX() { MetricManager manager = TelemetryConfiguration.Active.Metrics(); IMetricSeriesConfiguration config = new SimpleMetricSeriesConfiguration(restrictToUInt32Values: false); MetricSeries series1 = TelemetryConfiguration.Active.Metrics().CreateNewSeries( "Cows Sold", new Dictionary <string, string> { ["Color of Cow"] = "Red", ["Gender of Cow"] = "Female" }, config); series1.TrackValue(42); series1.TrackValue(1); series1.TrackValue(1); series1.TrackValue(1); }