From 276f75285a7d915f41cc781313a7f54d461dba3d Mon Sep 17 00:00:00 2001 From: kkeirstead Date: Thu, 30 Mar 2023 06:50:47 -0700 Subject: [PATCH 1/2] Bug fix. --- .../Metrics/MetricsStore.cs | 2 +- .../MetricsFormattingTests.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.Diagnostics.Monitoring.WebApi/Metrics/MetricsStore.cs b/src/Microsoft.Diagnostics.Monitoring.WebApi/Metrics/MetricsStore.cs index 1ebfdbef892..f41ac447bf2 100644 --- a/src/Microsoft.Diagnostics.Monitoring.WebApi/Metrics/MetricsStore.cs +++ b/src/Microsoft.Diagnostics.Monitoring.WebApi/Metrics/MetricsStore.cs @@ -200,8 +200,8 @@ private static string GetMetricType(EventType eventType) { switch (eventType) { + // In Prometheus, rates are treated as gauges due to their non-monotonic nature; case EventType.Rate: - return "counter"; case EventType.Gauge: return "gauge"; case EventType.Histogram: diff --git a/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/MetricsFormattingTests.cs b/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/MetricsFormattingTests.cs index 22fa08055e2..ae4712896c1 100644 --- a/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/MetricsFormattingTests.cs +++ b/src/Tests/Microsoft.Diagnostics.Monitoring.Tool.UnitTests/MetricsFormattingTests.cs @@ -99,7 +99,7 @@ public async Task CounterFormat_Test() Assert.Equal(3, lines.Count); Assert.Equal($"# HELP {metricName}{payload.Unit} {payload.DisplayName}", lines[0]); - Assert.Equal($"# TYPE {metricName} counter", lines[1]); + Assert.Equal($"# TYPE {metricName} gauge", lines[1]); Assert.Equal($"{metricName} {payload.Value} {new DateTimeOffset(payload.Timestamp).ToUnixTimeMilliseconds()}", lines[2]); } From f1ad63eb597b792e637a46267e831b1ca4ef761f Mon Sep 17 00:00:00 2001 From: kkeirstead <85592574+kkeirstead@users.noreply.github.com> Date: Thu, 30 Mar 2023 06:53:14 -0700 Subject: [PATCH 2/2] Update MetricsStore.cs --- .../Metrics/MetricsStore.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.Diagnostics.Monitoring.WebApi/Metrics/MetricsStore.cs b/src/Microsoft.Diagnostics.Monitoring.WebApi/Metrics/MetricsStore.cs index f41ac447bf2..5d3b01425cd 100644 --- a/src/Microsoft.Diagnostics.Monitoring.WebApi/Metrics/MetricsStore.cs +++ b/src/Microsoft.Diagnostics.Monitoring.WebApi/Metrics/MetricsStore.cs @@ -200,7 +200,7 @@ private static string GetMetricType(EventType eventType) { switch (eventType) { - // In Prometheus, rates are treated as gauges due to their non-monotonic nature; + // In Prometheus, rates are treated as gauges due to their non-monotonic nature case EventType.Rate: case EventType.Gauge: return "gauge";