From 3e8074576d05296686dfa92a40b1a1eaed256a3e Mon Sep 17 00:00:00 2001 From: Cijo Thomas Date: Thu, 24 Mar 2022 12:01:50 -0700 Subject: [PATCH] Minor additions to Extending Metric SDK docs (#3089) --- .../extending-the-sdk/MyExporterExtensions.cs | 14 ++++++++++++-- docs/metrics/extending-the-sdk/README.md | 2 -- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/docs/metrics/extending-the-sdk/MyExporterExtensions.cs b/docs/metrics/extending-the-sdk/MyExporterExtensions.cs index 23e174e3e..4821d8468 100644 --- a/docs/metrics/extending-the-sdk/MyExporterExtensions.cs +++ b/docs/metrics/extending-the-sdk/MyExporterExtensions.cs @@ -15,17 +15,27 @@ // using System; +using System.Threading; using OpenTelemetry.Metrics; internal static class MyExporterExtensions { - public static MeterProviderBuilder AddMyExporter(this MeterProviderBuilder builder) + public static MeterProviderBuilder AddMyExporter(this MeterProviderBuilder builder, int exportIntervalMilliSeconds = Timeout.Infinite) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } - return builder.AddReader(new BaseExportingMetricReader(new MyExporter())); + if (exportIntervalMilliSeconds == Timeout.Infinite) + { + // Export triggered manually only. + return builder.AddReader(new BaseExportingMetricReader(new MyExporter())); + } + else + { + // Export is triggered periodically. + return builder.AddReader(new PeriodicExportingMetricReader(new MyExporter(), exportIntervalMilliSeconds)); + } } } diff --git a/docs/metrics/extending-the-sdk/README.md b/docs/metrics/extending-the-sdk/README.md index b1eb86eb3..8d7ceba3a 100644 --- a/docs/metrics/extending-the-sdk/README.md +++ b/docs/metrics/extending-the-sdk/README.md @@ -29,8 +29,6 @@ not covered by the built-in exporters: done via `OpenTelemetry.SuppressInstrumentationScope`. * Exporters receives a batch of `Metric`, and each `Metric` can contain 1 or more `MetricPoint`s. -* Exporters should use `Activity.TagObjects` collection instead of - `Activity.Tags` to obtain the full set of attributes (tags). * Exporters should use `ParentProvider.GetResource()` to get the `Resource` associated with the provider.