public void MeasureSendsAggregateToRegisteredProcessor() { var testProcessor = new TestMetricProcessor(); var meter = MeterFactory.Create(testProcessor).GetMeter("library1") as MeterSDK; var testMeasure = meter.CreateInt64Measure("testMeasure"); var labels1 = new List <KeyValuePair <string, string> >(); labels1.Add(new KeyValuePair <string, string>("dim1", "value1")); var labels2 = new List <KeyValuePair <string, string> >(); labels2.Add(new KeyValuePair <string, string>("dim1", "value2")); testMeasure.Record(SpanContext.BlankLocal, 100, meter.GetLabelSet(labels1)); testMeasure.Record(SpanContext.BlankLocal, 10, meter.GetLabelSet(labels1)); testMeasure.Record(SpanContext.BlankLocal, 200, meter.GetLabelSet(labels2)); testMeasure.Record(SpanContext.BlankLocal, 20, meter.GetLabelSet(labels2)); meter.Collect(); Assert.Equal(2, testProcessor.measures.Count); Assert.Equal("testMeasure", testProcessor.measures[1].Item1); Assert.Equal("testMeasure", testProcessor.measures[0].Item1); Assert.Equal(meter.GetLabelSet(labels1), testProcessor.measures[1].Item2); Assert.Equal(meter.GetLabelSet(labels2), testProcessor.measures[0].Item2); Assert.Contains(100, testProcessor.measures[1].Item3); Assert.Contains(10, testProcessor.measures[1].Item3); Assert.Contains(200, testProcessor.measures[0].Item3); Assert.Contains(20, testProcessor.measures[0].Item3); }
public void DefaultMeterShouldBeCollectedAsWell() { var testProcessor = new TestMetricProcessor(); var meterProvider = (MeterProviderSdk)Sdk.CreateMeterProvider(mb => mb.SetMetricProcessor(testProcessor)); var controller = meterProvider.PushMetricController; var defaultMeter = meterProvider.GetMeter(string.Empty) as MeterSdk; // Record some metrics using default meter var testCounter = defaultMeter.CreateInt64Counter("testCounter"); var context = default(SpanContext); var labels = LabelSet.BlankLabelSet; testCounter.Add(context, 100, labels); testCounter.Add(context, 10, labels); // Collect using PushMetricController var sw = Stopwatch.StartNew(); var metricToExport = controller.Collect(sw).ToList(); Assert.Single(metricToExport); Assert.Single(metricToExport[0].Data); Assert.Equal(110, (metricToExport[0].Data[0] as Int64SumData).Sum); }