From eb12f9b386f0f3231bd9f41b34b65cc927831e1c Mon Sep 17 00:00:00 2001
From: Alan West <3676547+alanwest@users.noreply.github.com>
Date: Wed, 24 May 2023 15:27:41 -0700
Subject: [PATCH] Console exporter: Display exponential histogram boundaries
(#4507)
---
.../ConsoleMetricExporter.cs | 17 +++++++++++++++--
.../OpenTelemetry.Exporter.Console.csproj | 1 +
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/src/OpenTelemetry.Exporter.Console/ConsoleMetricExporter.cs b/src/OpenTelemetry.Exporter.Console/ConsoleMetricExporter.cs
index fc9d13de0..25654d712 100644
--- a/src/OpenTelemetry.Exporter.Console/ConsoleMetricExporter.cs
+++ b/src/OpenTelemetry.Exporter.Console/ConsoleMetricExporter.cs
@@ -146,8 +146,21 @@ namespace OpenTelemetry.Exporter
}
else
{
- // TODO: Consider how/if to display buckets for exponential histograms.
- bucketsBuilder.AppendLine("Buckets are not displayed for exponential histograms.");
+ var exponentialHistogramData = metricPoint.GetExponentialHistogramData();
+ var scale = exponentialHistogramData.Scale;
+
+ if (exponentialHistogramData.ZeroCount != 0)
+ {
+ bucketsBuilder.AppendLine($"Zero Bucket:{exponentialHistogramData.ZeroCount}");
+ }
+
+ var offset = exponentialHistogramData.PositiveBuckets.Offset;
+ foreach (var bucketCount in exponentialHistogramData.PositiveBuckets)
+ {
+ var lowerBound = Base2ExponentialBucketHistogram.LowerBoundary(offset, scale).ToString(CultureInfo.InvariantCulture);
+ var upperBound = Base2ExponentialBucketHistogram.LowerBoundary(++offset, scale).ToString(CultureInfo.InvariantCulture);
+ bucketsBuilder.AppendLine($"({lowerBound}, {upperBound}]:{bucketCount}");
+ }
}
valueDisplay = bucketsBuilder.ToString();
diff --git a/src/OpenTelemetry.Exporter.Console/OpenTelemetry.Exporter.Console.csproj b/src/OpenTelemetry.Exporter.Console/OpenTelemetry.Exporter.Console.csproj
index 7883a6a6c..b7afb8a8f 100644
--- a/src/OpenTelemetry.Exporter.Console/OpenTelemetry.Exporter.Console.csproj
+++ b/src/OpenTelemetry.Exporter.Console/OpenTelemetry.Exporter.Console.csproj
@@ -28,6 +28,7 @@
+