💥 Breaking Change
- feat(sdk-metrics-base): update metric exporter interfaces #2707 @srikanthccv
- feat(api-metrics): remove observable types #2687 @legendecas
- fix(otlp-http-exporter): remove content length header #2879 @svetlanabrennan
- feat(experimental-packages): Update packages to latest SDK Version. #2871 @pichlermarc
- removed the -wip suffix from api-metrics and metrics-sdk-base.
- updated dependencies to stable packages to
1.1.1
for all "experimental" packages. - updated Metrics Exporters to the latest Metrics SDK (
exporter-metrics-otlp-grpc
,exporter-metrics-otlp-http
,exporter-metrics-otlp-proto
) - updated
opentelemetry-sdk-node
to the latest Metrics SDK. - updated
otlp-transformer
to the latest Metrics SDK. - updated all
instrumentation-*
packages to use local implementations ofparseUrl()
due to #2884
- refactor(otlp-exporters) move base classes and associated types into their own packages #2893 @pichlermarc
otlp-exporter-base
=>OTLPExporterBase
,OTLPExporterBrowserBase
,OTLPExporterNodeBase
otlp-grpc-exporter-base
=>OTLPGRPCExporterNodeBase
otlp-proto-exporter-base
=>OTLPProtoExporterNodeBase
🚀 (Enhancement)
- feat: spec compliant metric creation and sync instruments #2588 @dyladan
- feat(api-metrics): async instruments spec compliance #2569 @legendecas
- feat(sdk-metrics-base): add ValueType support for sync instruments #2776 @legendecas
- feat(sdk-metrics-base): implement async instruments support #2686 @legendecas
- feat(sdk-metrics-base): meter registration #2666 @legendecas
- feat(sdk-metrics-base): bootstrap metrics exemplars #2641 @srikanthccv
- feat(metrics-sdk): bootstrap aggregation support #2634 @legendecas
- feat(metrics-sdk): bootstrap views api #2625 @legendecas
- feat(sdk-metrics): bootstrap metric streams #2636 @legendecas
- feat(views): add FilteringAttributesProcessor #2733 @pichlermarc
- feat(metric-reader): add metric-reader #2681 @pichlermarc
- feat(sdk-metrics-base): document and export basic APIs #2725 @legendecas
- feat(views): Update addView() to disallow named views that select more than one instrument. #2820 @pichlermarc
- feat(sdk-metrics-base): update exporting names #2829 @legendecas
- Add grpc compression to trace-otlp-grpc exporter #2813 @svetlanabrennan
- refactor: unifying shutdown once with BindOnceFuture #2695 @legendecas
- feat(prometheus): update prometheus exporter with wip metrics sdk #2824 @legendecas
- feat(instrumentation-xhr): add applyCustomAttributesOnSpan hook #2134 @mhennoch
- feat(proto): add @opentelemetry/otlp-transformer package with hand-rolled transformation #2746 @dyladan
- feat(sdk-metrics-base): shutdown and forceflush on MeterProvider #2890 @legendecas
- feat(sdk-metrics-base): return the same meter for identical input to getMeter #2901 @legendecas
🐛 (Bug Fix)
- fix(sdk-metrics-base): remove aggregator.toMetricData dependency on AggregationTemporality #2676 @legendecas
- fix(sdk-metrics-base): coerce histogram boundaries to be implicit Infinity #2859 @legendecas
- fix(instrumentation-http): HTTP 400 status code should not set span status to error on servers #2789 @nordfjord
📚 (Refine Doc)
- Update metrics example #2658 @svetlanabrennan
- docs(api-metrics): add notes on ObservableResult.observe #2712 @legendecas
🏠 (Internal)
- chore: move trace exporters back to experimental #2835 @dyladan
- refactor(sdk-metrics-base): meter shared states #2821 @legendecas