All notable changes to experimental packages in this project will be documented in this file.
- fix(exporter-logs-otlp-proto): change OTLPLogExporter to OTLPLogExporter #4140 @Vunovati
- fix(sdk-node): remove explicit dependency on @opentelemetry/exporter-jaeger
- '@opentelemetry/exporter-jaeger' is no longer be a dependency of this package. To continue using '@opentelemetry/exporter-jaeger', please install it manually.
- NOTE:
@opentelemetry/exporter-jaeger
is deprecated, consider switching to one of the alternatives described here
- NOTE:
- '@opentelemetry/exporter-jaeger' is no longer be a dependency of this package. To continue using '@opentelemetry/exporter-jaeger', please install it manually.
- feat(exporter-metrics-otlp-proto): add esm build #4099 @pichlermarc
- feat(opencensus-shim): implement OpenCensus metric producer #4066 @aabmass
- Revert "feat(api): add attributes argument to recordException API #4071"
- This feature was an unintentional breaking change introduced with API 1.5.0
- This PR updates all experimental packages to allow API 1.6.0, where this change has been reverted.
- chore(sdk-node): deprecate methods in favor of constructor options #3996 @pichlermarc
- The following methods are now deprecated and will be removed in
0.43.0
NodeSDK.configureTracerProvider()
, please use constructor options insteadNodeSDK.configureMeterProvider()
, please use constructor options insteadNodeSDK.configureLoggerProvider()
, please use constructor options insteadNodeSDK.addResource()
, please use constructor options insteadNodeSDK.detectResources()
, this is not necessary anymore, resources are now auto-detected on startup.
- The following methods are now deprecated and will be removed in
- chore(sdk-node): add notice that '@opentelemetry/exporter-jaeger' has to be installed manually in the next version #4068 @pichlermarc
- Starting with 0.43.0 '@opentelemetry/exporter-jaeger' will no longer be a dependency of this package. To continue using '@opentelemetry/exporter-jaeger', please install it manually.
- NOTE:
@opentelemetry/exporter-jaeger
is deprecated, consider switching to one of the alternatives described here
- NOTE:
- Starting with 0.43.0 '@opentelemetry/exporter-jaeger' will no longer be a dependency of this package. To continue using '@opentelemetry/exporter-jaeger', please install it manually.
- feat: update PeriodicExportingMetricReader and PrometheusExporter to accept optional metric producers #4077 @aabmass
- fix(exporter-logs-otlp-http): add @opentelemetry/api-logs as dependency
- fix(opentelemetry-exporter-logs-otlp-http): Add otel-api as dev dep for tests as they are directly importing the api and which is breaking the web-sandbox tests which is using rollup
- fix(instrumentation-grpc): instrument @grpc/grpc-js Client methods #3804 @pichlermarc
- docs(sdk-metrics): add example of exponential histogram metric #3855 @JamieDanielson
- feat(sdk-node): logs support added #3969 @psk001
- Revert "feat(minification): Add noEmitHelpers, importHelpers and tslib as a dependency (#3914)" #4011 @dyladan
- chore(instrumentation-grpc): Drop support for package
grpc
. #3807 @llc1123
- feat(otlp-grpc-exporters): add support for UDS endpoints. #3853 @llc1123
- feat(otlp-exporters): bump otlp proto to 0.20.0 #3932 @pichlermarc
- feat(exporter-metrics-otlp-*): add LowMemory metrics temporality preference #3915 @martinkuba
- Adds support for LowMemory temporality preference
- Adds support for
lowmemory
inOTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE
- fix(exporter-logs-otlp-http): set useHex to true #3875 @Nico385412
- fix(otlp-proto-exporter-base): add missing type import #3937 @pichlermarc
- fix(example-opencensus-shim): avoid OpenCensus auto instrumentations #3951 @llc1123
- fix(http-intrumentation): prevent request socket null from throwing uncaught error #3858 @aodysseos
- chore(instrumentation-grpc): Cleanup remnants of grpc-native support. #3886 @llc1123
- fix(exporter-logs-otlp-grpc): change OTLPLogsExporter to OTLPLogExporter #3819 @fuaiyi
- chore(instrumentation-grpc): add 'grpc' deprecation notice postinstall script #3833 @pichlermarc
- Support for telemetry generation for the
grpc
module will be dropped in the next release as the package has been deprecated for over 1 year, please migrate to@grpc/grpc-js
to continue receiving telemetry.
- Support for telemetry generation for the
- feat(api-logs): support map in log attributes. #3821 @Abinet18
- feat(instrumentation): add ESM support for instrumentation. #3698 @JamieDanielson, @pkanal, @vmarchaud, @lizthegrey, @bengl
- feat(exporter-logs-otlp-http): otlp-http exporter for logs. #3764 @fuaiyi
- feat(otlp-trace-exporters): Add User-Agent header to OTLP trace exporters. #3790 @JamieDanielson
- feat(otlp-metric-exporters): Add User-Agent header to OTLP metric exporters. #3806 @JamieDanielson
- feat(opencensus-shim): add OpenCensus trace shim #3809 @aabmass
- feat(exporter-logs-otlp-proto): protobuf exporter for logs. #3779 @Abinet18
- fix(sdk-node): use resource interface instead of concrete class #3803 @blumamir
- fix(sdk-logs): remove includeTraceContext configuration and use LogRecord context when available #3817 @hectorhdzg
- fix(otlp-transformer): move api-logs to dependencies #3798 @pichlermarc
- feat(otlp-transformer): support log records. #3712 @llc1123
- feat(otlp-grpc-exporter-base): support log records. #3712 @llc1123
- feat(exporter-logs-otlp-grpc): otlp-grpc exporter for logs. #3712 @llc1123
- feat(otlp-grpc-exporter-base): use statically generated protobuf code #3705 @pichlermarc
- refactor(otlp-transformer): refine metric transformers. #3770 @llc1123
- feat(api-logs): add
ObservedTimestamp
toLogRecord
. #3787 @llc1123
- fix(instrumentation): update
require-in-the-middle
to v7.1.0 #3727 @trentm - fix(instrumentation): update
require-in-the-middle
to v7.0.1 #3743 @trentm
- doc(instrumentation): add limitiations section to readme #3786 @flarna
- fix: remove HTTP/HTTPS prefix from span name in instrumentation-xml-http-request #3672 @jufab
- fix(sdk-node)!: remove unused defaultAttributes option #3724 @pichlermarc
- Please use
NodeSDKConfiguration.resource
instead
- Please use
- feat(sdk-logs): use logs API 0.38
- fix(sdk-node): only set DiagConsoleLogger when OTEL_LOG_LEVEL is set #3693 @pichlermarc
- fix: remove HTTP/HTTPS prefix from span name in instrumentation-xml-http-request #3672 @jufab
- feat(api-logs): 1.
LogRecord
fields update:traceFlags
/traceId
/spanId
->context
; 2.Logger
supports configuringincludeTraceContext
; 3.TheonEmit
method ofLogRecordProcessor
supports thecontext
field. #3549 @fuaiyi - feat(sdk-logs): logs sdk implementation. #3549 @fuaiyi
- feat: remove HTTP/HTTPS prefix from span name #3603 @Flarna
- feat: use HTTP_ROUTE in span name #3603 @Flarna
- feat: add HTTP_ROUTE attribute to http incoming metrics if present #3581 @hermogenes
- feat(opentelemetry-instrumentation-grpc): allow to add attributes from grpc metadata in the patched server #3589 @zombispormedio
- feat(sdk-node): install diag logger with OTEL_LOG_LEVEL #3627 @legendecas
- feat(otlp-exporter-base): add retries #3207 @svetlanabrennan
- feat(sdk-node): override IdGenerator when using NodeSDK #3645 @haddasbronfman
- feat(otlp-transformer): expose dropped attributes, events and links counts on the transformed otlp span #3576 @mohitk05
- fix(prometheus-exporter): add possibility to respond to errors returned by
server.listen()
#3552 @pichlermarc - fix(sdk-node): update instrumentations once MeterProvider is initialized #3624 @pichlermarc
- fix: remove JSON syntax error and regenerate tsconfig files #3566 @Flarna
- Fixes an error where the generated JS files were not included in the esnext package due to a failure of the tsconfig generation
- fix(sdk-node): register instrumentations early #3502 @flarna
- fix: include tracestate in export #3569 @flarna
- fix(http) Remove outgoing headers normalization #3557 @marcinjahn
- feat(instrumentation-http): monitor error events with events.errorMonitor #3402 @legendecas
- feat(instrumentation-grpc): added grpc metadata client side attributes in instrumentation #3386
- feat(instrumentation): add new
_setMeterInstruments
protected method that update the meter instruments every meter provider update. - feat(api-logs): add the
SeverityNumber
enumeration. #3443 @fuaiyi - feat(sdk-node): configure no-op sdk with
OTEL_SDK_DISABLED
environment variable #3485 @RazGvili
- fix(instrumentation-xhr): http.url attribute should be absolute #3200 @t2t2
- fix(instrumentation-grpc): always set grpc semcov status code attribute with numeric value #3076 @blumamir
- fix(instrumentation): only call
onRequire
for full matches on core modules with sub-paths #3451 @mhassan1 - fix(instrumentation): add back support for absolute paths via
require-in-the-middle
#3457 @mhassan1 - fix(prometheus-sanitization): replace repeated
_
with a single_
3470 @samimusallam - fix(prometheus-serializer): correct string used for NaN #3477 @JacksonWeber
- fix(instrumentation-http): close server span when response finishes #3407 @legendecas
- fix(instrumentation-fetch): make spans resilient to clock drift by using Date.now #3434 @dyladan
- fix(instrumentation-xml-http-request): make spans resilient to clock drift by using Date.now #3434 @dyladan
- fix(sdk-node): fix exporter to be read only OTEL_TRACES_EXPORTER is set to a valid exporter [3492] @svetlanabrennan
- chore(otlp-proto-exporter-base): upgrade protobufjs to 7.1.2 and relax versioning #3433 @seemk
@opentelemetry/sdk-metrics
moved to packages/sdk-metrics@opentelemetry/api-metrics
deprecated and merged into api
- feat(metrics-sdk): Add tracing suppresing for Metrics Export #3332 @hectorhdzg
- feat(instrumentation): implement
require-in-the-middle
singleton #3161 @mhassan1 - feat(sdk-node): configure trace exporter with environment variables #3143 @svetlanabrennan
- feat: enable tree shaking #3329 @pkanal
- feat(prometheus): serialize resource as target_info gauge #3300 @pichlermarc
- feat(detectors): add browser detector module #3292 @abinet18
- deps: remove unused proto-loader dependencies and update grpc-js and proto-loader versions #3337 @seemk
- feat(metrics-exporters): configure temporality via environment variable #3305 @pichlermarc
- feat(console-metric-exporter): add temporality configuration #3387 @pichlermarc
- fix(node-sdk): move
@opentelemetry/semantic-conventions
todependencies
#3283 @mhassan1 - fix(exporters): do not append trailing '/' when URL contains path #3274 @pichlermarc
- fix(instrumentation): debug log on no modules defined for instrumentation #3308 @legendecas
- docs(metrics-exporters): fix wrong exporter const name in example #3270 @pichlermarc
- ci(instrumentation-http): remove got devDependency #3347 @dyladan
- deps(instrumentation-http): move sdk-metrics to dev dependencies #3380 @pichlermarc
-
Add
resourceDetectors
option toNodeSDK
#3210NodeSDK.detectResources()
function is no longer able to receive config as a parameter. Instead, the detectors are passed to the constructor.
-
chore(metrics-sdk): clean up exports #3197 @pichlermarc
- removes export for:
AccumulationRecord
Aggregator
AggregatorKind
Accumulation
createInstrumentDescriptor
createInstrumentDescriptorWithView
isDescriptorCompatibleWith
- removes export for:
-
chore(api-metrics): clean up exports #3198 @pichlermarc
- removes export for:
NOOP_COUNTER_METRIC
NOOP_HISTOGRAM_METRIC
NOOP_METER_PROVIDER
NOOP_OBSERVABLE_COUNTER_METRIC
NOOP_OBSERVABLE_GAUGE_METRIC
NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC
NOOP_UP_DOWN_COUNTER_METRIC
NoopCounterMetric
NoopHistogramMetric
NoopMeter
NoopMeterProvider
NoopMetric
NoopObservableCounterMetric
NoopObservableGaugeMetric
NoopObservableMetric
NoopObservableUpDownCounterMetric
NoopUpDownCounterMetric
- removes export for:
-
feat(sdk-metrics): align MetricReader with specification and other language implementations #3225 @pichlermarc
-
chore(sdk-metrics): remove accidental export of the SDK
Meter
class #3243 @pichlermarc
- docs(sdk-metrics): fix typos and add missing parameter docs. #3244 @pichlermarc
- ci(instrumentation-http): improve metrics test stability #3242 @pichlermarc
- deps: remove unused protobufjs and update used ones to 7.1.1 #3251 #3251 @pichlermarc
- Rename @opentelemetry/sdk-metrics-base package to @opentelemetry/sdk-metrics #3162 @hectorhdzg
- feature(instrumentation-http): Add HTTP Server and Client duration Metrics in HTTP Node.js Instrumentation #3149 @hectorhdzg
- fix(add-views-to-node-sdk): added the ability to define meter views in
NodeSDK
#3066 @weyert - feature(add-console-metrics-exporter): add ConsoleMetricExporter #3120 @weyert
- feature(prometheus-serialiser): export the unit block when unit is set in metric descriptor #3066 @weyert
- feat: support latest
@opentelemetry/api
#3177 @dyladan - feat(sdk-metrics-base): add per metric-reader aggregation support #3153 @legendecas
- chore(deps): update prometheus example dependencies to 0.32 #3126 @avzis
- feature(opentelemetry-api-metrics): Adding generics to
create{metricType}
#3151 @tomerghelber-tm
- fix(instrumentation-http): add
http.host
attribute before sending the request #3054 @cuichenli
- feature(views): move views registration to MeterProvider constructor #3066 @pichlermarc
- feat(sdk-metrics-base): split up Singular into Sum and Gauge in MetricData #3079 @pichlermarc
- removes
DataPointType.SINGULAR
, and replaces it withDataPointType.SUM
andDataPointType.GAUGE
- removes
SingularMetricData
and replaces it withSumMetricData
(including an additionalisMonotonic
flag) andGaugeMetricData
- removes
- feat(histogram): align collection of optional Histogram properties with spec #3102 @pichlermarc
- changes type of
sum
property onHistogram
tonumber | undefined
- changes type of
min
andmax
properties onHistogram
tonumber | undefined
- removes
hasMinMax
flag on the exportedHistogram
- this is now indicated bymin
andmax
beingundefined
- changes type of
- feat(metrics-api): use common attributes definitions #3038 @legendecas
- feat(otlp-proto): pre-compile proto files #3098 @legendecas
- feat(opentelemetry-sdk-metrics-base): added InMemoryMetricExporter #3039 @weyert
- fix(histogram): fix maximum when only values < -1 are provided #3086 @pichlermarc
- fix(instrumentation-grpc): always set grpc semcov status code attribute with numeric value #3076 @blumamir
- fix: remove aws and gcp detector from SDK #3024 @flarna
- feat(sdk-metrics-base): implement min/max recording for Histograms #3032 @pichlermarc
- adds
min
/max
recording to Histograms - updates opentelemetry-proto to
0.18
so thatmin
andmax
can be exported. This change breaks the OTLP/JSON Metric Exporter for all collector versions<0.52
due to open-telemetry/opentelemetry-collector#5312.
- adds
- feat(opentelemetry-instrumentation-fetch): optionally ignore network events #3028 @gregolsen
- feat(http-instrumentation): record exceptions in http instrumentation #3008 @luismiramirez
- feat(node-sdk): add serviceName config option #2867 @naseemkullah
- feat(opentelemetry-exporter-prometheus): export PrometheusSerializer #3034 @matschaffer
- feat(sdk-metrics-base): detect resets on async metrics #2990 @legendecas
- Added monotonicity support in SumAggregator.
- Added reset and gaps detection for async metric instruments.
- Fixed the start time and end time of an exported metric with regarding to resets and gaps.
- fix(otlp-transformer): remove type dependency on Long #3022 @legendecas
- fix(grpc-exporter): use non-normalized URL to determine channel security #3019 @pichlermarc
- fix(otlp-exporter-base): fix gzip output stream in http otlp export #3046 @mattolson
- docs(grpc-exporters): remove 'web' as supported from README.md #3070 @pichlermarc
- test: add node 18 and remove EoL node versions #3048 @dyladan
- Support for 1.3.1 of stable packages
- fix(sdk-metrics-base): only record non-negative histogram values #3002 @pichlermarc
- fix(otlp-transformer): include missing prepublishOnly script which ensures esm and esnext build files are created and packaged @dyladan
- feat(metrics): metric readers and exporters now select aggregation temporality based on instrument type #2902 @seemk
- refactor(metrics-sdk): rename InstrumentationLibrary -> InstrumentationScope #2959 @pichlermarc
- feat(metrics): multi-instrument async callback support #2966 @legendecas
- changes on
meter.createObservableCounter
,meter.createObservableGauge
,meter.createObservableUpDownCounter
- removed the second parameter
callback
- returns an
Observable
object on which callbacks can be registered or unregistered.
- removed the second parameter
- added
meter.addBatchObservableCallback
andmeter.removeBatchObservableCallback
.
- changes on
- fix: remove attributes from OTLPExporterConfigBase #2991 @flarna
- feat(exporters): update proto version and use otlp-transformer #2929 @pichlermarc
- fix(sdk-metrics-base): misbehaving aggregation temporality selector tolerance #2958 @legendecas
- feat(trace-otlp-grpc): configure security with env vars #2827 @svetlanabrennan
- feat(sdk-metrics-base): async instruments callback timeout #2742 @legendecas
- fix(opentelemetry-instrumentation-http): use correct origin when port is
null
#2948 @danielgblanco - fix(otlp-exporter-base): include esm and esnext in package files #2952 @dyladan
- fix(otlp-http-exporter): update endpoint to match spec #2895 @svetlanabrennan
- fix(instrumentation): only patch core modules if enabled #2993 @santigimeno
- fix(otlp-transformer): include esm and esnext in package files and update README #2992 @pichlermarc
- fix(metrics): specification compliant default metric unit #2983 @andyfleming
- fix(opentelemetry-instrumentation): use all provided patches for the same file #2963 @Ugzuzg
- 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
- 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
- feat(otlp-exporter): add OTEL_EXPORTER_OTLP_TIMEOUT env var to otlp exporters #2738 @svetlanabrennan
- feat(sdk-metrics-base): hoist async instrument callback invocations #2822 @legendecas
- 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
- Update metrics example #2658 @svetlanabrennan
- docs(api-metrics): add notes on ObservableResult.observe #2712 @legendecas
- chore: move trace exporters back to experimental #2835 @dyladan
- refactor(sdk-metrics-base): meter shared states #2821 @legendecas
- #2566 feat!(metrics): remove batch observer (@dyladan)
- #2485 feat!: Split metric and trace exporters into new experimental packages (@willarmiros)
- #2540 fix(sdk-metrics-base): remove metric kind BATCH_OBSERVER (@legendecas)
- #2496 feat(api-metrics): rename metric instruments to match feature-freeze API specification (@legendecas)
- #2523 feat: Rename Labels to Attributes (@pirgeo)
- #2559 feat(api-metrics): remove bind/unbind and bound instruments (@legendecas)
- #2563 feat(sdk-metrics-base): remove per-meter config on MeterProvider.getMeter (@legendecas)
- #2610 fix: preventing double enable for instrumentation that has been already enabled (@obecny)
- #2581 feat: lazy initialization of the gzip stream (@fungiboletus)
- #2584 fix: fixing compatibility versions for detectors (@obecny)
- #2558 fix(@opentelemetry/exporter-prometheus): unref prometheus server to prevent process running indefinitely (@mothershipper)
- #2495 fix(sdk-metrics-base): metrics name should be in the max length of 63 (@legendecas)
- #2497 feat(@opentelemetry-instrumentation-fetch): support reading response body from the hook applyCustomAttributesOnSpan (@echoontheway)
- #2561 Use new canonical path to Getting Started (@chalin)
- #2576 docs(instrumentation): update links in the Readme (@OlivierAlbertini)
- #2600 docs: fix URLs in README post-experimental move (@arbourd)
- #2579 doc: Move upgrade propagator notes to correct section (@NathanielRN)
- #2568 chore(doc): update matrix with contrib version for 1.0 core (@vmarchaud)
- #2555 docs: expose existing comments (@moander)
- #2493 chore: remove getting started and link to documentation. (@svrnm)
- #2404 chore: Fix lint warnings in instrumentation package (@alisabzevari)
- #2533 chore: regularly close stale issues (@Rauno56)
- #2570 chore: adding selenium tests with browserstack (@obecny)
- #2522 chore: cleanup setting config in instrumentations (@Flarna)
- #2541 chore: slim font size for section title in PR template (@legendecas)
- #2509 chore: expand pull request template with action items (@pragmaticivan)
- #2488 chore: inline sources in source maps (@dyladan)
- #2514 chore: update stable dependencies to 1.0 (@dyladan)
For changelog entries for previous releases see the CHANGELOG.md.