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.