Skip to content

Commit cb45209

Browse files
committed
chore: reduce the dependency count
The `sdk-node` package actually includes quite a few of the dependencies we've been using. We can reduce our maintenance overhead a little by removing these and relying on sub-properties of the SDK.
1 parent af3504a commit cb45209

File tree

10 files changed

+18
-28
lines changed

10 files changed

+18
-28
lines changed

package-lock.json

Lines changed: 0 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/opentelemetry/lib/config/metrics.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ const {
22
OTLPMetricExporter
33
} = require('@opentelemetry/exporter-metrics-otlp-proto');
44
const { CompressionAlgorithm } = require('@opentelemetry/otlp-exporter-base');
5-
const { PeriodicExportingMetricReader } = require('@opentelemetry/sdk-metrics');
5+
require('@opentelemetry/sdk-node');
6+
const { PeriodicExportingMetricReader } =
7+
require('@opentelemetry/sdk-node').metrics;
68
const logger = require('@dotcom-reliability-kit/logger');
79
const { METRICS_USER_AGENT } = require('./user-agents');
810

packages/opentelemetry/lib/config/resource.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
const appInfo = require('@dotcom-reliability-kit/app-info').semanticConventions;
2-
const { Resource } = require('@opentelemetry/resources');
2+
const { Resource } = require('@opentelemetry/sdk-node').resources;
33
const {
44
SEMRESATTRS_CLOUD_PROVIDER,
55
SEMRESATTRS_CLOUD_REGION,
@@ -12,7 +12,7 @@ const {
1212
/**
1313
* Create a Resource object using gathered app info.
1414
*
15-
* @returns {import('@opentelemetry/sdk-node').NodeSDKConfiguration['resource']}
15+
* @returns {import('@opentelemetry/sdk-node').resources.Resource}
1616
*/
1717
exports.createResourceConfig = function createResourceConfig() {
1818
// We set OpenTelemetry resource attributes based on app data

packages/opentelemetry/lib/config/tracing.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
const {
22
OTLPTraceExporter
33
} = require('@opentelemetry/exporter-trace-otlp-proto');
4-
const {
5-
NoopSpanProcessor,
6-
TraceIdRatioBasedSampler
7-
} = require('@opentelemetry/sdk-trace-base');
4+
const { NoopSpanProcessor, TraceIdRatioBasedSampler } =
5+
require('@opentelemetry/sdk-node').tracing;
6+
87
const logger = require('@dotcom-reliability-kit/logger');
98
const { TRACING_USER_AGENT } = require('./user-agents');
109

packages/opentelemetry/lib/index.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ const { createInstrumentationConfig } = require('./config/instrumentations');
22
const { createMetricsConfig } = require('./config/metrics');
33
const { createResourceConfig } = require('./config/resource');
44
const { createTracingConfig } = require('./config/tracing');
5-
const { diag, DiagLogLevel } = require('@opentelemetry/api');
65
const opentelemetrySDK = require('@opentelemetry/sdk-node');
76
const logger = require('@dotcom-reliability-kit/logger');
87

@@ -52,13 +51,13 @@ function setupOpenTelemetry({
5251
// the LOG_LEVEL environment variable) takes over. We set the
5352
// OpenTelemetry log level to the maximum value that we want
5453
// Reliability Kit to consider logging
55-
diag.setLogger(
54+
opentelemetrySDK.api.diag.setLogger(
5655
// @ts-ignore this complains because DiagLogger accepts a type
5756
// of unknown whereas our logger is stricter. This is fine though,
5857
// if something unknown is logged then we do our best with it.
5958
// It's easier to ignore this error than fix it.
6059
logger.createChildLogger({ event: 'OTEL_INTERNALS' }),
61-
DiagLogLevel.INFO
60+
opentelemetrySDK.api.DiagLogLevel.INFO
6261
);
6362

6463
// Set up and start OpenTelemetry

packages/opentelemetry/package.json

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,12 @@
2020
"@dotcom-reliability-kit/errors": "^3.1.0",
2121
"@dotcom-reliability-kit/log-error": "^4.1.1",
2222
"@dotcom-reliability-kit/logger": "^3.1.1",
23-
"@opentelemetry/api": "^1.8.0",
2423
"@opentelemetry/auto-instrumentations-node": "^0.46.1",
2524
"@opentelemetry/exporter-metrics-otlp-proto": "^0.51.1",
2625
"@opentelemetry/exporter-trace-otlp-proto": "^0.51.1",
2726
"@opentelemetry/host-metrics": "^0.35.1",
2827
"@opentelemetry/instrumentation-runtime-node": "^0.4.0",
29-
"@opentelemetry/resources": "^1.24.1",
30-
"@opentelemetry/sdk-metrics": "^1.24.1",
3128
"@opentelemetry/sdk-node": "^0.51.1",
32-
"@opentelemetry/sdk-trace-base": "^1.24.1",
3329
"@opentelemetry/semantic-conventions": "^1.24.1"
3430
}
3531
}

packages/opentelemetry/test/unit/lib/config/metrics.spec.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
jest.mock('@opentelemetry/exporter-metrics-otlp-proto');
22
jest.mock('@opentelemetry/otlp-exporter-base');
3-
jest.mock('@opentelemetry/sdk-metrics');
3+
jest.mock('@opentelemetry/sdk-node');
44
jest.mock('@dotcom-reliability-kit/logger');
55
jest.mock('../../../../lib/config/user-agents', () => ({
66
METRICS_USER_AGENT: 'mock-metrics-user-agent'
@@ -10,7 +10,8 @@ const logger = require('@dotcom-reliability-kit/logger');
1010
const {
1111
OTLPMetricExporter
1212
} = require('@opentelemetry/exporter-metrics-otlp-proto');
13-
const { PeriodicExportingMetricReader } = require('@opentelemetry/sdk-metrics');
13+
const { PeriodicExportingMetricReader } =
14+
require('@opentelemetry/sdk-node').metrics;
1415
const { createMetricsConfig } = require('../../../../lib/config/metrics');
1516

1617
describe('@dotcom-reliability-kit/opentelemetry/lib/config/metrics', () => {

packages/opentelemetry/test/unit/lib/config/resource.spec.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jest.mock('@dotcom-reliability-kit/app-info', () => ({
1616
}
1717
}
1818
}));
19-
jest.mock('@opentelemetry/resources');
19+
jest.mock('@opentelemetry/sdk-node');
2020
jest.mock('@opentelemetry/semantic-conventions', () => ({
2121
SEMRESATTRS_CLOUD_PROVIDER: 'mock-semresattrs-cloud-provider',
2222
SEMRESATTRS_CLOUD_REGION: 'mock-semresattrs-cloud-region',
@@ -26,7 +26,7 @@ jest.mock('@opentelemetry/semantic-conventions', () => ({
2626
SEMRESATTRS_SERVICE_INSTANCE_ID: 'mock-semresattrs-service-instance-id'
2727
}));
2828

29-
const { Resource } = require('@opentelemetry/resources');
29+
const { Resource } = require('@opentelemetry/sdk-node').resources;
3030
const { createResourceConfig } = require('../../../../lib/config/resource');
3131

3232
describe('@dotcom-reliability-kit/opentelemetry/lib/config/resource', () => {

packages/opentelemetry/test/unit/lib/config/tracing.spec.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,8 @@ const logger = require('@dotcom-reliability-kit/logger');
99
const {
1010
OTLPTraceExporter
1111
} = require('@opentelemetry/exporter-trace-otlp-proto');
12-
const {
13-
NoopSpanProcessor,
14-
TraceIdRatioBasedSampler
15-
} = require('@opentelemetry/sdk-trace-base');
12+
const { NoopSpanProcessor, TraceIdRatioBasedSampler } =
13+
require('@opentelemetry/sdk-node').tracing;
1614
const { createTracingConfig } = require('../../../../lib/config/tracing');
1715

1816
describe('@dotcom-reliability-kit/opentelemetry/lib/config/tracing', () => {

packages/opentelemetry/test/unit/lib/index.spec.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
jest.mock('@opentelemetry/sdk-node');
2-
jest.mock('@opentelemetry/api');
32
jest.mock('@dotcom-reliability-kit/logger');
43
jest.mock('../../../lib/config/instrumentations', () => ({
54
createInstrumentationConfig: jest
@@ -22,7 +21,7 @@ const {
2221
const { createMetricsConfig } = require('../../../lib/config/metrics');
2322
const { createResourceConfig } = require('../../../lib/config/resource');
2423
const { createTracingConfig } = require('../../../lib/config/tracing');
25-
const { diag, DiagLogLevel } = require('@opentelemetry/api');
24+
const { diag, DiagLogLevel } = require('@opentelemetry/sdk-node').api;
2625
const { NodeSDK } = require('@opentelemetry/sdk-node');
2726
const logger = require('@dotcom-reliability-kit/logger');
2827

0 commit comments

Comments
 (0)