- The
OTEL_EXPORTER_OTLP_TIMEOUT,OTEL_EXPORTER_OTLP_TRACES_TIMEOUT,OTEL_EXPORTER_OTLP_METRICS_TIMEOUTandOTEL_EXPORTER_OTLP_LOGS_TIMEOUTare changed from seconds to miliseconds. - Fixed
.with_headers()inHttpExporterBuilderto correctly support multiple key/value pairs. #2699 - Implement
FromStrandDisplayforopentelemetry_otlp::Protocol. #2758
Released 2025-Feb-10
- Update
opentelemetrydependency version to 0.28. - Update
opentelemetry_sdkdependency version to 0.28. - Update
opentelemetry-httpdependency version to 0.28. - Update
opentelemetry-protodependency version to 0.28. - Bump msrv to 1.75.0.
- Feature flag "populate-logs-event-name" is removed as no longer relevant.
LogRecord's
event_name()is now automatically populated on the newly added "event_name" field in LogRecord proto definition. - Remove "grpc-tonic" feature from default, and instead add "http-proto" and "reqwest-blocking-client" features as default, to align with the specification. 2516
- Remove unnecessarily public trait
opentelemetry_otlp::metrics::MetricsClientandMetricExporter::new(..)method. UseMetricExporter::builder()...build()to obtainMetricExporter. - The HTTP clients (reqwest, reqwest-blocking, hyper) now support the
export timeout interval configured in below order
- Signal specific env variable
OTEL_EXPORTER_OTLP_TRACES_TIMEOUT,OTEL_EXPORTER_OTLP_LOGS_TIMEOUTorOTEL_EXPORTER_OTLP_TIMEOUT. OTEL_EXPORTER_OTLP_TIMEOUTenv variable.with_http().with_timeout()API method ofLogExporterBuilderandSpanExporterBuilderandMetricsExporterBuilder.- The default interval of 10 seconds is used if none is configured.
- Signal specific env variable
Released 2024-Nov-11
-
Update
opentelemetrydependency version to 0.27 -
Update
opentelemetry_sdkdependency version to 0.27 -
Update
opentelemetry-httpdependency version to 0.27 -
Update
opentelemetry-protodependency version to 0.27 -
BREAKING:
-
(#2217) Replaced: The
MetricsExporterBuilderinterface is modified fromwith_temporality_selectortowith_temporalityexample can be seen below: Previous Signature:MetricsExporterBuilder::default().with_temporality_selector(DeltaTemporalitySelector::new())
Updated Signature:
MetricsExporterBuilder::default().with_temporality(opentelemetry_sdk::metrics::Temporality::Delta)
-
(#2221) Replaced:
- The
opentelemetry_otlp::new_pipeline().{trace,logging,metrics}()interface is now replaced with{TracerProvider,SdkMeterProvider,LoggerProvider}::builder(). - The
opentelemetry_otlp::new_exporter()interface is now replaced with{SpanExporter,MetricsExporter,LogExporter}::builder().
Pull request #2221 has a detailed migration guide in the description. See example below, and basic-otlp for more details:
Previous Signature:
let logger_provider: LoggerProvider = opentelemetry_otlp::new_pipeline() .logging() .with_resource(RESOURCE.clone()) .with_exporter( opentelemetry_otlp::new_exporter() .tonic() .with_endpoint("http://localhost:4317") ) .install_batch(runtime::Tokio)?;
Updated Signature:
let exporter = LogExporter::builder() .with_tonic() .with_endpoint("http://localhost:4317") .build()?; Ok(LoggerProvider::builder() .with_resource(RESOURCE.clone()) .with_batch_exporter(exporter, runtime::Tokio) .build())
- The
-
Renamed
- (#2255): de-pluralize Metric types.
MetricsExporter->MetricExporterMetricsExporterBuilder->MetricExporterBuilder
- (#2255): de-pluralize Metric types.
-
#2263 Support
hyperclient for opentelemetry-otlp. This can be enabled using flaghyper-client. Refer example: https://github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-otlp/examples/basic-otlp-http
-
Released 2024-Sep-30
- Update
opentelemetrydependency version to 0.26 - Update
opentelemetry_sdkdependency version to 0.26 - Update
opentelemetry-httpdependency version to 0.26 - Update
opentelemetry-protodependency version to 0.26 - Bump MSRV to 1.71.1 2140
- Update
opentelemetrydependency version to 0.25 - Update
opentelemetry_sdkdependency version to 0.25 - Update
opentelemetry-httpdependency version to 0.25 - Update
opentelemetry-protodependency version to 0.25 - Starting with this version, this crate will align with
opentelemetrycrate on major,minor versions. - Breaking
The logrecord event-name is added as an attribute only if the feature flag
populate-logs-event-nameis enabled. The name of the attribute is changed from "name" to "event.name". 1994, 2050
- Add "metrics", "logs" to default features. With this, default feature list is "trace", "metrics" and "logs".
- Breaking
OtlpMetricPipeline.build()no longer invoke theglobal::set_meter_provider. User who setup the pipeline must do it themselves usingglobal::set_meter_provider(meter_provider.clone());. - Add
with_resourceonOtlpLogPipeline, replacing thewith_configmethod. Instead of using.with_config(Config::default().with_resource(RESOURCE::default()))users must now use.with_resource(RESOURCE::default())to configure Resource when usingOtlpLogPipeline. - Breaking The methods
OtlpTracePipeline::install_simple()andOtlpTracePipeline::install_batch()would now returnTracerProviderinstead ofTracer. These methods would also no longer set the global tracer provider. It would now be the responsibility of users to set it by callingglobal::set_tracer_provider(tracer_provider.clone());. Refer to the basic-otlp and basic-otlp-http examples on how to initialize OTLP Trace Exporter. - Breaking Correct the misspelling of "webkpi" to "webpki" in features #1842
- Bump MSRV to 1.70 #1840
- Fixing the OTLP HTTP/JSON exporter. #1882 - The exporter was broken in the previous release.
- Breaking 1869 The OTLP logs exporter now overrides the InstrumentationScope::name field with the
targetfromLogRecord, if target is populated. - Groups batch of
LogRecordandSpanby their resource and instrumentation scope before exporting, for better efficiency #1873. - Breaking Update to
httpv1 andtonicv0.12 #1674 - Update
opentelemetrydependency version to 0.24 - Update
opentelemetry_sdkdependency version to 0.24 - Update
opentelemetry-httpdependency version to 0.13 - Update
opentelemetry-protodependency version to 0.7
- URL encoded values in
OTEL_EXPORTER_OTLP_HEADERSare now correctly decoded. #1578 - OTLP exporter will not change the URL added through
ExportConfig#1706 - Default grpc endpoint will not have path based on signal(e.g
/v1/traces) #1706 - Fix feature flags for
OTEL_EXPORTER_OTLP_PROTOCOL_DEFAULT#1746
- Added
DeltaTemporalitySelector(#1568) - Add
webkpi-rootsfeatures toreqwestandtonicbackends
- Breaking Remove global provider for Logs #1691
- The method OtlpLogPipeline::install_simple() and OtlpLogPipeline::install_batch() now return
LoggerProviderinstead ofLogger. Refer to the basic-otlp and basic-otlp-http examples for how to initialize OTLP Log Exporter to use with OpenTelemetryLogBridge and OpenTelemetryTracingBridge respectively.
- The method OtlpLogPipeline::install_simple() and OtlpLogPipeline::install_batch() now return
- Update
opentelemetrydependency version to 0.23 - Update
opentelemetry_sdkdependency version to 0.23 - Update
opentelemetry-httpdependency version to 0.12 - Update
opentelemetry-protodependency version to 0.6
- Support custom channels in topic exporters #1335
- Allow specifying OTLP Tonic metadata from env variable #1377
- Update to tonic 0.11 and prost 0.12 #1536
- Fix
tonic()to the use correct port. #1556
- Breaking Remove support for surf HTTP client #1537
- Breaking Remove support for grpcio transport #1534
- Add
build_{signal}_exportermethods to client builders #1187 - Add
grpciometrics exporter #1202 - Allow specifying OTLP HTTP headers from env variable #1290
- Bump MSRV to 1.65 #1318
- Bump MSRV to 1.64 #1203
- Changed dependency from
opentelemetry_apitoopentelemetryas the latter is now the API crate. #1226 - Make
NoExporterBuildera compiling time error #1272
- make the tonic/transport feature optional #985
- update to opentelemetry-api v0.20.0
- Fix a missing import when http-proto is enabled without grpc-sys #1081
- Update
opentelemetryto 0.19. - Update
opentelemetry-semantic-conventionsto 0.11. - Update
opentelemetry-httpto 0.8. - Bump MSRV to 1.57 #953.
- Add
User-Agentheader on all exporters #896. - Improve OTLP exporter environment variable handling #912.
- Fix the issue where tonic exporter builder ignored provided metadata #937.
- Export
MetricsExporterBuilder#943. - Report OTLP http export errors #945.
- Change to export using v0.19.0 protobuf definitions. #989.
- Update dependencies and bump MSRV to 1.60 #969.
- reduce
tokiofeature requirements #750 - Update to opentelemetry v0.18.0
- Update to opentelemetry-http v0.7.0
- Update
tonicto 0.7 #783 - Automatically add traces / metrics paths #806
- Update to opentelemetry v0.17.0
- Update to opentelemetry-http v0.6.0
- Update
tonicto 0.6 #660
- Merge metrics and tracing pipeline #585
- Update to opentelemetry v0.16.0
MetricsExporterBuilderdropsexporter_pipeline#590- Improve error messages #603
- Upgrade
tonicto0.5.x#597
- Update grpcio version and add the coverage badge #556
- Update to opentelemetry v0.15.0
- adding otlp http transport, using proto binary #516
- docs cannot compile #507
- exporter cannot merge IntSum correctly. #518
- update metrics proto and metric transformation #535
- Allow users to bring their own tonic channel #515
- Remove default surf features #546
- Update to opentelemetry v0.14.0
- Examples on how to connect to an external otlp using tonic, tls and tokio #449
- Examples on how to connect to an external otlp using grpcio and tls #450
with_envmethod forOtlpPipelineBuilderto use environment variables to config otlp pipeline #451- Update
tracing-grpcexample to include extractors and injectors #464 - Mentioned
service.nameresource in README #476
- Update to opentelemetry v0.13.0
- Update
tonic-builddependency to 0.4 #463 - Update the opentelemetry pipeline to use API to choose grpc layer instead of feature #467
- Rename trace config with_default_sampler to with_sampler #482
- Removed
from_envand use environment variables to initialize the configurations by default #459 - Removed support for running tonic without tokio runtime #483
- Otlp metric exporter #402
- Otlp exporter integration test #424
- Update to opentelemetry v0.12.0
- Update tokio to v1 #421
- Tonic support #352
- Add openssl feature flags for grpcio #367
- Update to opentelemetry v0.11.0
- Update default otlp port to
4317#388
- Propagate
Resourceinformation #366 - Propagate
Resourcein tonic as well #390
- Update to opentelemetry v0.10.0
- Update to opentelemetry v0.9.0
- Add exporter pipeline #210
- Initial Alpha implementation