diff --git a/docs/release-notes/breaking-changes.md b/docs/release-notes/breaking-changes.md
index 4dd6a3d9..072195b8 100644
--- a/docs/release-notes/breaking-changes.md
+++ b/docs/release-notes/breaking-changes.md
@@ -15,13 +15,13 @@ products:
Breaking changes can impact your Elastic applications, potentially disrupting normal operations. Before you upgrade, carefully review the Elastic Distribution of OpenTelemetry breaking changes and take the necessary steps to mitigate any issues.
-% ## Next version [edot-X.X.X-breaking-changes]
+% ## Next version [edot-node-X.X.X-breaking-changes]
% Use the following template to add entries to this document.
% TEMPLATE START
% $$$kibana-PR_NUMBER$$$
-% ::::{dropdown} Title of breaking change
+% ::::{dropdown} Title of breaking change
% Description of the breaking change.
% **Impact**
Impact of the breaking change.
% **Action**
Steps for mitigating impact.
@@ -29,24 +29,31 @@ Breaking changes can impact your Elastic applications, potentially disrupting no
% ::::
% TEMPLATE END
-% 1. Copy and edit the template in the right area section of this file. Most recent entries should be at the top of the section.
-% 2. Edit the anchor ID ($$$kibana-PR_NUMBER$$$) of the template with the correct PR number to give the entry a unique URL.
+% 1. Copy and edit the template in the right area section of this file. Most recent entries should be at the top of the section.
+% 2. Edit the anchor ID ($$$kibana-PR_NUMBER$$$) of the template with the correct PR number to give the entry a unique URL.
% 3. Don't hardcode the link to the new entry. Instead, make it available through the doc link service files:
% - {kib-repo}blob/{branch}/src/platform/packages/shared/kbn-doc-links/src/get_doc_links.ts
% - {kib-repo}blob/{branch}/src/platform/packages/shared/kbn-doc-links/src/types.ts
-%
+%
% The entry in the main links file should look like this:
-%
+%
% id: `${KIBANA_DOCS}breaking-changes.html#kibana-PR_NUMBER`
-%
+%
% 4. You can then call the link from any Kibana code. For example: `href: docLinks.links.upgradeAssistant.id`
% Check https://docs.elastic.dev/docs/kibana-doc-links (internal) for more details about the Doc links service.
+## Next [edot-node-next-breaking-changes]
+
+::::{dropdown} Change usage of "redis-4" to "redis" in `OTEL_NODE_ENABLED_INSTRUMENTATIONS` and `OTEL_NODE_DISABLED_INSTRUMENTATIONS`
+
+Support for instrumenting `redis` version 4 has moved from `@opentelemetry/instrumentation-redis-4` to `@opentelemetry/instrumentation-redis`. If you are using the `OTEL_NODE_ENABLED_INSTRUMENTATIONS` or `OTEL_NODE_DISABLED_INSTRUMENTATIONS` environment variables to control instrumentation of `redis@4` you will need to change from using "redis-4" to "redis".
+::::
+
## 1.1.0
::::{dropdown} AWS SDK v2 instrumentation has been dropped
-Refer to the [opentelemetry-instrumentation-aws-sdk release notes](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/opentelemetry-instrumentation-aws-sdk/CHANGELOG.md#0510-2025-04-08). The `aws.region` span attribute has been changed to `cloud.region`.
+Refer to the [opentelemetry-instrumentation-aws-sdk release notes](https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/plugins/node/opentelemetry-instrumentation-aws-sdk/CHANGELOG.md#0510-2025-04-08). The `aws.region` span attribute has been changed to `cloud.region`.
Refer to [Issue #814](https://github.com/elastic/elastic-otel-node/pull/814) and [Issue #788](https://github.com/elastic/elastic-otel-node/pull/788).
::::
diff --git a/docs/release-notes/index.md b/docs/release-notes/index.md
index 9a355d15..cb6133c0 100644
--- a/docs/release-notes/index.md
+++ b/docs/release-notes/index.md
@@ -39,6 +39,10 @@ To check for security updates, go to [Security announcements for the Elastic sta
### Fixes [edot-node-next-fixes]
+### Chores [edot-node-next-chores]
+
+- Support for instrumenting `redis` version 4 has moved from `@opentelemetry/instrumentation-redis-4` to `@opentelemetry/instrumentation-redis`. If you are using the `OTEL_NODE_ENABLED_INSTRUMENTATIONS` or `OTEL_NODE_DISABLED_INSTRUMENTATIONS` environment variables to control instrumentation of `redis@4` you will need to change from using "redis-4" to "redis".
+
## 1.1.1 [edot-node-1.1.1-release-notes]
### Fixes [edot-node-1.1.1-fixes]
diff --git a/packages/opentelemetry-node/lib/instrumentations.js b/packages/opentelemetry-node/lib/instrumentations.js
index cc48bd79..72ce8163 100644
--- a/packages/opentelemetry-node/lib/instrumentations.js
+++ b/packages/opentelemetry-node/lib/instrumentations.js
@@ -45,7 +45,6 @@ const {log} = require('./logging');
* "@opentelemetry/instrumentation-pg": import('@opentelemetry/instrumentation-pg').PgInstrumentationConfig
* "@opentelemetry/instrumentation-pino": import('@opentelemetry/instrumentation-pino').PinoInstrumentationConfig
* "@opentelemetry/instrumentation-redis": import('@opentelemetry/instrumentation-redis').RedisInstrumentationConfig,
- * "@opentelemetry/instrumentation-redis-4": import('@opentelemetry/instrumentation-redis-4').RedisInstrumentationConfig,
* "@opentelemetry/instrumentation-restify": import('@opentelemetry/instrumentation-restify').RestifyInstrumentationConfig,
* "@opentelemetry/instrumentation-router": import('@opentelemetry/instrumentation').InstrumentationConfig,
* "@opentelemetry/instrumentation-runtime-node": import('@opentelemetry/instrumentation-runtime-node').RuntimeNodeInstrumentationConfig,
@@ -89,7 +88,6 @@ const {NetInstrumentation} = require('@opentelemetry/instrumentation-net');
const {PgInstrumentation} = require('@opentelemetry/instrumentation-pg');
const {PinoInstrumentation} = require('@opentelemetry/instrumentation-pino');
const {RedisInstrumentation} = require('@opentelemetry/instrumentation-redis');
-const {RedisInstrumentation: RedisFourInstrumentation} = require('@opentelemetry/instrumentation-redis-4');
const {RestifyInstrumentation} = require('@opentelemetry/instrumentation-restify');
const {RouterInstrumentation} = require('@opentelemetry/instrumentation-router');
const {RuntimeNodeInstrumentation} = require('@opentelemetry/instrumentation-runtime-node');
@@ -139,7 +137,6 @@ const instrumentationsMap = {
'@opentelemetry/instrumentation-pg': (cfg) => new PgInstrumentation(cfg),
'@opentelemetry/instrumentation-pino': (cfg) => new PinoInstrumentation(cfg),
'@opentelemetry/instrumentation-redis': (cfg) => new RedisInstrumentation(cfg),
- '@opentelemetry/instrumentation-redis-4': (cfg) => new RedisFourInstrumentation(cfg),
'@opentelemetry/instrumentation-restify': (cfg) => new RestifyInstrumentation(cfg),
'@opentelemetry/instrumentation-router': (cfg) => new RouterInstrumentation(cfg),
'@opentelemetry/instrumentation-runtime-node': (cfg) => new RuntimeNodeInstrumentation(cfg),
diff --git a/packages/opentelemetry-node/package-lock.json b/packages/opentelemetry-node/package-lock.json
index 5ccde868..a9f89fd4 100644
--- a/packages/opentelemetry-node/package-lock.json
+++ b/packages/opentelemetry-node/package-lock.json
@@ -50,7 +50,6 @@
"@opentelemetry/instrumentation-pg": "^0.55.0",
"@opentelemetry/instrumentation-pino": "^0.50.0",
"@opentelemetry/instrumentation-redis": "^0.51.0",
- "@opentelemetry/instrumentation-redis-4": "^0.49.0",
"@opentelemetry/instrumentation-restify": "^0.49.0",
"@opentelemetry/instrumentation-router": "^0.48.0",
"@opentelemetry/instrumentation-runtime-node": "^0.17.0",
@@ -2964,52 +2963,6 @@
"@opentelemetry/api": "^1.3.0"
}
},
- "node_modules/@opentelemetry/instrumentation-redis-4": {
- "version": "0.49.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-redis-4/-/instrumentation-redis-4-0.49.0.tgz",
- "integrity": "sha512-i+Wsl7M2LXEDA2yXouNJ3fttSzzb5AhlehvSBVRIFuinY51XrrKSH66biO0eox+pYQMwAlPxJ778XcMQffN78A==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/instrumentation": "^0.202.0",
- "@opentelemetry/redis-common": "^0.37.0",
- "@opentelemetry/semantic-conventions": "^1.27.0"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": "^1.3.0"
- }
- },
- "node_modules/@opentelemetry/instrumentation-redis-4/node_modules/@opentelemetry/api-logs": {
- "version": "0.202.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.202.0.tgz",
- "integrity": "sha512-fTBjMqKCfotFWfLzaKyhjLvyEyq5vDKTTFfBmx21btv3gvy8Lq6N5Dh2OzqeuN4DjtpSvNT1uNVfg08eD2Rfxw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/api": "^1.3.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/@opentelemetry/instrumentation-redis-4/node_modules/@opentelemetry/instrumentation": {
- "version": "0.202.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.202.0.tgz",
- "integrity": "sha512-Uz3BxZWPgDwgHM2+vCKEQRh0R8WKrd/q6Tus1vThRClhlPO39Dyz7mDrOr6KuqGXAlBQ1e5Tnymzri4RMZNaWA==",
- "license": "Apache-2.0",
- "dependencies": {
- "@opentelemetry/api-logs": "0.202.0",
- "import-in-the-middle": "^1.8.1",
- "require-in-the-middle": "^7.1.1"
- },
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- },
- "peerDependencies": {
- "@opentelemetry/api": "^1.3.0"
- }
- },
"node_modules/@opentelemetry/instrumentation-redis/node_modules/@opentelemetry/redis-common": {
"version": "0.38.0",
"resolved": "https://registry.npmjs.org/@opentelemetry/redis-common/-/redis-common-0.38.0.tgz",
@@ -3217,14 +3170,6 @@
"@opentelemetry/api": ">=1.0.0 <1.10.0"
}
},
- "node_modules/@opentelemetry/redis-common": {
- "version": "0.37.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/redis-common/-/redis-common-0.37.0.tgz",
- "integrity": "sha512-tJwgE6jt32bLs/9J6jhQRKU2EZnsD8qaO13aoFyXwF6s4LhpT7YFHf3Z03MqdILk6BA2BFUhoyh7k9fj9i032A==",
- "engines": {
- "node": "^18.19.0 || >=20.6.0"
- }
- },
"node_modules/@opentelemetry/resource-detector-alibaba-cloud": {
"version": "0.31.3",
"resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-alibaba-cloud/-/resource-detector-alibaba-cloud-0.31.3.tgz",
@@ -11815,36 +11760,6 @@
}
}
},
- "@opentelemetry/instrumentation-redis-4": {
- "version": "0.49.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-redis-4/-/instrumentation-redis-4-0.49.0.tgz",
- "integrity": "sha512-i+Wsl7M2LXEDA2yXouNJ3fttSzzb5AhlehvSBVRIFuinY51XrrKSH66biO0eox+pYQMwAlPxJ778XcMQffN78A==",
- "requires": {
- "@opentelemetry/instrumentation": "^0.202.0",
- "@opentelemetry/redis-common": "^0.37.0",
- "@opentelemetry/semantic-conventions": "^1.27.0"
- },
- "dependencies": {
- "@opentelemetry/api-logs": {
- "version": "0.202.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.202.0.tgz",
- "integrity": "sha512-fTBjMqKCfotFWfLzaKyhjLvyEyq5vDKTTFfBmx21btv3gvy8Lq6N5Dh2OzqeuN4DjtpSvNT1uNVfg08eD2Rfxw==",
- "requires": {
- "@opentelemetry/api": "^1.3.0"
- }
- },
- "@opentelemetry/instrumentation": {
- "version": "0.202.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.202.0.tgz",
- "integrity": "sha512-Uz3BxZWPgDwgHM2+vCKEQRh0R8WKrd/q6Tus1vThRClhlPO39Dyz7mDrOr6KuqGXAlBQ1e5Tnymzri4RMZNaWA==",
- "requires": {
- "@opentelemetry/api-logs": "0.202.0",
- "import-in-the-middle": "^1.8.1",
- "require-in-the-middle": "^7.1.1"
- }
- }
- }
- },
"@opentelemetry/instrumentation-restify": {
"version": "0.49.0",
"resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-restify/-/instrumentation-restify-0.49.0.tgz",
@@ -11965,11 +11880,6 @@
"@opentelemetry/core": "2.0.1"
}
},
- "@opentelemetry/redis-common": {
- "version": "0.37.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/redis-common/-/redis-common-0.37.0.tgz",
- "integrity": "sha512-tJwgE6jt32bLs/9J6jhQRKU2EZnsD8qaO13aoFyXwF6s4LhpT7YFHf3Z03MqdILk6BA2BFUhoyh7k9fj9i032A=="
- },
"@opentelemetry/resource-detector-alibaba-cloud": {
"version": "0.31.3",
"resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-alibaba-cloud/-/resource-detector-alibaba-cloud-0.31.3.tgz",
diff --git a/packages/opentelemetry-node/package.json b/packages/opentelemetry-node/package.json
index a9bc2fd3..94d063bb 100644
--- a/packages/opentelemetry-node/package.json
+++ b/packages/opentelemetry-node/package.json
@@ -113,7 +113,6 @@
"@opentelemetry/instrumentation-pg": "^0.55.0",
"@opentelemetry/instrumentation-pino": "^0.50.0",
"@opentelemetry/instrumentation-redis": "^0.51.0",
- "@opentelemetry/instrumentation-redis-4": "^0.49.0",
"@opentelemetry/instrumentation-restify": "^0.49.0",
"@opentelemetry/instrumentation-router": "^0.48.0",
"@opentelemetry/instrumentation-runtime-node": "^0.17.0",
diff --git a/packages/opentelemetry-node/test/instr-redis-4.test.js b/packages/opentelemetry-node/test/instr-redis.test.js
similarity index 94%
rename from packages/opentelemetry-node/test/instr-redis-4.test.js
rename to packages/opentelemetry-node/test/instr-redis.test.js
index 54c7c9b4..dbaa7761 100644
--- a/packages/opentelemetry-node/test/instr-redis-4.test.js
+++ b/packages/opentelemetry-node/test/instr-redis.test.js
@@ -9,7 +9,7 @@ const {filterOutDnsNetSpans, runTestFixtures} = require('./testutils');
const skip = process.env.REDIS_HOST === undefined;
if (skip) {
console.log(
- '# SKIP redis-4 tests: REDIS_HOST is not set (try with `REDIS_HOST=localhost`)'
+ '# SKIP redis tests: REDIS_HOST is not set (try with `REDIS_HOST=localhost`)'
);
}
@@ -38,7 +38,7 @@ const testFixtures = [
t.equal(s.traceId, spans[0].traceId, 'traceId');
t.equal(s.parentSpanId, spans[0].spanId, 'parentSpanId');
t.equal(s.kind, 'SPAN_KIND_CLIENT', 'kind');
- t.equal(s.scope.name, '@opentelemetry/instrumentation-redis-4');
+ t.equal(s.scope.name, '@opentelemetry/instrumentation-redis');
t.equal(s.attributes['db.system'], 'redis');
});
t.equal(spans[1].name, 'redis-connect');
@@ -72,7 +72,7 @@ const testFixtures = [
},
];
-test('redis-4 instrumentation', {skip}, (suite) => {
+test('redis instrumentation', {skip}, (suite) => {
runTestFixtures(suite, testFixtures);
suite.end();
});
diff --git a/packages/opentelemetry-node/types/instrumentations.d.ts b/packages/opentelemetry-node/types/instrumentations.d.ts
index a1452c2e..eac082ff 100644
--- a/packages/opentelemetry-node/types/instrumentations.d.ts
+++ b/packages/opentelemetry-node/types/instrumentations.d.ts
@@ -32,7 +32,6 @@ export type InstrumentaionsMap = {
"@opentelemetry/instrumentation-pg": import('@opentelemetry/instrumentation-pg').PgInstrumentationConfig;
"@opentelemetry/instrumentation-pino": import('@opentelemetry/instrumentation-pino').PinoInstrumentationConfig;
"@opentelemetry/instrumentation-redis": import('@opentelemetry/instrumentation-redis').RedisInstrumentationConfig;
- "@opentelemetry/instrumentation-redis-4": import('@opentelemetry/instrumentation-redis-4').RedisInstrumentationConfig;
"@opentelemetry/instrumentation-restify": import('@opentelemetry/instrumentation-restify').RestifyInstrumentationConfig;
"@opentelemetry/instrumentation-router": import('@opentelemetry/instrumentation').InstrumentationConfig;
"@opentelemetry/instrumentation-runtime-node": import('@opentelemetry/instrumentation-runtime-node').RuntimeNodeInstrumentationConfig;