OpenTelemetry.Exporter.OpenTelemetryProtocol
1.10.0
Prefix Reserved
dotnet add package OpenTelemetry.Exporter.OpenTelemetryProtocol --version 1.10.0
NuGet\Install-Package OpenTelemetry.Exporter.OpenTelemetryProtocol -Version 1.10.0
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.10.0" />
paket add OpenTelemetry.Exporter.OpenTelemetryProtocol --version 1.10.0
#r "nuget: OpenTelemetry.Exporter.OpenTelemetryProtocol, 1.10.0"
// Install OpenTelemetry.Exporter.OpenTelemetryProtocol as a Cake Addin #addin nuget:?package=OpenTelemetry.Exporter.OpenTelemetryProtocol&version=1.10.0 // Install OpenTelemetry.Exporter.OpenTelemetryProtocol as a Cake Tool #tool nuget:?package=OpenTelemetry.Exporter.OpenTelemetryProtocol&version=1.10.0
OTLP Exporter for OpenTelemetry .NET
The OTLP (OpenTelemetry Protocol) exporter implementation.
<details> <summary>Table of Contents</summary>
- Installation
- Enable Log Exporter
- Enable Metric Exporter
- Enable Trace Exporter
- Enable OTLP Exporter for all signals
- Configuration
- Experimental features
- Troubleshooting
</details>
Prerequisite
- An endpoint capable of accepting OTLP, like OpenTelemetry Collector or similar.
Installation
dotnet add package OpenTelemetry.Exporter.OpenTelemetryProtocol
Enable Log Exporter
var loggerFactory = LoggerFactory.Create(builder =>
{
builder.AddOpenTelemetry(options =>
{
options.AddOtlpExporter();
});
});
By default, AddOtlpExporter()
pairs the OTLP Log Exporter with a batching
processor.
See TestLogs.cs
for example on how to
customize the LogRecordExportProcessorOptions
or see the Environment
Variables section below on how to customize using
environment variables.
[!NOTE] For details on how to configure logging with OpenTelemetry check the Console or ASP.NET Core tutorial.
ILogger Scopes: OTLP Log Exporter supports exporting ILogger
scopes as
Attributes. Scopes must be enabled at the SDK level using
IncludeScopes
setting on OpenTelemetryLoggerOptions
.
[!NOTE] Scope attributes with key set as empty string or
{OriginalFormat}
are ignored by exporter. Duplicate keys are exported as is.
Enable Metric Exporter
This exporter provides AddOtlpExporter()
extension method on MeterProviderBuilder
to enable exporting of metrics. The following snippet adds the Exporter with default
configuration.
var meterProvider = Sdk.CreateMeterProviderBuilder()
// rest of config not shown here.
.AddOtlpExporter()
.Build();
By default, AddOtlpExporter()
pairs the OTLP MetricExporter with a
PeriodicExportingMetricReader
with metric export interval of 60 secs and
Temporality
set as Cumulative
. See
TestMetrics.cs
for example on how to
customize the MetricReaderOptions
or see the Environment
Variables section below on how to customize using
environment variables.
Enable Trace Exporter
This exporter provides AddOtlpExporter()
extension method on TracerProviderBuilder
to enable exporting of traces. The following snippet adds the Exporter with default
configuration.
var tracerProvider = Sdk.CreateTracerProviderBuilder()
// rest of config not shown here.
.AddOtlpExporter()
.Build();
See the TestOtlpExporter.cs
for
runnable example.
Enable OTLP Exporter for all signals
Starting with the 1.8.0-beta.1
version you can use the cross-cutting
UseOtlpExporter
extension to simplify registration of the OTLP exporter for
all signals (logs, metrics, and traces).
[!NOTE] The cross cutting extension is currently only available when using the
AddOpenTelemetry
extension in the OpenTelemetry.Extensions.Hosting package.
appBuilder.Services.AddOpenTelemetry()
.UseOtlpExporter();
The UseOtlpExporter
has the following behaviors:
Calling
UseOtlpExporter
automatically enables logging, metrics, and tracing however only telemetry which has been enabled will be exported.There are different mechanisms available to enable telemetry:
Logging
ILogger
telemetry is controlled by category filters typically set through configuration. For details see: Log Filtering and Logging in .NET.Metrics
Metrics telemetry is controlled by calling
MeterProviderBuilder.AddMeter
to listen to Meters emitting metrics. Typically instrumentation packages will make this call automatically.Examples:
appBuilder.Services.AddOpenTelemetry() .UseOtlpExporter() .WithMetrics(metrics => metrics .AddMeter(MyMeter.Name) // Listen to custom telemetry .AddAspNetCoreInstrumentation() // Use instrumentation to listen to telemetry );
appBuilder.Services.ConfigureOpenTelemetryMeterProvider(metrics => metrics .AddMeter(MyMeter.Name) // Listen to custom telemetry .AddAspNetCoreInstrumentation() // Use instrumentation to listen to telemetry ); appBuilder.Services.AddOpenTelemetry() .UseOtlpExporter();
For details see: Meter.
When using
Microsoft.Extensions.Hosting
v8.0.0 or greater (a standard part of ASP.NET Core)Meter
s andInstrument
s can also be enabled using configuration.appSettings.json
metrics configuration example:{ "Metrics": { "EnabledMetrics": { "Microsoft.AspNetCore.*": true, "System.*": true, "MyCompany.*": true, } } }
For details about the built-in metrics exposed by .NET see: Built-in metrics in .NET.
Tracing
Trace telemetry is controlled by calling
TracerProviderBuilder.AddSource
to listen to ActivitySources emitting traces. Typically instrumentation packages will make this call automatically.Examples:
appBuilder.Services.AddOpenTelemetry() .UseOtlpExporter() .WithTracing(tracing => tracing .AddSource(MyActivitySource.Name) // Listen to custom telemetry .AddAspNetCoreInstrumentation() // Use instrumentation to listen to telemetry );
appBuilder.Services.ConfigureOpenTelemetryTracerProvider(tracing => tracing .AddSource(MyActivitySource.Name) // Listen to custom telemetry .AddAspNetCoreInstrumentation() // Use instrumentation to listen to telemetry ); appBuilder.Services.AddOpenTelemetry() .UseOtlpExporter();
For details see: Activity Source.
The exporter registered by
UseOtlpExporter
will be added as the last processor in the pipeline established for logging and tracing.UseOtlpExporter
can only be called once. Subsequent calls will result in aNotSupportedException
being thrown.UseOtlpExporter
cannot be called in addition to signal-specificAddOtlpExporter
methods. IfUseOtlpExporter
is called signal-specificAddOtlpExporter
calls will result in aNotSupportedException
being thrown.
Configuring signals when using UseOtlpExporter
UseOtlpExporter
supports the full set of environment
variables listed below including the signal-specific
overrides and users are encouraged to use this mechanism to configure their
exporters.
A UseOtlpExporter
overload is provided which may be used to set the protocol
and base URL:
appBuilder.Services.AddOpenTelemetry()
.UseOtlpExporter(OtlpExportProtocol.HttpProtobuf, new Uri("http://localhost:4318/"));
[!NOTE] When the protocol is set to
OtlpExportProtocol.HttpProtobuf
a signal-specific path will be appended automatically to the base URL when constructing exporters.
Configuration
You can configure the OtlpExporter
through OtlpExporterOptions
and environment variables.
[!NOTE] The
OtlpExporterOptions
type setters take precedence over the environment variables.
This can be achieved by providing an Action<OtlpExporterOptions>
delegate to
the AddOtlpExporter()
method or using the Configure<OtlpExporterOptions>()
Options API extension:
// Set via delegate using code:
appBuilder.Services.AddOpenTelemetry()
.WithTracing(builder => builder.AddOtlpExporter(o => {
// ...
}));
// Set via Options API using code:
appBuilder.Services.Configure<OtlpExporterOptions>(o => {
// ...
});
// Set via Options API using configuration:
appBuilder.Services.Configure<OtlpExporterOptions>(
appBuilder.Configuration.GetSection("OpenTelemetry:otlp"));
If additional services from the dependency injection are required for configuration they can be accessed through the Options API like this:
// Step 1: Register user-created configuration service.
appBuilder.Services.AddSingleton<MyOtlpConfigurationService>();
// Step 2: Use Options API to configure OtlpExporterOptions with user-created service.
appBuilder.Services.AddOptions<OtlpExporterOptions>()
.Configure<MyOtlpConfigurationService>((o, configService) => {
o.Endpoint = configService.ResolveOtlpExporterEndpoint();
});
[!NOTE] The
OtlpExporterOptions
class is shared by logging, metrics, and tracing. To bind configuration specific to each signal use thename
parameter on theAddOtlpExporter
extensions:// Step 1: Bind options to config using the name parameter. appBuilder.Services.Configure<OtlpExporterOptions>("tracing", appBuilder.Configuration.GetSection("OpenTelemetry:tracing:otlp")); appBuilder.Services.Configure<OtlpExporterOptions>("metrics", appBuilder.Configuration.GetSection("OpenTelemetry:metrics:otlp")); appBuilder.Services.Configure<OtlpExporterOptions>("logging", appBuilder.Configuration.GetSection("OpenTelemetry:logging:otlp")); // Step 2: Register OtlpExporter using the name parameter. appBuilder.Services.AddOpenTelemetry() .WithTracing(builder => builder.AddOtlpExporter("tracing", configure: null)) .WithMetrics(builder => builder.AddOtlpExporter("metrics", configure: null)); appBuilder.Logging.AddOpenTelemetry(builder => builder.AddOtlpExporter( "logging", options => { // Note: Options can also be set via code but order is important. In the example here the code will apply after configuration. options.Endpoint = new Uri("http://localhost/logs"); }));
OtlpExporterOptions
Protocol
: OTLP transport protocol. Supported values:OtlpExportProtocol.Grpc
andOtlpExportProtocol.HttpProtobuf
. The default isOtlpExportProtocol.Grpc
.Endpoint
: Target to which the exporter is going to send traces or metrics. The endpoint must be a valid Uri with scheme (http or https) and host, and MAY contain a port and path. The default is "localhost:4317" forOtlpExportProtocol.Grpc
and "localhost:4318" forOtlpExportProtocol.HttpProtobuf
.
[!NOTE] When using
OtlpExportProtocol.HttpProtobuf
, the full URL MUST be provided, including the signal-specific path v1/{signal}. For example, for traces, the full URL will look likehttp://your-custom-endpoint/v1/traces
.
Headers
: Optional headers for the connection.HttpClientFactory
: A factory function called to create theHttpClient
instance that will be used at runtime to transmit telemetry over HTTP when theHttpProtobuf
protocol is configured. See Configure HttpClient for more details.TimeoutMilliseconds
: Max waiting time for the backend to process a batch.
The following options are only applicable to OtlpTraceExporter
:
ExportProcessorType
: Whether the exporter should use Batch or Simple exporting processor. The default is Batch.BatchExportProcessorOptions
: Configuration options for the batch exporter. Only used if ExportProcessorType is set to Batch.
See the TestOtlpExporter.cs
for
an example of how to use the exporter.
LogRecordExportProcessorOptions
The LogRecordExportProcessorOptions
class may be used to configure processor &
batch settings for logging:
// Set via delegate using code:
appBuilder.Logging.AddOpenTelemetry(options =>
{
options.AddOtlpExporter((exporterOptions, processorOptions) =>
{
processorOptions.BatchExportProcessorOptions.ScheduledDelayMilliseconds = 2000;
processorOptions.BatchExportProcessorOptions.MaxExportBatchSize = 5000;
});
});
// Set via Options API using code:
appBuilder.Services.Configure<LogRecordExportProcessorOptions>(o =>
{
o.BatchExportProcessorOptions.ScheduledDelayMilliseconds = 2000;
o.BatchExportProcessorOptions.MaxExportBatchSize = 5000;
});
// Set via Options API using configuration:
appBuilder.Services.Configure<LogRecordExportProcessorOptions>(
appBuilder.Configuration.GetSection("OpenTelemetry:Logging"));
MetricReaderOptions
The MetricReaderOptions
class may be used to configure reader settings for
metrics:
// Set via delegate using code:
appBuilder.Services.AddOpenTelemetry()
.WithMetrics(builder => builder.AddOtlpExporter((exporterOptions, readerOptions) =>
{
readerOptions.PeriodicExportingMetricReaderOptions.ExportIntervalMilliseconds = 10_000;
}));
// Set via Options API using code:
appBuilder.Services.Configure<MetricReaderOptions>(o =>
{
o.PeriodicExportingMetricReaderOptions.ExportIntervalMilliseconds = 10_000;
});
// Set via Options API using configuration:
appBuilder.Services.Configure<MetricReaderOptions>(
appBuilder.Configuration.GetSection("OpenTelemetry:Metrics"));
Environment Variables
The following environment variables can be used to configure the OTLP Exporter for logs, traces, and metrics.
[!NOTE] In OpenTelemetry .NET environment variable keys are retrieved using
IConfiguration
which means they may be set using other mechanisms such as defined inappSettings.json
or specified on the command-line.
Exporter configuration
The OpenTelemetry Specification defines environment variables which can be used to configure the OTLP exporter and its associated processor (logs & traces) or reader (metrics).
All signals
The following environment variables can be used to override the default values of the
OtlpExporterOptions
:Environment variable OtlpExporterOptions
propertyOTEL_EXPORTER_OTLP_ENDPOINT
Endpoint
OTEL_EXPORTER_OTLP_HEADERS
Headers
OTEL_EXPORTER_OTLP_TIMEOUT
TimeoutMilliseconds
OTEL_EXPORTER_OTLP_PROTOCOL
Protocol
(grpc
orhttp/protobuf
)Logs:
The following environment variables can be used to override the default values for the batch processor configured for logging:
Environment variable BatchExportLogRecordProcessorOptions
propertyOTEL_BLRP_SCHEDULE_DELAY
ScheduledDelayMilliseconds
OTEL_BLRP_EXPORT_TIMEOUT
ExporterTimeoutMilliseconds
OTEL_BLRP_MAX_QUEUE_SIZE
MaxQueueSize
OTEL_BLRP_MAX_EXPORT_BATCH_SIZE
MaxExportBatchSize
The following environment variables can be used to override the default values of the
OtlpExporterOptions
used for logging when using the UseOtlpExporter extension:Environment variable OtlpExporterOptions
propertyUseOtlpExporter AddOtlpExporter OTEL_EXPORTER_OTLP_LOGS_ENDPOINT
Endpoint
Supported Not supported OTEL_EXPORTER_OTLP_LOGS_HEADERS
Headers
Supported Not supported OTEL_EXPORTER_OTLP_LOGS_TIMEOUT
TimeoutMilliseconds
Supported Not supported OTEL_EXPORTER_OTLP_LOGS_PROTOCOL
Protocol
(grpc
orhttp/protobuf
)Supported Not supported Metrics:
The following environment variables can be used to override the default value of the
TemporalityPreference
setting for the reader configured for metrics when using OTLP exporter:Environment variable MetricReaderOptions
propertyOTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
TemporalityPreference
The following environment variables can be used to override the default values of the periodic exporting metric reader configured for metrics:
Environment variable PeriodicExportingMetricReaderOptions
propertyOTEL_METRIC_EXPORT_INTERVAL
ExportIntervalMilliseconds
OTEL_METRIC_EXPORT_TIMEOUT
ExportTimeoutMilliseconds
The following environment variables can be used to override the default values of the
OtlpExporterOptions
used for metrics when using the UseOtlpExporter extension:Environment variable OtlpExporterOptions
propertyUseOtlpExporter AddOtlpExporter OTEL_EXPORTER_OTLP_METRICS_ENDPOINT
Endpoint
Supported Not supported OTEL_EXPORTER_OTLP_METRICS_HEADERS
Headers
Supported Not supported OTEL_EXPORTER_OTLP_METRICS_TIMEOUT
TimeoutMilliseconds
Supported Not supported OTEL_EXPORTER_OTLP_METRICS_PROTOCOL
Protocol
(grpc
orhttp/protobuf
)Supported Not supported Tracing:
The following environment variables can be used to override the default values for the batch processor configured for tracing:
Environment variable BatchExportActivityProcessorOptions
propertyOTEL_BSP_SCHEDULE_DELAY
ScheduledDelayMilliseconds
OTEL_BSP_EXPORT_TIMEOUT
ExporterTimeoutMilliseconds
OTEL_BSP_MAX_QUEUE_SIZE
MaxQueueSize
OTEL_BSP_MAX_EXPORT_BATCH_SIZE
MaxExportBatchSize
The following environment variables can be used to override the default values of the
OtlpExporterOptions
used for tracing when using the UseOtlpExporter extension:Environment variable OtlpExporterOptions
propertyUseOtlpExporter AddOtlpExporter OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
Endpoint
Supported Not supported OTEL_EXPORTER_OTLP_TRACES_HEADERS
Headers
Supported Not supported OTEL_EXPORTER_OTLP_TRACES_TIMEOUT
TimeoutMilliseconds
Supported Not supported OTEL_EXPORTER_OTLP_TRACES_PROTOCOL
Protocol
(grpc
orhttp/protobuf
)Supported Not supported
Attribute limits
The OpenTelemetry Specification defines environment variables which can be used to configure attribute limits.
The following environment variables can be used to configure default attribute limits:
OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT
OTEL_ATTRIBUTE_COUNT_LIMIT
The following environment variables can be used to configure span limits used for tracing:
OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT
OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT
OTEL_SPAN_EVENT_COUNT_LIMIT
OTEL_SPAN_LINK_COUNT_LIMIT
OTEL_EVENT_ATTRIBUTE_COUNT_LIMIT
OTEL_LINK_ATTRIBUTE_COUNT_LIMIT
The following environment variables can be used to configure log record limits used for logging:
OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT
OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT
Configure HttpClient
The HttpClientFactory
option is provided on OtlpExporterOptions
for users
who want to configure the HttpClient
used by the OtlpTraceExporter
,
OtlpMetricExporter
, and/or OtlpLogExporter
when HttpProtobuf
protocol is
used. Simply replace the function with your own implementation if you want to
customize the generated HttpClient
:
[!NOTE] The
HttpClient
instance returned by theHttpClientFactory
function is used for all export requests.
services.AddOpenTelemetry()
.WithTracing(builder => builder
.AddOtlpExporter(o =>
{
o.Protocol = OtlpExportProtocol.HttpProtobuf;
o.HttpClientFactory = () =>
{
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Add("X-MyCustomHeader", "value");
return client;
};
}));
[!NOTE]
DefaultRequestHeaders
can be used for HTTP Basic Access Authentication. For more complex authentication requirements,System.Net.Http.DelegatingHandler
can be used to handle token refresh, as explained here.
For users using
IHttpClientFactory
you may also customize the named "OtlpTraceExporter" and/or "OtlpMetricExporter"
HttpClient
using the built-in AddHttpClient
extension:
services.AddHttpClient(
"OtlpTraceExporter",
configureClient: (client) =>
client.DefaultRequestHeaders.Add("X-MyCustomHeader", "value"));
[!NOTE]
IHttpClientFactory
is NOT currently supported byOtlpLogExporter
.
Experimental features
The following features are exposed experimentally in the OTLP Exporter. Features are exposed experimentally when either the OpenTelemetry Specification has explicitly marked something experimental or when the SIG members are still working through the design for a feature and want to solicit feedback from the community.
Environment variables
[!NOTE] In OpenTelemetry .NET environment variable keys are retrieved using
IConfiguration
which means they may be set using other mechanisms such as defined in appSettings.json or specified on the command-line.
All signals
OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY
When set to
in_memory
, it enables in-memory retry for transient errors encountered while sending telemetry.Added in
1.8.0
.When set to
disk
, it enables retries by storing telemetry on disk during transient errors. The default path where the telemetry is stored is obtained by calling Path.GetTempPath() or can be customized by settingOTEL_DOTNET_EXPERIMENTAL_OTLP_DISK_RETRY_DIRECTORY_PATH
environment variable.The OTLP exporter utilizes a forked version of the OpenTelemetry.PersistentStorage.FileSystem library to store telemetry data on disk. When a transient failure occurs, a file is created at the specified directory path on disk containing the serialized request data that was attempted to be sent to the OTLP ingestion. A background thread attempts to resend any offline stored telemetry every 60 seconds. For more details on how these files are managed on disk, refer to the File details.
Added in TBD (Unreleased).
Logs
OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES
When set to
true
, it enables export ofLogRecord.EventId.Id
aslogrecord.event.id
andLogRecord.EventId.Name
aslogrecord.event.name
.Added in
1.7.0-alpha.1
.
Troubleshooting
This component uses an EventSource with the name "OpenTelemetry-Exporter-OpenTelemetryProtocol" for its internal logging. Please refer to SDK troubleshooting for instructions on seeing these internal logs.
References
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- Google.Protobuf (>= 3.22.5 && < 4.0.0)
- Grpc (>= 2.44.0 && < 3.0.0)
- OpenTelemetry (>= 1.10.0)
-
.NETStandard 2.0
- Google.Protobuf (>= 3.22.5 && < 4.0.0)
- Grpc (>= 2.44.0 && < 3.0.0)
- OpenTelemetry (>= 1.10.0)
-
.NETStandard 2.1
- Google.Protobuf (>= 3.22.5 && < 4.0.0)
- Grpc.Net.Client (>= 2.52.0 && < 3.0.0)
- OpenTelemetry (>= 1.10.0)
-
net8.0
- Google.Protobuf (>= 3.22.5 && < 4.0.0)
- Grpc.Net.Client (>= 2.52.0 && < 3.0.0)
- OpenTelemetry (>= 1.10.0)
-
net9.0
- Google.Protobuf (>= 3.22.5 && < 4.0.0)
- Grpc.Net.Client (>= 2.52.0 && < 3.0.0)
- OpenTelemetry (>= 1.10.0)
NuGet packages (214)
Showing the top 5 NuGet packages that depend on OpenTelemetry.Exporter.OpenTelemetryProtocol:
Package | Downloads |
---|---|
OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs
OpenTelemetry protocol exporter for OpenTelemetry .NET |
|
OpenTelemetry.AutoInstrumentation.Runtime.Managed
Managed components used by the OpenTelemetry.AutoInstrumentation project. |
|
Honeycomb.OpenTelemetry
Honeycomb's OpenTelemetry SDK |
|
Altinn.App.Api
This class library holds all the API controllers used by a standard Altinn 3 App. |
|
devprime.stack.observability
DevPrime Observability |
GitHub repositories (79)
Showing the top 5 popular GitHub repositories that depend on OpenTelemetry.Exporter.OpenTelemetryProtocol:
Repository | Stars |
---|---|
MassTransit/MassTransit
Distributed Application Framework for .NET
|
|
quartznet/quartznet
Quartz Enterprise Scheduler .NET
|
|
elsa-workflows/elsa-core
A .NET workflows library
|
|
dotnet/eShop
A reference .NET application implementing an eCommerce site
|
|
fullstackhero/dotnet-starter-kit
Production Grade Cloud-Ready .NET 8 Starter Kit (Web API + Blazor Client) with Multitenancy Support, and Clean/Modular Architecture that saves roughly 200+ Development Hours! All Batteries Included.
|
Version | Downloads | Last updated | |
---|---|---|---|
1.10.0 | 44,987 | 11/12/2024 | |
1.10.0-rc.1 | 4,492 | 11/1/2024 | |
1.10.0-beta.1 | 16,603 | 9/30/2024 | |
1.9.0 | 9,571,462 | 6/14/2024 | |
1.9.0-rc.1 | 112,561 | 6/7/2024 | |
1.9.0-alpha.1 | 38,064 | 5/20/2024 | |
1.8.1 | 5,620,007 | 4/18/2024 | |
1.8.0 | 2,249,720 | 4/3/2024 | |
1.8.0-rc.1 | 18,986 | 3/27/2024 | |
1.8.0-beta.1 | 22,266 | 3/14/2024 | |
1.7.0 | 7,398,858 | 12/9/2023 | |
1.7.0-rc.1 | 81,382 | 11/30/2023 | |
1.7.0-alpha.1 | 383,385 | 10/17/2023 | |
1.6.0 | 7,344,566 | 9/6/2023 | |
1.6.0-rc.1 | 263,016 | 8/21/2023 | |
1.6.0-alpha.1 | 116,703 | 7/12/2023 | |
1.5.1 | 5,063,725 | 6/26/2023 | |
1.5.0 | 1,206,440 | 6/6/2023 | |
1.5.0-rc.1 | 540,336 | 5/26/2023 | |
1.5.0-alpha.2 | 819,233 | 4/1/2023 | |
1.5.0-alpha.1 | 478,368 | 3/8/2023 | |
1.4.0 | 6,841,734 | 2/24/2023 | |
1.4.0-rc.4 | 755,551 | 2/11/2023 | |
1.4.0-rc.3 | 451,065 | 2/2/2023 | |
1.4.0-rc.2 | 476,476 | 1/9/2023 | |
1.4.0-rc.1 | 506,531 | 12/12/2022 | |
1.4.0-beta.3 | 617,929 | 11/7/2022 | |
1.4.0-beta.2 | 241,291 | 10/17/2022 | |
1.4.0-beta.1 | 198,109 | 9/30/2022 | |
1.4.0-alpha.2 | 466,643 | 8/18/2022 | |
1.4.0-alpha.1 | 828,359 | 8/3/2022 | |
1.3.2 | 2,112,756 | 12/20/2022 | |
1.3.1 | 4,499,666 | 9/8/2022 | |
1.3.0 | 3,282,261 | 6/3/2022 | |
1.3.0-rc.2 | 84,474 | 6/1/2022 | |
1.3.0-beta.2 | 113,188 | 5/17/2022 | |
1.3.0-beta.1 | 220,330 | 4/20/2022 | |
1.2.0 | 1,649,547 | 4/15/2022 | |
1.2.0-rc5 | 86,161 | 4/13/2022 | |
1.2.0-rc4 | 358,223 | 3/30/2022 | |
1.2.0-rc3 | 348,887 | 3/5/2022 | |
1.2.0-rc2 | 409,496 | 2/3/2022 | |
1.2.0-rc1 | 741,571 | 11/30/2021 | |
1.2.0-beta2.1 | 350,525 | 11/19/2021 | |
1.2.0-beta1 | 292,351 | 10/8/2021 | |
1.2.0-alpha4 | 19,495 | 9/23/2021 | |
1.2.0-alpha3 | 2,629 | 9/14/2021 | |
1.2.0-alpha2 | 16,854 | 8/25/2021 | |
1.2.0-alpha1 | 50,400 | 7/23/2021 | |
1.1.0 | 4,148,954 | 7/13/2021 | |
1.1.0-rc1 | 93,112 | 6/26/2021 | |
1.1.0-beta4 | 100,790 | 6/9/2021 | |
1.1.0-beta3 | 6,241 | 5/12/2021 | |
1.1.0-beta2 | 116,956 | 4/23/2021 | |
1.1.0-beta1 | 308,319 | 3/19/2021 | |
1.0.1 | 832,459 | 2/10/2021 | |
1.0.0-rc4 | 37,118 | 2/9/2021 | |
1.0.0-rc3 | 20,888 | 2/5/2021 | |
1.0.0-rc2 | 11,640 | 1/30/2021 | |
1.0.0-rc1.1 | 114,988 | 11/18/2020 | |
0.8.0-beta.1 | 81,200 | 11/5/2020 | |
0.7.0-beta.1 | 5,488 | 10/16/2020 | |
0.6.0-beta.1 | 25,014 | 9/16/2020 | |
0.5.0-beta.2 | 747 | 8/28/2020 | |
0.4.0-beta.2 | 2,626 | 7/25/2020 | |
0.3.0-beta.1 | 516 | 7/23/2020 | |
0.2.0-alpha.275 | 415 | 5/19/2020 | |
0.2.0-alpha.220 | 400 | 5/19/2020 | |
0.2.0-alpha.179 | 508 | 1/28/2020 |
For highlights and announcements see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.10.0/RELEASENOTES.md.
For detailed changes see: https://github.com/open-telemetry/opentelemetry-dotnet/blob/core-1.10.0/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/CHANGELOG.md.