Add MinMax to console and doc additions (#3795)

This commit is contained in:
Cijo Thomas 2022-10-20 19:13:36 -04:00 committed by GitHub
parent f963f9dcf6
commit 16e0758c14
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 47 additions and 2 deletions

View File

@ -41,6 +41,7 @@
"tracestate", "tracestate",
"Tracestate", "Tracestate",
"triager", "triager",
"typeparam",
"umesan", "umesan",
"unencrypted", "unencrypted",
"unvalidated", "unvalidated",

View File

@ -18,6 +18,7 @@ using System;
using System.Diagnostics.Metrics; using System.Diagnostics.Metrics;
using OpenTelemetry; using OpenTelemetry;
using OpenTelemetry.Metrics; using OpenTelemetry.Metrics;
using OpenTelemetry.Resources;
namespace CustomizingTheSdk; namespace CustomizingTheSdk;
@ -29,6 +30,7 @@ public class Program
public static void Main() public static void Main()
{ {
using var meterProvider = Sdk.CreateMeterProviderBuilder() using var meterProvider = Sdk.CreateMeterProviderBuilder()
.ConfigureResource(res => res.AddService("example-service"))
.AddMeter(Meter1.Name) .AddMeter(Meter1.Name)
.AddMeter(Meter2.Name) .AddMeter(Meter2.Name)

View File

@ -427,4 +427,37 @@ Refer to the individual exporter docs to learn how to use them:
### Resource ### Resource
// TODO [Resource](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/resource/sdk.md)
is the immutable representation of the entity producing the telemetry. If no
`Resource` is explicitly configured, the
[default](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/resource/semantic_conventions/README.md#semantic-attributes-with-sdk-provided-default-value)
is to use a resource indicating this
[Service](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/resource/semantic_conventions/README.md#service).
The `ConfigureResource` method on `MeterProviderBuilder` can be used to set a
configure the resource on the provider. When the provider is built, it
automatically builds the final `Resource` from the configured `ResourceBuilder`.
There can only be a single `Resource` associated with a
provider. It is not possible to change the resource builder *after* the provider
is built, by calling the `Build()` method on the `MeterProviderBuilder`.
`ResourceBuilder` offers various methods to construct resource comprising of
multiple attributes from various sources.
The snippet below shows configuring the `Resource` associated with the provider.
```csharp
using OpenTelemetry;
using OpenTelemetry.Resources;
using OpenTelemetry.Metrics;
using var meterProvider = Sdk.CreateMeterProviderBuilder()
.ConfigureResource(r => r.AddService("MyServiceName"))
.Build();
```
It is also possible to configure the `Resource` by using following
environmental variables:
| Environment variable | Description |
| -------------------------- | -------------------------------------------------- |
| `OTEL_RESOURCE_ATTRIBUTES` | Key-value pairs to be used as resource attributes. See the [Resource SDK specification](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.5.0/specification/resource/sdk.md#specifying-resource-information-via-an-environment-variable) for more details. |
| `OTEL_SERVICE_NAME` | Sets the value of the `service.name` resource attribute. If `service.name` is also provided in `OTEL_RESOURCE_ATTRIBUTES`, then `OTEL_SERVICE_NAME` takes precedence. |

View File

@ -10,6 +10,8 @@ LogRecordExporter to print full exception details instead of just Message, when
using `ILogger` to log exception. using `ILogger` to log exception.
([#3784](https://github.com/open-telemetry/opentelemetry-dotnet/pull/3784)) ([#3784](https://github.com/open-telemetry/opentelemetry-dotnet/pull/3784))
Added support to print Histogram Min, Max in MetricExporter.
## 1.4.0-beta.2 ## 1.4.0-beta.2
Released 2022-Oct-17 Released 2022-Oct-17

View File

@ -97,7 +97,14 @@ namespace OpenTelemetry.Exporter
var bucketsBuilder = new StringBuilder(); var bucketsBuilder = new StringBuilder();
var sum = metricPoint.GetHistogramSum(); var sum = metricPoint.GetHistogramSum();
var count = metricPoint.GetHistogramCount(); var count = metricPoint.GetHistogramCount();
bucketsBuilder.Append($"Sum: {sum} Count: {count} \n"); if (metricPoint.HasMinMax())
{
bucketsBuilder.Append($"Sum: {sum} Count: {count} Min: {metricPoint.GetHistogramMin()} Max: {metricPoint.GetHistogramMax()} \n");
}
else
{
bucketsBuilder.Append($"Sum: {sum} Count: {count} \n");
}
bool isFirstIteration = true; bool isFirstIteration = true;
double previousExplicitBound = default; double previousExplicitBound = default;