Releases: elastic/elastic-otel-node
@elastic/opentelemetry-node 1.1.0
Changelog
-
BREAKING CHANGE: This includes an update to
@opentelemetry/instrumentation-aws-sdk
v0.54.0 which inclues the following breaking changes:- Instrumentation of AWS SDK v2 has been dropped. See https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/opentelemetry-instrumentation-aws-sdk/CHANGELOG.md#0510-2025-04-08. (#788)
- The
aws.regionspan attribute has been changed tocloud.region. See https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/opentelemetry-instrumentation-aws-sdk/CHANGELOG.md#0540-2025-06-02. (#814)
-
feat: Add env var
ELASTIC_OTEL_HOST_METRICS_DISABLEDto control whether
EDOT Node.js will collect host metrics (process.*). This
means users can disable host metrics without affecting metrics from instrumentations.
(#736) -
The
ELASTIC_OTEL_METRICS_DISABLEDenvironment variable is now deprecated.
UseOTEL_METRICS_EXPORTER=none(instead ofELASTIC_OTEL_METRICS_DISABLED=true)
to disable any metrics being exported by EDOT Node.js. -
feat: Restore the
@elastic/opentelemetry-node/sdkentry-point and show how
to use it to bootstrap the EDOT Node.js SDK in code. This means using
node --import ./telemetry.mjs app.js, rather than the typical zero-code
node --import @elastic/opentelemetry-node app.jsmethod for starting the SDK.
(#718)The
./telemetry.mjsfile uses APIs exported by@elastic/opentelemetry-node/sdk
to configure and start the OpenTelemetry Node.js SDK. See
examples/telemetry.mjs.WARNING: Bootstrapping the Node SDK in code often means using
OpenTelemetry JS APIs that are not yet stable. These APIs may break in
minor versions of@elastic/opentelemetry-node. -
chore: add custom GCP resource detector to avoid internal telemetry to be sent. See open-telemetry/opentelemetry-js-contrib#2320.
(#709)
@elastic/opamp-client-node 0.2.0
@elastic/opamp-client-node 0.1.0
@elastic/mockopampserver 0.2.0
@elastic/opentelemetry-node 1.0.0
Changelog
-
BREAKING CHANGE: Change the default behavior of logging framework
instrumentations (for Bunyan, Pino, and Winston), to not do "log sending"
by default. "Log sending" is the feature name of
@opentelemetry/instrumentation-bunyan,
@opentelemetry/instrumentation-pino, and
@opentelemetry/instrumentation-winston
to send log records directly to the configured OTLP collector. The new
default behavior effectively sets the default config for these
instrumentations to{disableLogSending: true}.This default behavior differs from the current default in OpenTelemetry JS.
OpenTelemetry Java instrumentation docs
provide an argument for why log sending (or "Direct to collector") should be
opt-in. A common workflow for applications is to log to file or stdout and
have some external process collect those logs. In those cases, if the
OpenTelemetry SDK was also sending logs directly, then the telemetry
backend would very likely have duplicate logs.This is controlled by the
ELASTIC_OTEL_ENABLE_LOG_SENDINGenvironment variable.
To enable log-sending by default, setELASTIC_OTEL_ENABLE_LOG_SENDING=true.
(#680) -
BREAKING CHANGE: Set default value of
OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCEto delta.
This change is done to follow the recommendations specified in the EDOT docs.
(#670) -
feat: Default to stable semantic conventions for HTTP instrumentation.
(#669) -
Upgrade upstream OTel dependencies to SDK 2.0. This should be non-breaking
for users ofnode --import @elastic/opentelemetry-node my-app.jsto start
EDOT Node.js for their application.
(#663) -
BREAKING CHANGE: Remove support for passing in a function for a particular
instrumentation to thegetInstrumentations()utility. It wasn't adding any
value. -
chore: Use
peerDependenciesfor@opentelemetry/apidep, and cap it to a
known-supported maximum version, according to OTel JS guidance for
implementors
(#606) -
BREAKING CHANGE: Remove the
@elastic/opentelemetry-node/sdkentry-point for the 1.0.0 release.
This will be brought back in a minor release. It is being removed so that the
exported API can be re-worked to be more supportable. -
BREAKING CHANGE: Temporarily remove the 'gcp' resource detector, due to an
issue
that results in misleading tracing data from the resource detector appearing
to be from the application.
(#703)
@elastic/mockotlpserver 0.8.0
Changelog
-
feat: 'summary' rendering of Sum and Gauge metric types
(#686) -
BREAKING CHANGE: Bump min-supported node to
^18.19.0 || >=20.6.0.
This raises the minimum-supported Node.js to the same as OpenTelemetry JS SDK 2.0.
@elastic/opentelemetry-instrumentation-openai 0.5.0
Changelog
- Update to OpenTelemetry JS SDK 2.0.
- Bump minimum supported Node.js to
^18.19.0 || >=20.6.0.
- Bump minimum supported Node.js to
@elastic/mockotlpserver 0.7.0
@elastic/opentelemetry-node 0.7.0
Changelog
-
BREAKING CHANGE: Bump min-supported node to
^18.19.0 || >=20.6.0.
This raises the minimum-supported Node.js to the same as coming releases of OpenTelemetry JS.
This base version range ensures thatmodule.register()is available for improved ES module
(ESM) auto-instrumentation.
This drops support for Node.js 14 and 16. -
feat: Improve ES module (ESM) instrumentation.
As part of this change, using
--require @elastic/opentelemetry-nodewill
no longer setup a module hook for instrumenting ES modules; only using
--import @elastic/opentelemetry-nodewill do so. The recommendation now
is to use--import @elastic/opentelemetry-nodeto start EDOT Node.js.
Using--require ...is still fine when you know your application is only
using CommonJS modules.Implementation details: The underlying module hook mechanism for ESM has been
changed to only hook modules that will potentially be patched by configured
instrumentations. This allows some instrumentations to work that could not
before due to some ESM files not being hookable (at least via the imperfect
mechanism for hooking ES modules). One such example is
@elastic/instrumentation-openai. See
nodejs/import-in-the-middle#146 for internal
details. -
feat: Add
@opentelemetry/instrumentation-mysqlto the default set
of instrumentations. See https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/opentelemetry-instrumentation-mysql#readme -
feat: Add
@opentelemetry/instrumentation-mysql2to the default set
of instrumentations. See https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/opentelemetry-instrumentation-mysql2#readme -
feat: Add
@opentelemetry/instrumentation-cassandra-driverto the default set
of instrumentations. See https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/opentelemetry-instrumentation-cassandra#readme -
test: Test that the native instrumentation in
@elastic/elasticsearch@8.15.0and later works.
@elastic/mockotlpserver 0.6.3
Changelog
- Fix an alignment issue in the "gutter" of the trace-summary (waterfall) output
when 1-char units are used (i.e. any time unit above "ms").