Jaeger exporter options (#1584)

* Changes to exporter to include option

* Update to APIs

* Updating changelog

* Fix markdownlint, blank line missing
This commit is contained in:
Austin Tan 2020-11-18 15:07:00 -08:00 committed by GitHub
parent b710c314ae
commit dc3752f55d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 39 additions and 2 deletions

View File

@ -3,6 +3,10 @@ OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.AgentHost.get -> string
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.AgentHost.set -> void
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.AgentPort.get -> int
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.AgentPort.set -> void
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.BatchExportProcessorOptions.get -> OpenTelemetry.BatchExportProcessorOptions<System.Diagnostics.Activity>
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.BatchExportProcessorOptions.set -> void
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.ExportProcessorType.get -> OpenTelemetry.ExportProcessorType
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.ExportProcessorType.set -> void
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.JaegerExporterOptions() -> void
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.MaxPayloadSizeInBytes.get -> int?
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.MaxPayloadSizeInBytes.set -> void

View File

@ -3,6 +3,10 @@ OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.AgentHost.get -> string
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.AgentHost.set -> void
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.AgentPort.get -> int
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.AgentPort.set -> void
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.BatchExportProcessorOptions.get -> OpenTelemetry.BatchExportProcessorOptions<System.Diagnostics.Activity>
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.BatchExportProcessorOptions.set -> void
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.ExportProcessorType.get -> OpenTelemetry.ExportProcessorType
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.ExportProcessorType.set -> void
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.JaegerExporterOptions() -> void
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.MaxPayloadSizeInBytes.get -> int?
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.MaxPayloadSizeInBytes.set -> void

View File

@ -3,6 +3,10 @@ OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.AgentHost.get -> string
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.AgentHost.set -> void
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.AgentPort.get -> int
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.AgentPort.set -> void
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.BatchExportProcessorOptions.get -> OpenTelemetry.BatchExportProcessorOptions<System.Diagnostics.Activity>
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.BatchExportProcessorOptions.set -> void
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.ExportProcessorType.get -> OpenTelemetry.ExportProcessorType
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.ExportProcessorType.set -> void
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.JaegerExporterOptions() -> void
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.MaxPayloadSizeInBytes.get -> int?
OpenTelemetry.Exporter.Jaeger.JaegerExporterOptions.MaxPayloadSizeInBytes.set -> void

View File

@ -2,6 +2,9 @@
## Unreleased
* In `JaegerExporterOptions`: Exporter options now include a switch for
Batch vs Simple exporter, and settings for batch exporting properties.
* Jaeger will now set the `error` tag when `otel.status_code` is set to `Error`.
([#1579](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1579))

View File

@ -43,8 +43,19 @@ namespace OpenTelemetry.Trace
configure?.Invoke(exporterOptions);
var jaegerExporter = new JaegerExporter(exporterOptions);
// TODO: Pick Simple vs Batching based on JaegerExporterOptions
return builder.AddProcessor(new BatchExportProcessor<Activity>(jaegerExporter));
if (exporterOptions.ExportProcessorType == ExportProcessorType.Simple)
{
return builder.AddProcessor(new SimpleExportProcessor<Activity>(jaegerExporter));
}
else
{
return builder.AddProcessor(new BatchExportProcessor<Activity>(
jaegerExporter,
exporterOptions.BatchExportProcessorOptions.MaxQueueSize,
exporterOptions.BatchExportProcessorOptions.ScheduledDelayMilliseconds,
exporterOptions.BatchExportProcessorOptions.ExporterTimeoutMilliseconds,
exporterOptions.BatchExportProcessorOptions.MaxExportBatchSize));
}
}
}
}

View File

@ -15,6 +15,7 @@
// </copyright>
using System.Collections.Generic;
using System.Diagnostics;
namespace OpenTelemetry.Exporter.Jaeger
{
@ -41,5 +42,15 @@ namespace OpenTelemetry.Exporter.Jaeger
/// Gets or sets the tags that should be sent with telemetry.
/// </summary>
public IEnumerable<KeyValuePair<string, object>> ProcessTags { get; set; }
/// <summary>
/// Gets or sets the export processor type to be used with Jaeger Exporter.
/// </summary>
public ExportProcessorType ExportProcessorType { get; set; } = ExportProcessorType.Batch;
/// <summary>
/// Gets or sets the BatchExportProcessor options. Ignored unless ExportProcessorType is BatchExporter.
/// </summary>
public BatchExportProcessorOptions<Activity> BatchExportProcessorOptions { get; set; } = new BatchExportProcessorOptions<Activity>();
}
}