From e2a908e08945a13bfc912696b5fb17927bf59a1a Mon Sep 17 00:00:00 2001 From: Utkarsh Umesan Pillai <66651184+utpilla@users.noreply.github.com> Date: Wed, 6 Jan 2021 11:59:19 -0800 Subject: [PATCH] Added SimpleExporter and BatchExporter for Activity and LogRecord (#1622) * Added SimpleExporter and BatchExporter for Activity and LogRecord * Updated the .publicApi text files * Updated the README to use SimpleActivityExportProcessor instead of SimpleExportProcessor * Updated CHANGELOG.md * Updated CHANGELOG.md Co-authored-by: Cijo Thomas --- .../extending-the-sdk/LoggerExtensions.cs | 2 +- docs/logs/extending-the-sdk/Program.cs | 2 +- .../MyExporterHelperExtensions.cs | 2 +- docs/trace/extending-the-sdk/Program.cs | 2 +- docs/trace/extending-the-sdk/README.md | 2 +- .../ConsoleExporterHelperExtensions.cs | 2 +- .../ConsoleExporterLoggingExtensions.cs | 2 +- .../InMemoryExporterHelperExtensions.cs | 2 +- .../InMemoryExporterLoggingExtensions.cs | 2 +- .../JaegerExporterHelperExtensions.cs | 4 +- .../OtlpExporterHelperExtensions.cs | 4 +- .../ZipkinExporterHelperExtensions.cs | 4 +- .../.publicApi/net452/PublicAPI.Unshipped.txt | 8 ++- .../.publicApi/net46/PublicAPI.Unshipped.txt | 8 ++- .../.publicApi/net461/PublicAPI.Unshipped.txt | 12 ++++- .../netstandard2.0/PublicAPI.Unshipped.txt | 12 ++++- src/OpenTelemetry/BaseExportProcessor.cs | 14 ++---- .../BatchActivityExportProcessor.cs | 49 +++++++++++++++++++ src/OpenTelemetry/BatchExportProcessor.cs | 6 +-- .../BatchLogRecordExportProcessor.cs | 40 +++++++++++++++ src/OpenTelemetry/CHANGELOG.md | 6 +++ .../SimpleActivityExportProcessor.cs | 39 +++++++++++++++ src/OpenTelemetry/SimpleExportProcessor.cs | 6 +-- .../SimpleLogRecordExportProcessor.cs | 30 ++++++++++++ .../OtlpExporterTest.cs | 2 +- .../ZipkinExporterTests.cs | 4 +- .../OpenTelemetry.Tests/Logs/LogRecordTest.cs | 2 +- ...ssor.cs => TestActivityExportProcessor.cs} | 12 ++--- .../Trace/BatchExportActivityProcessorTest.cs | 22 ++++----- .../Trace/ExportProcessorTest.cs | 6 +-- .../SimpleExportActivityProcessorTest.cs | 10 ++-- 31 files changed, 254 insertions(+), 64 deletions(-) create mode 100644 src/OpenTelemetry/BatchActivityExportProcessor.cs create mode 100644 src/OpenTelemetry/BatchLogRecordExportProcessor.cs create mode 100644 src/OpenTelemetry/SimpleActivityExportProcessor.cs create mode 100644 src/OpenTelemetry/SimpleLogRecordExportProcessor.cs rename test/OpenTelemetry.Tests/Shared/{TestExportProcessor.cs => TestActivityExportProcessor.cs} (67%) diff --git a/docs/logs/extending-the-sdk/LoggerExtensions.cs b/docs/logs/extending-the-sdk/LoggerExtensions.cs index 465da876e..644d711c1 100644 --- a/docs/logs/extending-the-sdk/LoggerExtensions.cs +++ b/docs/logs/extending-the-sdk/LoggerExtensions.cs @@ -27,6 +27,6 @@ internal static class LoggerExtensions throw new ArgumentNullException(nameof(options)); } - return options.AddProcessor(new BatchExportProcessor(new MyExporter())); + return options.AddProcessor(new BatchLogRecordExportProcessor(new MyExporter())); } } diff --git a/docs/logs/extending-the-sdk/Program.cs b/docs/logs/extending-the-sdk/Program.cs index 901772445..34b928999 100644 --- a/docs/logs/extending-the-sdk/Program.cs +++ b/docs/logs/extending-the-sdk/Program.cs @@ -35,7 +35,7 @@ public class Program builder.AddOpenTelemetry(options => options .AddProcessor(new MyProcessor("ProcessorA")) .AddProcessor(new MyProcessor("ProcessorB")) - .AddProcessor(new SimpleExportProcessor(new MyExporter("ExporterX"))) + .AddProcessor(new SimpleLogRecordExportProcessor(new MyExporter("ExporterX"))) .AddMyExporter()); }); diff --git a/docs/trace/extending-the-sdk/MyExporterHelperExtensions.cs b/docs/trace/extending-the-sdk/MyExporterHelperExtensions.cs index e35ac0f45..910f812db 100644 --- a/docs/trace/extending-the-sdk/MyExporterHelperExtensions.cs +++ b/docs/trace/extending-the-sdk/MyExporterHelperExtensions.cs @@ -28,6 +28,6 @@ internal static class MyExporterHelperExtensions throw new ArgumentNullException(nameof(builder)); } - return builder.AddProcessor(new BatchExportProcessor(new MyExporter())); + return builder.AddProcessor(new BatchActivityExportProcessor(new MyExporter())); } } diff --git a/docs/trace/extending-the-sdk/Program.cs b/docs/trace/extending-the-sdk/Program.cs index c099ab6e8..d22781033 100644 --- a/docs/trace/extending-the-sdk/Program.cs +++ b/docs/trace/extending-the-sdk/Program.cs @@ -29,7 +29,7 @@ public class Program .AddSource("OTel.Demo") .AddProcessor(new MyProcessor("ProcessorA")) .AddProcessor(new MyProcessor("ProcessorB")) - .AddProcessor(new SimpleExportProcessor(new MyExporter("ExporterX"))) + .AddProcessor(new SimpleActivityExportProcessor(new MyExporter("ExporterX"))) .AddMyExporter() .Build(); diff --git a/docs/trace/extending-the-sdk/README.md b/docs/trace/extending-the-sdk/README.md index e7af9a80f..d1f48c147 100644 --- a/docs/trace/extending-the-sdk/README.md +++ b/docs/trace/extending-the-sdk/README.md @@ -221,7 +221,7 @@ register the exporter, they must be registered manually as shown below: .SetSampler(new MySampler()) .AddSource("OTel.Demo") .AddProcessor(new MyFilteringProcessor( - new SimpleExportProcessor(new MyExporter("ExporterX")), + new SimpleActivityExportProcessor(new MyExporter("ExporterX")), (act) => true)) .Build(); ``` diff --git a/src/OpenTelemetry.Exporter.Console/ConsoleExporterHelperExtensions.cs b/src/OpenTelemetry.Exporter.Console/ConsoleExporterHelperExtensions.cs index 7b163f5a7..c6c9f828f 100644 --- a/src/OpenTelemetry.Exporter.Console/ConsoleExporterHelperExtensions.cs +++ b/src/OpenTelemetry.Exporter.Console/ConsoleExporterHelperExtensions.cs @@ -39,7 +39,7 @@ namespace OpenTelemetry.Trace var options = new ConsoleExporterOptions(); configure?.Invoke(options); - return builder.AddProcessor(new SimpleExportProcessor(new ConsoleActivityExporter(options))); + return builder.AddProcessor(new SimpleActivityExportProcessor(new ConsoleActivityExporter(options))); } } } diff --git a/src/OpenTelemetry.Exporter.Console/ConsoleExporterLoggingExtensions.cs b/src/OpenTelemetry.Exporter.Console/ConsoleExporterLoggingExtensions.cs index 66a076e8e..ad15d22ff 100644 --- a/src/OpenTelemetry.Exporter.Console/ConsoleExporterLoggingExtensions.cs +++ b/src/OpenTelemetry.Exporter.Console/ConsoleExporterLoggingExtensions.cs @@ -38,7 +38,7 @@ namespace OpenTelemetry.Logs var options = new ConsoleExporterOptions(); configure?.Invoke(options); - return loggerOptions.AddProcessor(new SimpleExportProcessor(new ConsoleLogRecordExporter(options))); + return loggerOptions.AddProcessor(new SimpleLogRecordExportProcessor(new ConsoleLogRecordExporter(options))); } } } diff --git a/src/OpenTelemetry.Exporter.InMemory/InMemoryExporterHelperExtensions.cs b/src/OpenTelemetry.Exporter.InMemory/InMemoryExporterHelperExtensions.cs index 54addbfc4..a596ea326 100644 --- a/src/OpenTelemetry.Exporter.InMemory/InMemoryExporterHelperExtensions.cs +++ b/src/OpenTelemetry.Exporter.InMemory/InMemoryExporterHelperExtensions.cs @@ -42,7 +42,7 @@ namespace OpenTelemetry.Trace throw new ArgumentNullException(nameof(exportedItems)); } - return builder.AddProcessor(new SimpleExportProcessor(new InMemoryExporter(exportedItems))); + return builder.AddProcessor(new SimpleActivityExportProcessor(new InMemoryExporter(exportedItems))); } } } diff --git a/src/OpenTelemetry.Exporter.InMemory/InMemoryExporterLoggingExtensions.cs b/src/OpenTelemetry.Exporter.InMemory/InMemoryExporterLoggingExtensions.cs index 62c6e8bd5..dce341412 100644 --- a/src/OpenTelemetry.Exporter.InMemory/InMemoryExporterLoggingExtensions.cs +++ b/src/OpenTelemetry.Exporter.InMemory/InMemoryExporterLoggingExtensions.cs @@ -35,7 +35,7 @@ namespace OpenTelemetry.Logs throw new ArgumentNullException(nameof(exportedItems)); } - return loggerOptions.AddProcessor(new SimpleExportProcessor(new InMemoryExporter(exportedItems))); + return loggerOptions.AddProcessor(new SimpleLogRecordExportProcessor(new InMemoryExporter(exportedItems))); } } } diff --git a/src/OpenTelemetry.Exporter.Jaeger/JaegerExporterHelperExtensions.cs b/src/OpenTelemetry.Exporter.Jaeger/JaegerExporterHelperExtensions.cs index 2d558fad5..1c67154a6 100644 --- a/src/OpenTelemetry.Exporter.Jaeger/JaegerExporterHelperExtensions.cs +++ b/src/OpenTelemetry.Exporter.Jaeger/JaegerExporterHelperExtensions.cs @@ -45,11 +45,11 @@ namespace OpenTelemetry.Trace if (exporterOptions.ExportProcessorType == ExportProcessorType.Simple) { - return builder.AddProcessor(new SimpleExportProcessor(jaegerExporter)); + return builder.AddProcessor(new SimpleActivityExportProcessor(jaegerExporter)); } else { - return builder.AddProcessor(new BatchExportProcessor( + return builder.AddProcessor(new BatchActivityExportProcessor( jaegerExporter, exporterOptions.BatchExportProcessorOptions.MaxQueueSize, exporterOptions.BatchExportProcessorOptions.ScheduledDelayMilliseconds, diff --git a/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/OtlpExporterHelperExtensions.cs b/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/OtlpExporterHelperExtensions.cs index 6b5d68873..6bd0810a6 100644 --- a/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/OtlpExporterHelperExtensions.cs +++ b/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/OtlpExporterHelperExtensions.cs @@ -45,11 +45,11 @@ namespace OpenTelemetry.Trace if (exporterOptions.ExportProcessorType == ExportProcessorType.Simple) { - return builder.AddProcessor(new SimpleExportProcessor(otlpExporter)); + return builder.AddProcessor(new SimpleActivityExportProcessor(otlpExporter)); } else { - return builder.AddProcessor(new BatchExportProcessor( + return builder.AddProcessor(new BatchActivityExportProcessor( otlpExporter, exporterOptions.BatchExportProcessorOptions.MaxQueueSize, exporterOptions.BatchExportProcessorOptions.ScheduledDelayMilliseconds, diff --git a/src/OpenTelemetry.Exporter.Zipkin/ZipkinExporterHelperExtensions.cs b/src/OpenTelemetry.Exporter.Zipkin/ZipkinExporterHelperExtensions.cs index 251845a0e..318a8ead2 100644 --- a/src/OpenTelemetry.Exporter.Zipkin/ZipkinExporterHelperExtensions.cs +++ b/src/OpenTelemetry.Exporter.Zipkin/ZipkinExporterHelperExtensions.cs @@ -45,11 +45,11 @@ namespace OpenTelemetry.Trace if (exporterOptions.ExportProcessorType == ExportProcessorType.Simple) { - return builder.AddProcessor(new SimpleExportProcessor(zipkinExporter)); + return builder.AddProcessor(new SimpleActivityExportProcessor(zipkinExporter)); } else { - return builder.AddProcessor(new BatchExportProcessor( + return builder.AddProcessor(new BatchActivityExportProcessor( zipkinExporter, exporterOptions.BatchExportProcessorOptions.MaxQueueSize, exporterOptions.BatchExportProcessorOptions.ScheduledDelayMilliseconds, diff --git a/src/OpenTelemetry/.publicApi/net452/PublicAPI.Unshipped.txt b/src/OpenTelemetry/.publicApi/net452/PublicAPI.Unshipped.txt index 8baca87e3..2d10b341f 100644 --- a/src/OpenTelemetry/.publicApi/net452/PublicAPI.Unshipped.txt +++ b/src/OpenTelemetry/.publicApi/net452/PublicAPI.Unshipped.txt @@ -20,6 +20,8 @@ OpenTelemetry.Batch.Enumerator.Enumerator() -> void OpenTelemetry.Batch.Enumerator.MoveNext() -> bool OpenTelemetry.Batch.Enumerator.Reset() -> void OpenTelemetry.Batch.GetEnumerator() -> OpenTelemetry.Batch.Enumerator +OpenTelemetry.BatchActivityExportProcessor +OpenTelemetry.BatchActivityExportProcessor.BatchActivityExportProcessor(OpenTelemetry.BaseExporter exporter, int maxQueueSize = 2048, int scheduledDelayMilliseconds = 5000, int exporterTimeoutMilliseconds = 30000, int maxExportBatchSize = 512) -> void OpenTelemetry.BatchExportProcessor OpenTelemetry.BatchExportProcessor.BatchExportProcessor(OpenTelemetry.BaseExporter exporter, int maxQueueSize = 2048, int scheduledDelayMilliseconds = 5000, int exporterTimeoutMilliseconds = 30000, int maxExportBatchSize = 512) -> void OpenTelemetry.BatchExportProcessorOptions @@ -130,6 +132,8 @@ OpenTelemetry.Resources.ResourceBuilder.Build() -> OpenTelemetry.Resources.Resou OpenTelemetry.Resources.ResourceBuilder.Clear() -> OpenTelemetry.Resources.ResourceBuilder OpenTelemetry.Resources.ResourceBuilderExtensions OpenTelemetry.Sdk +OpenTelemetry.SimpleActivityExportProcessor +OpenTelemetry.SimpleActivityExportProcessor.SimpleActivityExportProcessor(OpenTelemetry.BaseExporter exporter) -> void OpenTelemetry.SimpleExportProcessor OpenTelemetry.SimpleExportProcessor.SimpleExportProcessor(OpenTelemetry.BaseExporter exporter) -> void OpenTelemetry.SuppressInstrumentationScope @@ -179,7 +183,9 @@ abstract OpenTelemetry.Metrics.Export.MetricProcessor.FinishCollectionCycle(out abstract OpenTelemetry.Metrics.Export.MetricProcessor.Process(OpenTelemetry.Metrics.Export.Metric metric) -> void abstract OpenTelemetry.Trace.Sampler.ShouldSample(in OpenTelemetry.Trace.SamplingParameters samplingParameters) -> OpenTelemetry.Trace.SamplingResult override OpenTelemetry.BaseExportProcessor.Dispose(bool disposing) -> void +override OpenTelemetry.BaseExportProcessor.OnEnd(T data) -> void override OpenTelemetry.BaseExportProcessor.OnShutdown(int timeoutMilliseconds) -> bool +override OpenTelemetry.BatchActivityExportProcessor.OnEnd(System.Diagnostics.Activity data) -> void override OpenTelemetry.BatchExportProcessor.OnExport(T data) -> void override OpenTelemetry.BatchExportProcessor.OnForceFlush(int timeoutMilliseconds) -> bool override OpenTelemetry.BatchExportProcessor.OnShutdown(int timeoutMilliseconds) -> bool @@ -214,6 +220,7 @@ override OpenTelemetry.Metrics.Aggregators.Int64MeasureMinMaxSumCountAggregator. override OpenTelemetry.Metrics.Aggregators.Int64MeasureMinMaxSumCountAggregator.Update(long value) -> void override OpenTelemetry.Metrics.Export.UngroupedBatcher.FinishCollectionCycle(out System.Collections.Generic.IEnumerable metrics) -> void override OpenTelemetry.Metrics.Export.UngroupedBatcher.Process(OpenTelemetry.Metrics.Export.Metric metric) -> void +override OpenTelemetry.SimpleActivityExportProcessor.OnEnd(System.Diagnostics.Activity data) -> void override OpenTelemetry.SimpleExportProcessor.OnExport(T data) -> void override OpenTelemetry.Trace.AlwaysOffSampler.ShouldSample(in OpenTelemetry.Trace.SamplingParameters samplingParameters) -> OpenTelemetry.Trace.SamplingResult override OpenTelemetry.Trace.AlwaysOnSampler.ShouldSample(in OpenTelemetry.Trace.SamplingParameters samplingParameters) -> OpenTelemetry.Trace.SamplingResult @@ -222,7 +229,6 @@ override OpenTelemetry.Trace.SamplingResult.Equals(object obj) -> bool override OpenTelemetry.Trace.SamplingResult.GetHashCode() -> int override OpenTelemetry.Trace.TraceIdRatioBasedSampler.ShouldSample(in OpenTelemetry.Trace.SamplingParameters samplingParameters) -> OpenTelemetry.Trace.SamplingResult abstract OpenTelemetry.BaseExportProcessor.OnExport(T data) -> void -override sealed OpenTelemetry.BaseExportProcessor.OnEnd(T data) -> void override sealed OpenTelemetry.BaseExportProcessor.OnStart(T data) -> void readonly OpenTelemetry.BaseExportProcessor.exporter -> OpenTelemetry.BaseExporter static OpenTelemetry.ProviderExtensions.GetResource(this OpenTelemetry.BaseProvider baseProvider) -> OpenTelemetry.Resources.Resource diff --git a/src/OpenTelemetry/.publicApi/net46/PublicAPI.Unshipped.txt b/src/OpenTelemetry/.publicApi/net46/PublicAPI.Unshipped.txt index 50b25ab3e..1f4e28de1 100644 --- a/src/OpenTelemetry/.publicApi/net46/PublicAPI.Unshipped.txt +++ b/src/OpenTelemetry/.publicApi/net46/PublicAPI.Unshipped.txt @@ -20,6 +20,8 @@ OpenTelemetry.Batch.Enumerator.Enumerator() -> void OpenTelemetry.Batch.Enumerator.MoveNext() -> bool OpenTelemetry.Batch.Enumerator.Reset() -> void OpenTelemetry.Batch.GetEnumerator() -> OpenTelemetry.Batch.Enumerator +OpenTelemetry.BatchActivityExportProcessor +OpenTelemetry.BatchActivityExportProcessor.BatchActivityExportProcessor(OpenTelemetry.BaseExporter exporter, int maxQueueSize = 2048, int scheduledDelayMilliseconds = 5000, int exporterTimeoutMilliseconds = 30000, int maxExportBatchSize = 512) -> void OpenTelemetry.BatchExportProcessor OpenTelemetry.BatchExportProcessor.BatchExportProcessor(OpenTelemetry.BaseExporter exporter, int maxQueueSize = 2048, int scheduledDelayMilliseconds = 5000, int exporterTimeoutMilliseconds = 30000, int maxExportBatchSize = 512) -> void OpenTelemetry.BatchExportProcessorOptions @@ -130,6 +132,8 @@ OpenTelemetry.Resources.ResourceBuilder.Build() -> OpenTelemetry.Resources.Resou OpenTelemetry.Resources.ResourceBuilder.Clear() -> OpenTelemetry.Resources.ResourceBuilder OpenTelemetry.Resources.ResourceBuilderExtensions OpenTelemetry.Sdk +OpenTelemetry.SimpleActivityExportProcessor +OpenTelemetry.SimpleActivityExportProcessor.SimpleActivityExportProcessor(OpenTelemetry.BaseExporter exporter) -> void OpenTelemetry.SimpleExportProcessor OpenTelemetry.SimpleExportProcessor.SimpleExportProcessor(OpenTelemetry.BaseExporter exporter) -> void OpenTelemetry.SuppressInstrumentationScope @@ -179,7 +183,9 @@ abstract OpenTelemetry.Metrics.Export.MetricProcessor.FinishCollectionCycle(out abstract OpenTelemetry.Metrics.Export.MetricProcessor.Process(OpenTelemetry.Metrics.Export.Metric metric) -> void abstract OpenTelemetry.Trace.Sampler.ShouldSample(in OpenTelemetry.Trace.SamplingParameters samplingParameters) -> OpenTelemetry.Trace.SamplingResult override OpenTelemetry.BaseExportProcessor.Dispose(bool disposing) -> void +override OpenTelemetry.BaseExportProcessor.OnEnd(T data) -> void override OpenTelemetry.BaseExportProcessor.OnShutdown(int timeoutMilliseconds) -> bool +override OpenTelemetry.BatchActivityExportProcessor.OnEnd(System.Diagnostics.Activity data) -> void override OpenTelemetry.BatchExportProcessor.OnExport(T data) -> void override OpenTelemetry.BatchExportProcessor.OnForceFlush(int timeoutMilliseconds) -> bool override OpenTelemetry.BatchExportProcessor.OnShutdown(int timeoutMilliseconds) -> bool @@ -214,6 +220,7 @@ override OpenTelemetry.Metrics.Aggregators.Int64MeasureMinMaxSumCountAggregator. override OpenTelemetry.Metrics.Aggregators.Int64MeasureMinMaxSumCountAggregator.Update(long value) -> void override OpenTelemetry.Metrics.Export.UngroupedBatcher.FinishCollectionCycle(out System.Collections.Generic.IEnumerable metrics) -> void override OpenTelemetry.Metrics.Export.UngroupedBatcher.Process(OpenTelemetry.Metrics.Export.Metric metric) -> void +override OpenTelemetry.SimpleActivityExportProcessor.OnEnd(System.Diagnostics.Activity data) -> void override OpenTelemetry.SimpleExportProcessor.OnExport(T data) -> void override OpenTelemetry.Trace.AlwaysOffSampler.ShouldSample(in OpenTelemetry.Trace.SamplingParameters samplingParameters) -> OpenTelemetry.Trace.SamplingResult override OpenTelemetry.Trace.AlwaysOnSampler.ShouldSample(in OpenTelemetry.Trace.SamplingParameters samplingParameters) -> OpenTelemetry.Trace.SamplingResult @@ -222,7 +229,6 @@ override OpenTelemetry.Trace.SamplingResult.Equals(object obj) -> bool override OpenTelemetry.Trace.SamplingResult.GetHashCode() -> int override OpenTelemetry.Trace.TraceIdRatioBasedSampler.ShouldSample(in OpenTelemetry.Trace.SamplingParameters samplingParameters) -> OpenTelemetry.Trace.SamplingResult abstract OpenTelemetry.BaseExportProcessor.OnExport(T data) -> void -override sealed OpenTelemetry.BaseExportProcessor.OnEnd(T data) -> void override sealed OpenTelemetry.BaseExportProcessor.OnStart(T data) -> void readonly OpenTelemetry.BaseExportProcessor.exporter -> OpenTelemetry.BaseExporter static OpenTelemetry.ProviderExtensions.GetResource(this OpenTelemetry.BaseProvider baseProvider) -> OpenTelemetry.Resources.Resource diff --git a/src/OpenTelemetry/.publicApi/net461/PublicAPI.Unshipped.txt b/src/OpenTelemetry/.publicApi/net461/PublicAPI.Unshipped.txt index 35226ea19..a003b51aa 100644 --- a/src/OpenTelemetry/.publicApi/net461/PublicAPI.Unshipped.txt +++ b/src/OpenTelemetry/.publicApi/net461/PublicAPI.Unshipped.txt @@ -21,6 +21,8 @@ OpenTelemetry.Batch.Enumerator.Enumerator() -> void OpenTelemetry.Batch.Enumerator.MoveNext() -> bool OpenTelemetry.Batch.Enumerator.Reset() -> void OpenTelemetry.Batch.GetEnumerator() -> OpenTelemetry.Batch.Enumerator +OpenTelemetry.BatchActivityExportProcessor +OpenTelemetry.BatchActivityExportProcessor.BatchActivityExportProcessor(OpenTelemetry.BaseExporter exporter, int maxQueueSize = 2048, int scheduledDelayMilliseconds = 5000, int exporterTimeoutMilliseconds = 30000, int maxExportBatchSize = 512) -> void OpenTelemetry.BatchExportProcessor OpenTelemetry.BatchExportProcessor.BatchExportProcessor(OpenTelemetry.BaseExporter exporter, int maxQueueSize = 2048, int scheduledDelayMilliseconds = 5000, int exporterTimeoutMilliseconds = 30000, int maxExportBatchSize = 512) -> void OpenTelemetry.BatchExportProcessorOptions @@ -33,6 +35,8 @@ OpenTelemetry.BatchExportProcessorOptions.MaxQueueSize.get -> int OpenTelemetry.BatchExportProcessorOptions.MaxQueueSize.set -> void OpenTelemetry.BatchExportProcessorOptions.ScheduledDelayMilliseconds.get -> int OpenTelemetry.BatchExportProcessorOptions.ScheduledDelayMilliseconds.set -> void +OpenTelemetry.BatchLogRecordExportProcessor +OpenTelemetry.BatchLogRecordExportProcessor.BatchLogRecordExportProcessor(OpenTelemetry.BaseExporter exporter, int maxQueueSize = 2048, int scheduledDelayMilliseconds = 5000, int exporterTimeoutMilliseconds = 30000, int maxExportBatchSize = 512) -> void OpenTelemetry.CompositeProcessor OpenTelemetry.CompositeProcessor.AddProcessor(OpenTelemetry.BaseProcessor processor) -> OpenTelemetry.CompositeProcessor OpenTelemetry.CompositeProcessor.CompositeProcessor(System.Collections.Generic.IEnumerable> processors) -> void @@ -149,8 +153,12 @@ OpenTelemetry.Resources.ResourceBuilder.Build() -> OpenTelemetry.Resources.Resou OpenTelemetry.Resources.ResourceBuilder.Clear() -> OpenTelemetry.Resources.ResourceBuilder OpenTelemetry.Resources.ResourceBuilderExtensions OpenTelemetry.Sdk +OpenTelemetry.SimpleActivityExportProcessor +OpenTelemetry.SimpleActivityExportProcessor.SimpleActivityExportProcessor(OpenTelemetry.BaseExporter exporter) -> void OpenTelemetry.SimpleExportProcessor OpenTelemetry.SimpleExportProcessor.SimpleExportProcessor(OpenTelemetry.BaseExporter exporter) -> void +OpenTelemetry.SimpleLogRecordExportProcessor +OpenTelemetry.SimpleLogRecordExportProcessor.SimpleLogRecordExportProcessor(OpenTelemetry.BaseExporter exporter) -> void OpenTelemetry.SuppressInstrumentationScope OpenTelemetry.SuppressInstrumentationScope.Dispose() -> void OpenTelemetry.Trace.AlwaysOffSampler @@ -198,7 +206,9 @@ abstract OpenTelemetry.Metrics.Export.MetricProcessor.FinishCollectionCycle(out abstract OpenTelemetry.Metrics.Export.MetricProcessor.Process(OpenTelemetry.Metrics.Export.Metric metric) -> void abstract OpenTelemetry.Trace.Sampler.ShouldSample(in OpenTelemetry.Trace.SamplingParameters samplingParameters) -> OpenTelemetry.Trace.SamplingResult override OpenTelemetry.BaseExportProcessor.Dispose(bool disposing) -> void +override OpenTelemetry.BaseExportProcessor.OnEnd(T data) -> void override OpenTelemetry.BaseExportProcessor.OnShutdown(int timeoutMilliseconds) -> bool +override OpenTelemetry.BatchActivityExportProcessor.OnEnd(System.Diagnostics.Activity data) -> void override OpenTelemetry.BatchExportProcessor.OnExport(T data) -> void override OpenTelemetry.BatchExportProcessor.OnForceFlush(int timeoutMilliseconds) -> bool override OpenTelemetry.BatchExportProcessor.OnShutdown(int timeoutMilliseconds) -> bool @@ -233,6 +243,7 @@ override OpenTelemetry.Metrics.Aggregators.Int64MeasureMinMaxSumCountAggregator. override OpenTelemetry.Metrics.Aggregators.Int64MeasureMinMaxSumCountAggregator.Update(long value) -> void override OpenTelemetry.Metrics.Export.UngroupedBatcher.FinishCollectionCycle(out System.Collections.Generic.IEnumerable metrics) -> void override OpenTelemetry.Metrics.Export.UngroupedBatcher.Process(OpenTelemetry.Metrics.Export.Metric metric) -> void +override OpenTelemetry.SimpleActivityExportProcessor.OnEnd(System.Diagnostics.Activity data) -> void override OpenTelemetry.SimpleExportProcessor.OnExport(T data) -> void override OpenTelemetry.Trace.AlwaysOffSampler.ShouldSample(in OpenTelemetry.Trace.SamplingParameters samplingParameters) -> OpenTelemetry.Trace.SamplingResult override OpenTelemetry.Trace.AlwaysOnSampler.ShouldSample(in OpenTelemetry.Trace.SamplingParameters samplingParameters) -> OpenTelemetry.Trace.SamplingResult @@ -241,7 +252,6 @@ override OpenTelemetry.Trace.SamplingResult.Equals(object obj) -> bool override OpenTelemetry.Trace.SamplingResult.GetHashCode() -> int override OpenTelemetry.Trace.TraceIdRatioBasedSampler.ShouldSample(in OpenTelemetry.Trace.SamplingParameters samplingParameters) -> OpenTelemetry.Trace.SamplingResult abstract OpenTelemetry.BaseExportProcessor.OnExport(T data) -> void -override sealed OpenTelemetry.BaseExportProcessor.OnEnd(T data) -> void override sealed OpenTelemetry.BaseExportProcessor.OnStart(T data) -> void readonly OpenTelemetry.BaseExportProcessor.exporter -> OpenTelemetry.BaseExporter static Microsoft.Extensions.Logging.OpenTelemetryLoggingExtensions.AddOpenTelemetry(this Microsoft.Extensions.Logging.ILoggingBuilder builder, System.Action configure = null) -> Microsoft.Extensions.Logging.ILoggingBuilder diff --git a/src/OpenTelemetry/.publicApi/netstandard2.0/PublicAPI.Unshipped.txt b/src/OpenTelemetry/.publicApi/netstandard2.0/PublicAPI.Unshipped.txt index 35226ea19..a003b51aa 100644 --- a/src/OpenTelemetry/.publicApi/netstandard2.0/PublicAPI.Unshipped.txt +++ b/src/OpenTelemetry/.publicApi/netstandard2.0/PublicAPI.Unshipped.txt @@ -21,6 +21,8 @@ OpenTelemetry.Batch.Enumerator.Enumerator() -> void OpenTelemetry.Batch.Enumerator.MoveNext() -> bool OpenTelemetry.Batch.Enumerator.Reset() -> void OpenTelemetry.Batch.GetEnumerator() -> OpenTelemetry.Batch.Enumerator +OpenTelemetry.BatchActivityExportProcessor +OpenTelemetry.BatchActivityExportProcessor.BatchActivityExportProcessor(OpenTelemetry.BaseExporter exporter, int maxQueueSize = 2048, int scheduledDelayMilliseconds = 5000, int exporterTimeoutMilliseconds = 30000, int maxExportBatchSize = 512) -> void OpenTelemetry.BatchExportProcessor OpenTelemetry.BatchExportProcessor.BatchExportProcessor(OpenTelemetry.BaseExporter exporter, int maxQueueSize = 2048, int scheduledDelayMilliseconds = 5000, int exporterTimeoutMilliseconds = 30000, int maxExportBatchSize = 512) -> void OpenTelemetry.BatchExportProcessorOptions @@ -33,6 +35,8 @@ OpenTelemetry.BatchExportProcessorOptions.MaxQueueSize.get -> int OpenTelemetry.BatchExportProcessorOptions.MaxQueueSize.set -> void OpenTelemetry.BatchExportProcessorOptions.ScheduledDelayMilliseconds.get -> int OpenTelemetry.BatchExportProcessorOptions.ScheduledDelayMilliseconds.set -> void +OpenTelemetry.BatchLogRecordExportProcessor +OpenTelemetry.BatchLogRecordExportProcessor.BatchLogRecordExportProcessor(OpenTelemetry.BaseExporter exporter, int maxQueueSize = 2048, int scheduledDelayMilliseconds = 5000, int exporterTimeoutMilliseconds = 30000, int maxExportBatchSize = 512) -> void OpenTelemetry.CompositeProcessor OpenTelemetry.CompositeProcessor.AddProcessor(OpenTelemetry.BaseProcessor processor) -> OpenTelemetry.CompositeProcessor OpenTelemetry.CompositeProcessor.CompositeProcessor(System.Collections.Generic.IEnumerable> processors) -> void @@ -149,8 +153,12 @@ OpenTelemetry.Resources.ResourceBuilder.Build() -> OpenTelemetry.Resources.Resou OpenTelemetry.Resources.ResourceBuilder.Clear() -> OpenTelemetry.Resources.ResourceBuilder OpenTelemetry.Resources.ResourceBuilderExtensions OpenTelemetry.Sdk +OpenTelemetry.SimpleActivityExportProcessor +OpenTelemetry.SimpleActivityExportProcessor.SimpleActivityExportProcessor(OpenTelemetry.BaseExporter exporter) -> void OpenTelemetry.SimpleExportProcessor OpenTelemetry.SimpleExportProcessor.SimpleExportProcessor(OpenTelemetry.BaseExporter exporter) -> void +OpenTelemetry.SimpleLogRecordExportProcessor +OpenTelemetry.SimpleLogRecordExportProcessor.SimpleLogRecordExportProcessor(OpenTelemetry.BaseExporter exporter) -> void OpenTelemetry.SuppressInstrumentationScope OpenTelemetry.SuppressInstrumentationScope.Dispose() -> void OpenTelemetry.Trace.AlwaysOffSampler @@ -198,7 +206,9 @@ abstract OpenTelemetry.Metrics.Export.MetricProcessor.FinishCollectionCycle(out abstract OpenTelemetry.Metrics.Export.MetricProcessor.Process(OpenTelemetry.Metrics.Export.Metric metric) -> void abstract OpenTelemetry.Trace.Sampler.ShouldSample(in OpenTelemetry.Trace.SamplingParameters samplingParameters) -> OpenTelemetry.Trace.SamplingResult override OpenTelemetry.BaseExportProcessor.Dispose(bool disposing) -> void +override OpenTelemetry.BaseExportProcessor.OnEnd(T data) -> void override OpenTelemetry.BaseExportProcessor.OnShutdown(int timeoutMilliseconds) -> bool +override OpenTelemetry.BatchActivityExportProcessor.OnEnd(System.Diagnostics.Activity data) -> void override OpenTelemetry.BatchExportProcessor.OnExport(T data) -> void override OpenTelemetry.BatchExportProcessor.OnForceFlush(int timeoutMilliseconds) -> bool override OpenTelemetry.BatchExportProcessor.OnShutdown(int timeoutMilliseconds) -> bool @@ -233,6 +243,7 @@ override OpenTelemetry.Metrics.Aggregators.Int64MeasureMinMaxSumCountAggregator. override OpenTelemetry.Metrics.Aggregators.Int64MeasureMinMaxSumCountAggregator.Update(long value) -> void override OpenTelemetry.Metrics.Export.UngroupedBatcher.FinishCollectionCycle(out System.Collections.Generic.IEnumerable metrics) -> void override OpenTelemetry.Metrics.Export.UngroupedBatcher.Process(OpenTelemetry.Metrics.Export.Metric metric) -> void +override OpenTelemetry.SimpleActivityExportProcessor.OnEnd(System.Diagnostics.Activity data) -> void override OpenTelemetry.SimpleExportProcessor.OnExport(T data) -> void override OpenTelemetry.Trace.AlwaysOffSampler.ShouldSample(in OpenTelemetry.Trace.SamplingParameters samplingParameters) -> OpenTelemetry.Trace.SamplingResult override OpenTelemetry.Trace.AlwaysOnSampler.ShouldSample(in OpenTelemetry.Trace.SamplingParameters samplingParameters) -> OpenTelemetry.Trace.SamplingResult @@ -241,7 +252,6 @@ override OpenTelemetry.Trace.SamplingResult.Equals(object obj) -> bool override OpenTelemetry.Trace.SamplingResult.GetHashCode() -> int override OpenTelemetry.Trace.TraceIdRatioBasedSampler.ShouldSample(in OpenTelemetry.Trace.SamplingParameters samplingParameters) -> OpenTelemetry.Trace.SamplingResult abstract OpenTelemetry.BaseExportProcessor.OnExport(T data) -> void -override sealed OpenTelemetry.BaseExportProcessor.OnEnd(T data) -> void override sealed OpenTelemetry.BaseExportProcessor.OnStart(T data) -> void readonly OpenTelemetry.BaseExportProcessor.exporter -> OpenTelemetry.BaseExporter static Microsoft.Extensions.Logging.OpenTelemetryLoggingExtensions.AddOpenTelemetry(this Microsoft.Extensions.Logging.ILoggingBuilder builder, System.Action configure = null) -> Microsoft.Extensions.Logging.ILoggingBuilder diff --git a/src/OpenTelemetry/BaseExportProcessor.cs b/src/OpenTelemetry/BaseExportProcessor.cs index 13f841917..abdc00416 100644 --- a/src/OpenTelemetry/BaseExportProcessor.cs +++ b/src/OpenTelemetry/BaseExportProcessor.cs @@ -34,7 +34,7 @@ namespace OpenTelemetry /// Initializes a new instance of the class. /// /// Exporter instance. - public BaseExportProcessor(BaseExporter exporter) + protected BaseExportProcessor(BaseExporter exporter) { this.exporter = exporter ?? throw new ArgumentNullException(nameof(exporter)); } @@ -44,19 +44,11 @@ namespace OpenTelemetry { } - /// - public sealed override void OnEnd(T data) + public override void OnEnd(T data) { - if (data is Activity activity && activity.ActivityTraceFlags == ActivityTraceFlags.None) - { - return; - } - this.OnExport(data); } - public abstract void OnExport(T data); - internal override void SetParentProvider(BaseProvider parentProvider) { base.SetParentProvider(parentProvider); @@ -64,6 +56,8 @@ namespace OpenTelemetry this.exporter.ParentProvider = parentProvider; } + protected abstract void OnExport(T data); + /// protected override bool OnShutdown(int timeoutMilliseconds) { diff --git a/src/OpenTelemetry/BatchActivityExportProcessor.cs b/src/OpenTelemetry/BatchActivityExportProcessor.cs new file mode 100644 index 000000000..be62c8d01 --- /dev/null +++ b/src/OpenTelemetry/BatchActivityExportProcessor.cs @@ -0,0 +1,49 @@ +// +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +using System.Diagnostics; + +namespace OpenTelemetry +{ + public class BatchActivityExportProcessor : BatchExportProcessor + { + public BatchActivityExportProcessor( + BaseExporter exporter, + int maxQueueSize = DefaultMaxQueueSize, + int scheduledDelayMilliseconds = DefaultScheduledDelayMilliseconds, + int exporterTimeoutMilliseconds = DefaultExporterTimeoutMilliseconds, + int maxExportBatchSize = DefaultMaxExportBatchSize) + : base( + exporter, + maxQueueSize, + scheduledDelayMilliseconds, + exporterTimeoutMilliseconds, + maxExportBatchSize) + { + } + + /// + public override void OnEnd(Activity data) + { + if (!data.Recorded) + { + return; + } + + this.OnExport(data); + } + } +} diff --git a/src/OpenTelemetry/BatchExportProcessor.cs b/src/OpenTelemetry/BatchExportProcessor.cs index b6375b9a3..a41ee5c64 100644 --- a/src/OpenTelemetry/BatchExportProcessor.cs +++ b/src/OpenTelemetry/BatchExportProcessor.cs @@ -25,7 +25,7 @@ namespace OpenTelemetry /// Implements processor that batches telemetry objects before calling exporter. /// /// The type of telemetry object to be exported. - public class BatchExportProcessor : BaseExportProcessor + public abstract class BatchExportProcessor : BaseExportProcessor where T : class { internal const int DefaultMaxQueueSize = 2048; @@ -52,7 +52,7 @@ namespace OpenTelemetry /// The delay interval in milliseconds between two consecutive exports. The default value is 5000. /// How long the export can run before it is cancelled. The default value is 30000. /// The maximum batch size of every export. It must be smaller or equal to maxQueueSize. The default value is 512. - public BatchExportProcessor( + protected BatchExportProcessor( BaseExporter exporter, int maxQueueSize = DefaultMaxQueueSize, int scheduledDelayMilliseconds = DefaultScheduledDelayMilliseconds, @@ -108,7 +108,7 @@ namespace OpenTelemetry internal long ProcessedCount => this.circularBuffer.RemovedCount; /// - public override void OnExport(T data) + protected override void OnExport(T data) { if (this.circularBuffer.TryAdd(data, maxSpinCount: 50000)) { diff --git a/src/OpenTelemetry/BatchLogRecordExportProcessor.cs b/src/OpenTelemetry/BatchLogRecordExportProcessor.cs new file mode 100644 index 000000000..96cc35bc8 --- /dev/null +++ b/src/OpenTelemetry/BatchLogRecordExportProcessor.cs @@ -0,0 +1,40 @@ +// +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if NET461 || NETSTANDARD2_0 +using OpenTelemetry.Logs; + +namespace OpenTelemetry +{ + public class BatchLogRecordExportProcessor : BatchExportProcessor + { + public BatchLogRecordExportProcessor( + BaseExporter exporter, + int maxQueueSize = DefaultMaxQueueSize, + int scheduledDelayMilliseconds = DefaultScheduledDelayMilliseconds, + int exporterTimeoutMilliseconds = DefaultExporterTimeoutMilliseconds, + int maxExportBatchSize = DefaultMaxExportBatchSize) + : base( + exporter, + maxQueueSize, + scheduledDelayMilliseconds, + exporterTimeoutMilliseconds, + maxExportBatchSize) + { + } + } +} +#endif diff --git a/src/OpenTelemetry/CHANGELOG.md b/src/OpenTelemetry/CHANGELOG.md index 5bc3778c4..0def4ff59 100644 --- a/src/OpenTelemetry/CHANGELOG.md +++ b/src/OpenTelemetry/CHANGELOG.md @@ -13,6 +13,12 @@ [#1501](https://github.com/open-telemetry/opentelemetry-dotnet/issues/1501) for more information. ([#1611](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1611)) +* Modified SimpleExportProcessor and BatchExportProcessor to abstract classes; + Added SimpleActivityExportProcessor, SimpleLogRecordExportProcessor, + BatchActivityExportProcessor, BatchLogRecordExportProcessor; Added the check + for Activity.Recorded in SimpleActivityExportProcessor and + BatchActivityExportProcessor + ([#1622](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1622)) ## 1.0.0-rc1.1 diff --git a/src/OpenTelemetry/SimpleActivityExportProcessor.cs b/src/OpenTelemetry/SimpleActivityExportProcessor.cs new file mode 100644 index 000000000..ac9a4a20c --- /dev/null +++ b/src/OpenTelemetry/SimpleActivityExportProcessor.cs @@ -0,0 +1,39 @@ +// +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +using System.Diagnostics; + +namespace OpenTelemetry +{ + public class SimpleActivityExportProcessor : SimpleExportProcessor + { + public SimpleActivityExportProcessor(BaseExporter exporter) + : base(exporter) + { + } + + /// + public override void OnEnd(Activity data) + { + if (!data.Recorded) + { + return; + } + + this.OnExport(data); + } + } +} diff --git a/src/OpenTelemetry/SimpleExportProcessor.cs b/src/OpenTelemetry/SimpleExportProcessor.cs index 4be40ff6d..23c07179a 100644 --- a/src/OpenTelemetry/SimpleExportProcessor.cs +++ b/src/OpenTelemetry/SimpleExportProcessor.cs @@ -23,7 +23,7 @@ namespace OpenTelemetry /// Implements processor that exports telemetry data at each OnEnd call. /// /// The type of telemetry object to be exported. - public class SimpleExportProcessor : BaseExportProcessor + public abstract class SimpleExportProcessor : BaseExportProcessor where T : class { private readonly object syncObject = new object(); @@ -32,13 +32,13 @@ namespace OpenTelemetry /// Initializes a new instance of the class. /// /// Exporter instance. - public SimpleExportProcessor(BaseExporter exporter) + protected SimpleExportProcessor(BaseExporter exporter) : base(exporter) { } /// - public override void OnExport(T data) + protected override void OnExport(T data) { lock (this.syncObject) { diff --git a/src/OpenTelemetry/SimpleLogRecordExportProcessor.cs b/src/OpenTelemetry/SimpleLogRecordExportProcessor.cs new file mode 100644 index 000000000..19ebc903f --- /dev/null +++ b/src/OpenTelemetry/SimpleLogRecordExportProcessor.cs @@ -0,0 +1,30 @@ +// +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#if NET461 || NETSTANDARD2_0 +using OpenTelemetry.Logs; + +namespace OpenTelemetry +{ + public class SimpleLogRecordExportProcessor : SimpleExportProcessor + { + public SimpleLogRecordExportProcessor(BaseExporter exporter) + : base(exporter) + { + } + } +} +#endif diff --git a/test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests/OtlpExporterTest.cs b/test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests/OtlpExporterTest.cs index 8291b3223..6dd9d871e 100644 --- a/test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests/OtlpExporterTest.cs +++ b/test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests/OtlpExporterTest.cs @@ -96,7 +96,7 @@ namespace OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests using var openTelemetrySdk = builder.Build(); - var processor = new BatchExportProcessor(new TestExporter(RunTest)); + var processor = new BatchActivityExportProcessor(new TestExporter(RunTest)); const int numOfSpans = 10; bool isEven; for (var i = 0; i < numOfSpans; i++) diff --git a/test/OpenTelemetry.Exporter.Zipkin.Tests/ZipkinExporterTests.cs b/test/OpenTelemetry.Exporter.Zipkin.Tests/ZipkinExporterTests.cs index 10c2e248e..6c620cb4c 100644 --- a/test/OpenTelemetry.Exporter.Zipkin.Tests/ZipkinExporterTests.cs +++ b/test/OpenTelemetry.Exporter.Zipkin.Tests/ZipkinExporterTests.cs @@ -109,7 +109,7 @@ namespace OpenTelemetry.Exporter.Zipkin.Tests Endpoint = new Uri($"http://{this.testServerHost}:{this.testServerPort}/api/v2/spans?requestId={requestId}"), }; var zipkinExporter = new ZipkinExporter(exporterOptions); - var exportActivityProcessor = new BatchExportProcessor(zipkinExporter); + var exportActivityProcessor = new BatchActivityExportProcessor(zipkinExporter); var openTelemetrySdk = Sdk.CreateTracerProviderBuilder() .AddSource(ActivitySourceName) @@ -196,7 +196,7 @@ namespace OpenTelemetry.Exporter.Zipkin.Tests activity.SetTag(ZipkinActivityConversionExtensions.ZipkinErrorFlagTagName, "This should be removed."); } - var processor = new SimpleExportProcessor(exporter); + var processor = new SimpleActivityExportProcessor(exporter); processor.OnEnd(activity); diff --git a/test/OpenTelemetry.Tests/Logs/LogRecordTest.cs b/test/OpenTelemetry.Tests/Logs/LogRecordTest.cs index 2702c36e3..412b00224 100644 --- a/test/OpenTelemetry.Tests/Logs/LogRecordTest.cs +++ b/test/OpenTelemetry.Tests/Logs/LogRecordTest.cs @@ -45,7 +45,7 @@ namespace OpenTelemetry.Tests.Logs public LogRecordTest() { this.exporter = new InMemoryExporter(this.exportedItems); - this.processor = new SimpleExportProcessor(this.exporter); + this.processor = new SimpleLogRecordExportProcessor(this.exporter); #if NETCOREAPP2_1 var serviceCollection = new ServiceCollection().AddLogging(builder => #else diff --git a/test/OpenTelemetry.Tests/Shared/TestExportProcessor.cs b/test/OpenTelemetry.Tests/Shared/TestActivityExportProcessor.cs similarity index 67% rename from test/OpenTelemetry.Tests/Shared/TestExportProcessor.cs rename to test/OpenTelemetry.Tests/Shared/TestActivityExportProcessor.cs index a56d273a3..64894b6cf 100644 --- a/test/OpenTelemetry.Tests/Shared/TestExportProcessor.cs +++ b/test/OpenTelemetry.Tests/Shared/TestActivityExportProcessor.cs @@ -1,4 +1,4 @@ -// +// // Copyright The OpenTelemetry Authors // // Licensed under the Apache License, Version 2.0 (the "License"); @@ -15,20 +15,20 @@ // using System.Collections.Generic; +using System.Diagnostics; namespace OpenTelemetry.Tests { - internal class TestExportProcessor : BaseExportProcessor - where T : class + internal class TestActivityExportProcessor : SimpleActivityExportProcessor { - public List ExportedItems = new List(); + public List ExportedItems = new List(); - public TestExportProcessor(BaseExporter exporter) + public TestActivityExportProcessor(BaseExporter exporter) : base(exporter) { } - public override void OnExport(T data) + protected override void OnExport(Activity data) { this.ExportedItems.Add(data); } diff --git a/test/OpenTelemetry.Tests/Trace/BatchExportActivityProcessorTest.cs b/test/OpenTelemetry.Tests/Trace/BatchExportActivityProcessorTest.cs index ae1d67d6e..120def16b 100644 --- a/test/OpenTelemetry.Tests/Trace/BatchExportActivityProcessorTest.cs +++ b/test/OpenTelemetry.Tests/Trace/BatchExportActivityProcessorTest.cs @@ -28,18 +28,18 @@ namespace OpenTelemetry.Trace.Tests [Fact] public void CheckNullExporter() { - Assert.Throws(() => new BatchExportProcessor(null)); + Assert.Throws(() => new BatchActivityExportProcessor(null)); } [Fact] public void CheckConstructorWithInvalidValues() { var exportedItems = new List(); - Assert.Throws(() => new BatchExportProcessor(new InMemoryExporter(exportedItems), maxQueueSize: 0)); - Assert.Throws(() => new BatchExportProcessor(new InMemoryExporter(exportedItems), maxExportBatchSize: 0)); - Assert.Throws(() => new BatchExportProcessor(new InMemoryExporter(exportedItems), maxQueueSize: 1, maxExportBatchSize: 2049)); - Assert.Throws(() => new BatchExportProcessor(new InMemoryExporter(exportedItems), scheduledDelayMilliseconds: 0)); - Assert.Throws(() => new BatchExportProcessor(new InMemoryExporter(exportedItems), exporterTimeoutMilliseconds: -1)); + Assert.Throws(() => new BatchActivityExportProcessor(new InMemoryExporter(exportedItems), maxQueueSize: 0)); + Assert.Throws(() => new BatchActivityExportProcessor(new InMemoryExporter(exportedItems), maxExportBatchSize: 0)); + Assert.Throws(() => new BatchActivityExportProcessor(new InMemoryExporter(exportedItems), maxQueueSize: 1, maxExportBatchSize: 2049)); + Assert.Throws(() => new BatchActivityExportProcessor(new InMemoryExporter(exportedItems), scheduledDelayMilliseconds: 0)); + Assert.Throws(() => new BatchActivityExportProcessor(new InMemoryExporter(exportedItems), exporterTimeoutMilliseconds: -1)); } [Fact] @@ -47,7 +47,7 @@ namespace OpenTelemetry.Trace.Tests { var exportedItems = new List(); using var exporter = new InMemoryExporter(exportedItems); - using var processor = new BatchExportProcessor( + using var processor = new BatchActivityExportProcessor( exporter, maxQueueSize: 1, maxExportBatchSize: 1, @@ -75,7 +75,7 @@ namespace OpenTelemetry.Trace.Tests { var exportedItems = new List(); using var exporter = new InMemoryExporter(exportedItems); - using var processor = new BatchExportProcessor(exporter, maxQueueSize: 2, maxExportBatchSize: 1); + using var processor = new BatchActivityExportProcessor(exporter, maxQueueSize: 2, maxExportBatchSize: 1); Assert.Throws(() => processor.ForceFlush(-2)); } @@ -87,7 +87,7 @@ namespace OpenTelemetry.Trace.Tests { var exportedItems = new List(); using var exporter = new InMemoryExporter(exportedItems); - using var processor = new BatchExportProcessor( + using var processor = new BatchActivityExportProcessor( exporter, maxQueueSize: 3, maxExportBatchSize: 3, @@ -132,7 +132,7 @@ namespace OpenTelemetry.Trace.Tests { var exportedItems = new List(); using var exporter = new InMemoryExporter(exportedItems); - using var processor = new BatchExportProcessor( + using var processor = new BatchActivityExportProcessor( exporter, maxQueueSize: 3, maxExportBatchSize: 3, @@ -162,7 +162,7 @@ namespace OpenTelemetry.Trace.Tests { var exportedItems = new List(); using var exporter = new InMemoryExporter(exportedItems); - using var processor = new BatchExportProcessor( + using var processor = new BatchActivityExportProcessor( exporter, maxQueueSize: 1, maxExportBatchSize: 1); diff --git a/test/OpenTelemetry.Tests/Trace/ExportProcessorTest.cs b/test/OpenTelemetry.Tests/Trace/ExportProcessorTest.cs index 7ba2609c0..f22e5f4ed 100644 --- a/test/OpenTelemetry.Tests/Trace/ExportProcessorTest.cs +++ b/test/OpenTelemetry.Tests/Trace/ExportProcessorTest.cs @@ -31,7 +31,7 @@ namespace OpenTelemetry.Tests.Trace public void ExportProcessorIgnoresActivityWhenDropped() { var sampler = new AlwaysOffSampler(); - var processor = new TestExportProcessor(new ConsoleActivityExporter(null)); + var processor = new TestActivityExportProcessor(new ConsoleActivityExporter(null)); using var activitySource = new ActivitySource(ActivitySourceName); using var sdk = Sdk.CreateTracerProviderBuilder() .AddSource(ActivitySourceName) @@ -52,7 +52,7 @@ namespace OpenTelemetry.Tests.Trace public void ExportProcessorIgnoresActivityMarkedAsRecordOnly() { var sampler = new RecordOnlySampler(); - var processor = new TestExportProcessor(new ConsoleActivityExporter(null)); + var processor = new TestActivityExportProcessor(new ConsoleActivityExporter(null)); using var activitySource = new ActivitySource(ActivitySourceName); using var sdk = Sdk.CreateTracerProviderBuilder() .AddSource(ActivitySourceName) @@ -73,7 +73,7 @@ namespace OpenTelemetry.Tests.Trace public void ExportProcessorExportsActivityMarkedAsRecordAndSample() { var sampler = new AlwaysOnSampler(); - var processor = new TestExportProcessor(new ConsoleActivityExporter(null)); + var processor = new TestActivityExportProcessor(new ConsoleActivityExporter(null)); using var activitySource = new ActivitySource(ActivitySourceName); using var sdk = Sdk.CreateTracerProviderBuilder() .AddSource(ActivitySourceName) diff --git a/test/OpenTelemetry.Tests/Trace/SimpleExportActivityProcessorTest.cs b/test/OpenTelemetry.Tests/Trace/SimpleExportActivityProcessorTest.cs index 88606bf6b..d30ff6ed0 100644 --- a/test/OpenTelemetry.Tests/Trace/SimpleExportActivityProcessorTest.cs +++ b/test/OpenTelemetry.Tests/Trace/SimpleExportActivityProcessorTest.cs @@ -28,7 +28,7 @@ namespace OpenTelemetry.Trace.Tests [Fact] public void CheckNullExporter() { - Assert.Throws(() => new SimpleExportProcessor(null)); + Assert.Throws(() => new SimpleActivityExportProcessor(null)); } [Fact] @@ -36,7 +36,7 @@ namespace OpenTelemetry.Trace.Tests { var exportedItems = new List(); using var exporter = new InMemoryExporter(exportedItems); - using var processor = new SimpleExportProcessor(exporter); + using var processor = new SimpleActivityExportProcessor(exporter); var activity1 = new Activity("start1"); activity1.ActivityTraceFlags = ActivityTraceFlags.Recorded; @@ -59,7 +59,7 @@ namespace OpenTelemetry.Trace.Tests { var exportedItems = new List(); using var exporter = new InMemoryExporter(exportedItems); - using var processor = new SimpleExportProcessor(exporter); + using var processor = new SimpleActivityExportProcessor(exporter); var activity1 = new Activity("start1"); activity1.ActivityTraceFlags = ActivityTraceFlags.Recorded; @@ -86,7 +86,7 @@ namespace OpenTelemetry.Trace.Tests { var exportedItems = new List(); using var exporter = new InMemoryExporter(exportedItems); - using var processor = new SimpleExportProcessor(exporter); + using var processor = new SimpleActivityExportProcessor(exporter); var activity = new Activity("start"); activity.ActivityTraceFlags = ActivityTraceFlags.Recorded; @@ -105,7 +105,7 @@ namespace OpenTelemetry.Trace.Tests { var exportedItems = new List(); using var exporter = new InMemoryExporter(exportedItems); - using var processor = new SimpleExportProcessor(exporter); + using var processor = new SimpleActivityExportProcessor(exporter); var activity = new Activity("start"); activity.ActivityTraceFlags = ActivityTraceFlags.None;