@pocket-tools/tracing 1.5.1 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,20 @@
1
+
2
+ > @pocket-tools/tracing@0.0.0-development build /home/runner/work/pocket-monorepo/pocket-monorepo/packages/tracing
3
+ > tsup src/index.ts --format cjs,esm --dts
4
+
5
+ CLI Building entry: src/index.ts
6
+ CLI Using tsconfig: tsconfig.json
7
+ CLI tsup v8.2.4
8
+ CLI Target: es2019
9
+ CJS Build start
10
+ ESM Build start
11
+ CJS You have emitDecoratorMetadata enabled but @swc/core was not installed, skipping swc plugin
12
+ ESM You have emitDecoratorMetadata enabled but @swc/core was not installed, skipping swc plugin
13
+ CJS dist/index.js 6.46 KB
14
+ CJS ⚡️ Build success in 142ms
15
+ ESM dist/index.mjs 4.36 KB
16
+ ESM ⚡️ Build success in 152ms
17
+ DTS Build start
18
+ DTS ⚡️ Build success in 9242ms
19
+ DTS dist/index.d.ts 652.00 B
20
+ DTS dist/index.d.mts 652.00 B
@@ -14,76 +14,79 @@
14
14
  ESM Build start
15
15
  CJS You have emitDecoratorMetadata enabled but @swc/core was not installed, skipping swc plugin
16
16
  ESM You have emitDecoratorMetadata enabled but @swc/core was not installed, skipping swc plugin
17
- CJS dist/index.js 10.35 KB
18
- CJS ⚡️ Build success in 170ms
19
- ESM dist/index.mjs 7.79 KB
20
- ESM ⚡️ Build success in 185ms
17
+ ESM dist/index.mjs 4.36 KB
18
+ ESM ⚡️ Build success in 119ms
19
+ CJS dist/index.js 6.46 KB
20
+ CJS ⚡️ Build success in 119ms
21
21
  DTS Build start
22
- DTS ⚡️ Build success in 6548ms
23
- DTS dist/index.d.ts 1.41 KB
24
- DTS dist/index.d.mts 1.41 KB
22
+ DTS ⚡️ Build success in 6821ms
23
+ DTS dist/index.d.ts 652.00 B
24
+ DTS dist/index.d.mts 652.00 B
25
25
 
26
26
  > @pocket-tools/tracing@0.0.0-development semantic-release /home/runner/work/pocket-monorepo/pocket-monorepo/packages/tracing
27
27
  > semantic-release
28
28
 
29
- [5:20:03 PM] [semantic-release] › ℹ Running semantic-release version 24.1.0
30
- [5:20:04 PM] [semantic-release] › ✔ Loaded plugin "verifyConditions" from "@semantic-release/npm"
31
- [5:20:04 PM] [semantic-release] › ✔ Loaded plugin "verifyConditions" from "@semantic-release/github"
32
- [5:20:04 PM] [semantic-release] › ✔ Loaded plugin "prepare" from "@semantic-release/npm"
33
- [5:20:04 PM] [semantic-release] › ✔ Loaded plugin "publish" from "@semantic-release/npm"
34
- [5:20:04 PM] [semantic-release] › ✔ Loaded plugin "publish" from "@semantic-release/github"
35
- [5:20:04 PM] [semantic-release] › ✔ Loaded plugin "addChannel" from "@semantic-release/npm"
36
- [5:20:04 PM] [semantic-release] › ✔ Loaded plugin "addChannel" from "@semantic-release/github"
37
- [5:20:09 PM] [semantic-release] › ✔ Run automated release from branch main on repository git+https://github.com/Pocket/pocket-monorepo.git
38
- [5:20:10 PM] [semantic-release] › ✔ Allowed to push to the Git repository
39
- [5:20:10 PM] [semantic-release] › ℹ Start step "verifyConditions" of plugin "@semantic-release/npm"
40
- [5:20:10 PM] [semantic-release] [@semantic-release/npm] › ℹ Verify authentication for registry https://registry.npmjs.org/
41
- [5:20:10 PM] [semantic-release] [@semantic-release/npm] › ℹ Wrote NPM_TOKEN to /tmp/a4312a0d09d608fb5fab5336e91f6503/.npmrc
29
+ [6:51:32 PM] [semantic-release] › ℹ Running semantic-release version 24.1.0
30
+ [6:51:33 PM] [semantic-release] › ✔ Loaded plugin "verifyConditions" from "@semantic-release/npm"
31
+ [6:51:33 PM] [semantic-release] › ✔ Loaded plugin "verifyConditions" from "@semantic-release/github"
32
+ [6:51:33 PM] [semantic-release] › ✔ Loaded plugin "prepare" from "@semantic-release/npm"
33
+ [6:51:33 PM] [semantic-release] › ✔ Loaded plugin "publish" from "@semantic-release/npm"
34
+ [6:51:33 PM] [semantic-release] › ✔ Loaded plugin "publish" from "@semantic-release/github"
35
+ [6:51:33 PM] [semantic-release] › ✔ Loaded plugin "addChannel" from "@semantic-release/npm"
36
+ [6:51:33 PM] [semantic-release] › ✔ Loaded plugin "addChannel" from "@semantic-release/github"
37
+ [6:51:35 PM] [semantic-release] › ✔ Run automated release from branch main on repository git+https://github.com/Pocket/pocket-monorepo.git
38
+ [6:51:35 PM] [semantic-release] › ✔ Allowed to push to the Git repository
39
+ [6:51:35 PM] [semantic-release] › ℹ Start step "verifyConditions" of plugin "@semantic-release/npm"
40
+ [6:51:35 PM] [semantic-release] [@semantic-release/npm] › ℹ Verify authentication for registry https://registry.npmjs.org/
41
+ [6:51:35 PM] [semantic-release] [@semantic-release/npm] › ℹ Wrote NPM_TOKEN to /tmp/1a238100d0f8a4f91c347cef98b3615a/.npmrc
42
42
  pocket-npm
43
- [5:20:11 PM] [semantic-release] › ✔ Completed step "verifyConditions" of plugin "@semantic-release/npm"
44
- [5:20:11 PM] [semantic-release] › ℹ Start step "verifyConditions" of plugin "@semantic-release/github"
45
- [5:20:11 PM] [semantic-release] [@semantic-release/github] › ℹ Verify GitHub authentication (https://api.github.com)
46
- [5:20:11 PM] [semantic-release] › ✔ Completed step "verifyConditions" of plugin "@semantic-release/github"
47
- [5:20:11 PM] [semantic-release] › ℹ Found git tag @pocket-tools/tracing-v1.5.0 associated with version 1.5.0 on branch main
48
- [5:20:11 PM] [semantic-release] › ℹ Found 1 commits since last release
49
- [5:20:11 PM] [semantic-release] › ℹ Start step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
50
- [5:20:11 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ Start step "analyzeCommits" of plugin "@semantic-release/commit-analyzer"
51
- [5:20:11 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ Found 1 commits for package @pocket-tools/tracing since last release
52
- [5:20:11 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ Analyzing commit: Revert "feat(otel): adding in basic tracing via otel (#794)" (#797)
43
+ [6:51:36 PM] [semantic-release] › ✔ Completed step "verifyConditions" of plugin "@semantic-release/npm"
44
+ [6:51:36 PM] [semantic-release] › ℹ Start step "verifyConditions" of plugin "@semantic-release/github"
45
+ [6:51:36 PM] [semantic-release] [@semantic-release/github] › ℹ Verify GitHub authentication (https://api.github.com)
46
+ [6:51:36 PM] [semantic-release] › ✔ Completed step "verifyConditions" of plugin "@semantic-release/github"
47
+ [6:51:36 PM] [semantic-release] › ℹ Found git tag @pocket-tools/tracing-v1.5.1 associated with version 1.5.1 on branch main
48
+ [6:51:36 PM] [semantic-release] › ℹ Found 1 commits since last release
49
+ [6:51:36 PM] [semantic-release] › ℹ Start step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
50
+ [6:51:36 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ Start step "analyzeCommits" of plugin "@semantic-release/commit-analyzer"
51
+ [6:51:36 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ Found 1 commits for package @pocket-tools/tracing since last release
52
+ [6:51:36 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ Analyzing commit: feat(otel): adding in basic tracing via otel (#798)
53
53
 
54
- This reverts commit 9e5cd939e7bbea631f7822abd90fcfa40ff3c312.
55
- [5:20:11 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ The release type for the commit is patch
56
- [5:20:11 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ Analysis of 1 commits complete: patch release
57
- [5:20:11 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ Completed step "analyzeCommits" of plugin "@semantic-release/commit-analyzer"
58
- [5:20:11 PM] [semantic-release] ✔ Completed step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
59
- [5:20:11 PM] [semantic-release] › ℹ Start step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
60
- [5:20:11 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ Plugin "@semantic-release/release-notes-generator" does not provide step "analyzeCommits"
61
- [5:20:11 PM] [semantic-release] › Completed step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
62
- [5:20:11 PM] [semantic-release] › Start step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
63
- [5:20:11 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ Plugin "@semantic-release/npm" does not provide step "analyzeCommits"
64
- [5:20:11 PM] [semantic-release] › ✔ Completed step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
65
- [5:20:11 PM] [semantic-release] › Start step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
66
- [5:20:11 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ Plugin "@semantic-release/github" does not provide step "analyzeCommits"
67
- [5:20:11 PM] [semantic-release] › ✔ Completed step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
68
- [5:20:11 PM] [semantic-release] › Start step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
69
- [5:20:11 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ No more plugins
70
- [5:20:11 PM] [semantic-release] › ✔ Completed step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
71
- [5:20:11 PM] [semantic-release] › Start step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
72
- [5:20:11 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ No more plugins
73
- [5:20:11 PM] [semantic-release] › ✔ Completed step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
74
- [5:20:11 PM] [semantic-release] › Start step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
75
- [5:20:11 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ No more plugins
76
- [5:20:11 PM] [semantic-release] › ✔ Completed step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
77
- [5:20:11 PM] [semantic-release] › Start step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
78
- [5:20:11 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ No more plugins
79
- [5:20:11 PM] [semantic-release] › ✔ Completed step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
80
- [5:20:11 PM] [semantic-release] › Start step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
81
- [5:20:11 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ No more plugins
82
- [5:20:11 PM] [semantic-release] › ✔ Completed step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
83
- [5:20:11 PM] [semantic-release] › Start step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
84
- [5:20:11 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ No more plugins
85
- [5:20:11 PM] [semantic-release] › ✔ Completed step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
86
- [5:20:11 PM] [semantic-release] › The next release version is 1.5.1
87
- [5:20:11 PM] [semantic-release] › ℹ Start step "generateNotes" of plugin "[Function: semantic-release-monorepo]"
88
- [5:20:11 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ Plugin "@semantic-release/commit-analyzer" does not provide step "generateNotes"
89
- [5:20:11 PM] [semantic-release] › ✔ Completed step "generateNotes" of plugin "[Function: semantic-release-monorepo]"
54
+ * Revert "Revert "feat(otel): adding in basic tracing via otel (#794)" (#797)"
55
+
56
+ This reverts commit 59af83e42d62de7d3ef3563a8a633fff83408317.
57
+
58
+ * feat(metrics): disabling metrics for now
59
+ [6:51:36 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ The release type for the commit is minor
60
+ [6:51:36 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ Analysis of 1 commits complete: minor release
61
+ [6:51:36 PM] [semantic-release] [[Function: semantic-release-monorepo]] Completed step "analyzeCommits" of plugin "@semantic-release/commit-analyzer"
62
+ [6:51:36 PM] [semantic-release] › Completed step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
63
+ [6:51:36 PM] [semantic-release] › ℹ Start step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
64
+ [6:51:36 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ Plugin "@semantic-release/release-notes-generator" does not provide step "analyzeCommits"
65
+ [6:51:36 PM] [semantic-release] › Completed step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
66
+ [6:51:36 PM] [semantic-release] › ℹ Start step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
67
+ [6:51:36 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ Plugin "@semantic-release/npm" does not provide step "analyzeCommits"
68
+ [6:51:36 PM] [semantic-release] › Completed step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
69
+ [6:51:36 PM] [semantic-release] › ℹ Start step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
70
+ [6:51:36 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ Plugin "@semantic-release/github" does not provide step "analyzeCommits"
71
+ [6:51:36 PM] [semantic-release] › Completed step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
72
+ [6:51:36 PM] [semantic-release] › ℹ Start step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
73
+ [6:51:36 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ No more plugins
74
+ [6:51:36 PM] [semantic-release] › Completed step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
75
+ [6:51:36 PM] [semantic-release] › ℹ Start step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
76
+ [6:51:36 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ No more plugins
77
+ [6:51:36 PM] [semantic-release] › Completed step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
78
+ [6:51:36 PM] [semantic-release] › ℹ Start step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
79
+ [6:51:36 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ No more plugins
80
+ [6:51:36 PM] [semantic-release] › Completed step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
81
+ [6:51:36 PM] [semantic-release] › ℹ Start step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
82
+ [6:51:36 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ No more plugins
83
+ [6:51:36 PM] [semantic-release] › Completed step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
84
+ [6:51:36 PM] [semantic-release] › ℹ Start step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
85
+ [6:51:36 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ No more plugins
86
+ [6:51:36 PM] [semantic-release] › Completed step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
87
+ [6:51:36 PM] [semantic-release] › ℹ Start step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
88
+ [6:51:36 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ No more plugins
89
+ [6:51:36 PM] [semantic-release] › ✔ Completed step "analyzeCommits" of plugin "[Function: semantic-release-monorepo]"
90
+ [6:51:36 PM] [semantic-release] › ℹ The next release version is 1.6.0
91
+ [6:51:36 PM] [semantic-release] › ℹ Start step "generateNotes" of plugin "[Function: semantic-release-monorepo]"
92
+ [6:51:36 PM] [semantic-release] [[Function: semantic-release-monorepo]] › ℹ Plugin "@semantic-release/commit-analyzer" does not provide step "generateNotes"
package/README.md CHANGED
@@ -1,3 +1,3 @@
1
1
  # Tracing
2
2
 
3
- We use this package to implement tracing within our servers
3
+ We use this package to implement tracing within our servers. Requires Sentry as our trace propogator.
package/dist/index.d.mts CHANGED
@@ -1,6 +1,5 @@
1
- import { BatchSpanProcessor, ParentBasedSampler, SpanExporter, BufferConfig, Span, ReadableSpan } from '@opentelemetry/sdk-trace-base';
2
- import { DiagLogger, Context } from '@opentelemetry/api';
3
- import { SentrySpanProcessor, SentrySampler } from '@sentry/opentelemetry';
1
+ import { DiagLogger } from '@opentelemetry/api';
2
+ import { NodeClient } from '@sentry/node';
4
3
 
5
4
  declare enum AdditionalInstrumentation {
6
5
  KNEX = "KNEX",
@@ -15,23 +14,9 @@ type TracingConfig = {
15
14
  httpDefaultPort?: number;
16
15
  host?: string;
17
16
  logger?: DiagLogger;
18
- addSentry?: boolean;
17
+ sentry: NodeClient | undefined;
19
18
  additionalInstrumentations?: AdditionalInstrumentation[];
20
19
  };
21
20
  declare function nodeSDKBuilder(config: TracingConfig): Promise<void>;
22
- declare class CustomAWSXraySpanProcessor extends BatchSpanProcessor {
23
- sampler: ParentBasedSampler;
24
- contextMap: Map<string, Context>;
25
- constructor(_exporter: SpanExporter, ratio: number, config: BufferConfig);
26
- onStart(span: Span, parentContext: Context): void;
27
- onEnd(span: ReadableSpan): void;
28
- }
29
- declare class CustomSentrySpanProcessor extends SentrySpanProcessor {
30
- sampler: SentrySampler;
31
- contextMap: Map<string, Context>;
32
- constructor();
33
- onStart(span: Span, parentContext: Context): void;
34
- onEnd(span: Span & ReadableSpan): void;
35
- }
36
21
 
37
- export { AdditionalInstrumentation, CustomAWSXraySpanProcessor, CustomSentrySpanProcessor, type TracingConfig, nodeSDKBuilder };
22
+ export { AdditionalInstrumentation, type TracingConfig, nodeSDKBuilder };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- import { BatchSpanProcessor, ParentBasedSampler, SpanExporter, BufferConfig, Span, ReadableSpan } from '@opentelemetry/sdk-trace-base';
2
- import { DiagLogger, Context } from '@opentelemetry/api';
3
- import { SentrySpanProcessor, SentrySampler } from '@sentry/opentelemetry';
1
+ import { DiagLogger } from '@opentelemetry/api';
2
+ import { NodeClient } from '@sentry/node';
4
3
 
5
4
  declare enum AdditionalInstrumentation {
6
5
  KNEX = "KNEX",
@@ -15,23 +14,9 @@ type TracingConfig = {
15
14
  httpDefaultPort?: number;
16
15
  host?: string;
17
16
  logger?: DiagLogger;
18
- addSentry?: boolean;
17
+ sentry: NodeClient | undefined;
19
18
  additionalInstrumentations?: AdditionalInstrumentation[];
20
19
  };
21
20
  declare function nodeSDKBuilder(config: TracingConfig): Promise<void>;
22
- declare class CustomAWSXraySpanProcessor extends BatchSpanProcessor {
23
- sampler: ParentBasedSampler;
24
- contextMap: Map<string, Context>;
25
- constructor(_exporter: SpanExporter, ratio: number, config: BufferConfig);
26
- onStart(span: Span, parentContext: Context): void;
27
- onEnd(span: ReadableSpan): void;
28
- }
29
- declare class CustomSentrySpanProcessor extends SentrySpanProcessor {
30
- sampler: SentrySampler;
31
- contextMap: Map<string, Context>;
32
- constructor();
33
- onStart(span: Span, parentContext: Context): void;
34
- onEnd(span: Span & ReadableSpan): void;
35
- }
36
21
 
37
- export { AdditionalInstrumentation, CustomAWSXraySpanProcessor, CustomSentrySpanProcessor, type TracingConfig, nodeSDKBuilder };
22
+ export { AdditionalInstrumentation, type TracingConfig, nodeSDKBuilder };
package/dist/index.js CHANGED
@@ -30,8 +30,6 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  var src_exports = {};
31
31
  __export(src_exports, {
32
32
  AdditionalInstrumentation: () => AdditionalInstrumentation,
33
- CustomAWSXraySpanProcessor: () => CustomAWSXraySpanProcessor,
34
- CustomSentrySpanProcessor: () => CustomSentrySpanProcessor,
35
33
  nodeSDKBuilder: () => nodeSDKBuilder
36
34
  });
37
35
  module.exports = __toCommonJS(src_exports);
@@ -39,28 +37,19 @@ module.exports = __toCommonJS(src_exports);
39
37
  // src/tracing.ts
40
38
  var import_process = __toESM(require("process"));
41
39
  var import_sdk_node = require("@opentelemetry/sdk-node");
42
- var import_core = require("@opentelemetry/core");
43
- var import_instrumentation_graphql = require("@opentelemetry/instrumentation-graphql");
44
- var import_instrumentation_aws_sdk = require("@opentelemetry/instrumentation-aws-sdk");
45
- var import_id_generator_aws_xray = require("@opentelemetry/id-generator-aws-xray");
46
- var import_propagator_aws_xray = require("@opentelemetry/propagator-aws-xray");
47
- var import_sdk_trace_base = require("@opentelemetry/sdk-trace-base");
48
- var import_instrumentation_dataloader = require("@opentelemetry/instrumentation-dataloader");
49
40
  var import_api = require("@opentelemetry/api");
50
- var import_instrumentation_express = require("@opentelemetry/instrumentation-express");
51
- var import_instrumentation_http = require("@opentelemetry/instrumentation-http");
52
41
  var import_instrumentation_knex = require("@opentelemetry/instrumentation-knex");
53
- var import_instrumentation_mysql2 = require("@opentelemetry/instrumentation-mysql2");
54
- var import_instrumentation_net = require("@opentelemetry/instrumentation-net");
55
42
  var import_exporter_trace_otlp_grpc = require("@opentelemetry/exporter-trace-otlp-grpc");
56
43
  var import_instrumentation = require("@prisma/instrumentation");
57
44
  var import_resources = require("@opentelemetry/resources");
58
45
  var import_semantic_conventions = require("@opentelemetry/semantic-conventions");
59
- var import_ExpressLayerType = require("@opentelemetry/instrumentation-express/build/src/enums/ExpressLayerType");
60
46
  var import_opentelemetry = require("@sentry/opentelemetry");
61
- var import_context_async_hooks = require("@opentelemetry/context-async-hooks");
47
+ var import_auto_instrumentations_node = require("@opentelemetry/auto-instrumentations-node");
62
48
  var import_resources2 = require("@opentelemetry/resources");
63
49
  var Sentry = __toESM(require("@sentry/node"));
50
+ var import_sdk_trace_base = require("@opentelemetry/sdk-trace-base");
51
+ var import_propagator_aws_xray = require("@opentelemetry/propagator-aws-xray");
52
+ var import_id_generator_aws_xray = require("@opentelemetry/id-generator-aws-xray");
64
53
  var AdditionalInstrumentation = /* @__PURE__ */ ((AdditionalInstrumentation2) => {
65
54
  AdditionalInstrumentation2["KNEX"] = "KNEX";
66
55
  AdditionalInstrumentation2["PRISMA"] = "PRISMA";
@@ -70,9 +59,17 @@ var additionalInstrumentationConstructors = {
70
59
  KNEX: import_instrumentation_knex.KnexInstrumentation,
71
60
  PRISMA: import_instrumentation.PrismaInstrumentation
72
61
  };
73
- var SentryContextManager = (0, import_opentelemetry.wrapContextManagerClass)(
74
- import_context_async_hooks.AsyncLocalStorageContextManager
75
- );
62
+ var tracingDefaults = {
63
+ serviceName: "unknown",
64
+ release: "unknown",
65
+ sentry: void 0,
66
+ graphQLDepth: 8,
67
+ grpcDefaultPort: 4317,
68
+ httpDefaultPort: 4318,
69
+ host: "localhost",
70
+ logger: new import_api.DiagConsoleLogger(),
71
+ additionalInstrumentations: []
72
+ };
76
73
  function awaitAttributes(detector) {
77
74
  return {
78
75
  /**
@@ -87,68 +84,56 @@ function awaitAttributes(detector) {
87
84
  };
88
85
  }
89
86
  async function nodeSDKBuilder(config) {
90
- var _a, _b, _c;
87
+ var _a, _b;
88
+ config = { ...tracingDefaults, ...config };
91
89
  import_api.diag.setLogger((_a = config.logger) != null ? _a : new import_api.DiagConsoleLogger(), import_api.DiagLogLevel.WARN);
92
90
  const _resource = import_resources.Resource.default().merge(
93
91
  new import_resources.Resource({
94
- [import_semantic_conventions.SEMRESATTRS_SERVICE_NAME]: config.serviceName,
95
- [import_semantic_conventions.SEMRESATTRS_SERVICE_VERSION]: config.release
92
+ [import_semantic_conventions.ATTR_SERVICE_NAME]: config.serviceName,
93
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: config.release
96
94
  })
97
95
  );
98
96
  const _traceExporter = new import_exporter_trace_otlp_grpc.OTLPTraceExporter({
99
97
  //collector url
100
98
  url: `http://${config.host}:${config.grpcDefaultPort}`
101
99
  });
102
- const _spanProcessors = [
103
- new CustomAWSXraySpanProcessor(
104
- _traceExporter,
105
- (_b = config.samplingRatio) != null ? _b : 0.01,
106
- {
107
- // only force 100ms between 2 batch exports.
108
- // Default is 5000ms which is 5 seconds and causes us to lose spans
109
- scheduledDelayMillis: 100
110
- }
111
- )
112
- ];
113
- if (config.addSentry) {
114
- _spanProcessors.push(new CustomSentrySpanProcessor());
115
- }
116
- const _idGenerator = new import_id_generator_aws_xray.AWSXRayIdGenerator();
117
100
  const instrumentations = [
118
- new import_instrumentation_aws_sdk.AwsInstrumentation({
119
- suppressInternalInstrumentation: true
120
- }),
121
- new import_instrumentation_dataloader.DataloaderInstrumentation({}),
122
- new import_instrumentation_express.ExpressInstrumentation({
123
- ignoreLayersType: [import_ExpressLayerType.ExpressLayerType.MIDDLEWARE]
124
- }),
125
- new import_instrumentation_graphql.GraphQLInstrumentation({
126
- // optional params
127
- depth: config.graphQLDepth,
128
- //query depth
129
- allowValues: true
130
- }),
131
- new import_instrumentation_http.HttpInstrumentation({
132
- ignoreIncomingPaths: ["/.well-known/apollo/server-health"]
133
- }),
134
- new import_instrumentation_mysql2.MySQL2Instrumentation({}),
135
- new import_instrumentation_net.NetInstrumentation({})
101
+ (0, import_auto_instrumentations_node.getNodeAutoInstrumentations)({
102
+ "@opentelemetry/instrumentation-fs": {
103
+ enabled: false,
104
+ requireParentSpan: true
105
+ },
106
+ "@opentelemetry/instrumentation-undici": {
107
+ headersToSpanAttributes: {
108
+ requestHeaders: [
109
+ "sentry-trace",
110
+ "baggage",
111
+ "x-amzn-trace-id",
112
+ "encodedid",
113
+ "applicationname"
114
+ ]
115
+ }
116
+ },
117
+ "@opentelemetry/instrumentation-http": {
118
+ ignoreIncomingPaths: ["/.well-known/apollo/server-health"]
119
+ }
120
+ })
136
121
  ];
137
- ((_c = config.additionalInstrumentations) != null ? _c : []).forEach((instrumentation) => {
122
+ ((_b = config.additionalInstrumentations) != null ? _b : []).forEach((instrumentation) => {
138
123
  instrumentations.push(
139
124
  new additionalInstrumentationConstructors[instrumentation]()
140
125
  );
141
126
  });
142
127
  const sdk = new import_sdk_node.NodeSDK({
143
- textMapPropagator: config.addSentry ? new import_core.CompositePropagator({
144
- propagators: [new import_propagator_aws_xray.AWSXRayPropagator(), new import_opentelemetry.SentryPropagator()]
145
- }) : new import_propagator_aws_xray.AWSXRayPropagator(),
128
+ textMapPropagator: new import_propagator_aws_xray.AWSXRayPropagator(),
146
129
  instrumentations,
147
- contextManager: config.addSentry ? new SentryContextManager() : void 0,
130
+ sampler: config.sentry ? new import_sdk_trace_base.ParentBasedSampler({ root: new import_opentelemetry.SentrySampler(config.sentry) }) : void 0,
131
+ contextManager: new Sentry.SentryContextManager(),
148
132
  resource: _resource,
149
- spanProcessors: _spanProcessors,
133
+ idGenerator: new import_id_generator_aws_xray.AWSXRayIdGenerator(),
134
+ spanProcessors: [new import_sdk_trace_base.BatchSpanProcessor(_traceExporter)],
150
135
  traceExporter: _traceExporter,
151
- idGenerator: _idGenerator,
136
+ // metricReader: _metricReader,
152
137
  // TODO: Remove after issue is fixed
153
138
  // https://github.com/open-telemetry/opentelemetry-js/issues/4638
154
139
  resourceDetectors: [
@@ -159,98 +144,15 @@ async function nodeSDKBuilder(config) {
159
144
  });
160
145
  sdk.start();
161
146
  import_api.diag.info("Tracer successfully started");
147
+ Sentry.validateOpenTelemetrySetup();
162
148
  import_process.default.on("SIGTERM", () => {
163
149
  sdk.shutdown().then(() => import_api.diag.info("Tracing and Metrics terminated")).catch(
164
150
  (error) => import_api.diag.error("Error terminating tracing and metrics", error)
165
151
  ).finally(() => import_process.default.exit(0));
166
152
  });
167
153
  }
168
- var CustomAWSXraySpanProcessor = class extends import_sdk_trace_base.BatchSpanProcessor {
169
- constructor(_exporter, ratio, config) {
170
- super(_exporter, config);
171
- this.contextMap = /* @__PURE__ */ new Map();
172
- this.sampler = new import_sdk_trace_base.ParentBasedSampler({
173
- root: new import_sdk_trace_base.TraceIdRatioBasedSampler(ratio)
174
- });
175
- }
176
- onStart(span, parentContext) {
177
- this.contextMap.set(span.spanContext().traceId, parentContext);
178
- const sampleResult = this.sampler.shouldSample(
179
- parentContext,
180
- span.spanContext().traceId,
181
- span.name,
182
- span.kind,
183
- span.attributes,
184
- span.links
185
- );
186
- if (sampleResult.decision === import_sdk_trace_base.SamplingDecision.RECORD_AND_SAMPLED) {
187
- super.onStart(span, parentContext);
188
- }
189
- }
190
- onEnd(span) {
191
- const context = this.contextMap.get(span.spanContext().traceId);
192
- if (context) {
193
- const sampleResult = this.sampler.shouldSample(
194
- context,
195
- span.spanContext().traceId,
196
- span.name,
197
- span.kind,
198
- span.attributes,
199
- span.links
200
- );
201
- this.contextMap.delete(span.spanContext().traceId);
202
- if (sampleResult.decision === import_sdk_trace_base.SamplingDecision.RECORD_AND_SAMPLED) {
203
- super.onEnd(span);
204
- }
205
- }
206
- }
207
- };
208
- var CustomSentrySpanProcessor = class extends import_opentelemetry.SentrySpanProcessor {
209
- constructor() {
210
- super();
211
- this.contextMap = /* @__PURE__ */ new Map();
212
- const sentryClient = Sentry.getClient();
213
- if (!sentryClient) {
214
- throw new Error("Sentry client is not initialized");
215
- }
216
- this.sampler = new import_opentelemetry.SentrySampler(sentryClient);
217
- }
218
- onStart(span, parentContext) {
219
- this.contextMap.set(span.spanContext().traceId, parentContext);
220
- const sampleResult = this.sampler.shouldSample(
221
- parentContext,
222
- span.spanContext().traceId,
223
- span.name,
224
- span.kind,
225
- span.attributes,
226
- span.links
227
- );
228
- if (sampleResult.decision === import_sdk_trace_base.SamplingDecision.RECORD_AND_SAMPLED) {
229
- super.onStart(span, parentContext);
230
- }
231
- }
232
- onEnd(span) {
233
- const context = this.contextMap.get(span.spanContext().traceId);
234
- if (context) {
235
- const sampleResult = this.sampler.shouldSample(
236
- context,
237
- span.spanContext().traceId,
238
- span.name,
239
- span.kind,
240
- span.attributes,
241
- span.links
242
- );
243
- this.contextMap.delete(span.spanContext().traceId);
244
- if (sampleResult.decision === import_sdk_trace_base.SamplingDecision.RECORD_AND_SAMPLED) {
245
- super.onEnd(span);
246
- }
247
- }
248
- }
249
- };
250
154
  // Annotate the CommonJS export names for ESM import in node:
251
155
  0 && (module.exports = {
252
156
  AdditionalInstrumentation,
253
- CustomAWSXraySpanProcessor,
254
- CustomSentrySpanProcessor,
255
157
  nodeSDKBuilder
256
158
  });
package/dist/index.mjs CHANGED
@@ -1,49 +1,33 @@
1
1
  // src/tracing.ts
2
2
  import process from "process";
3
3
  import { NodeSDK } from "@opentelemetry/sdk-node";
4
- import { CompositePropagator } from "@opentelemetry/core";
5
- import { GraphQLInstrumentation } from "@opentelemetry/instrumentation-graphql";
6
- import { AwsInstrumentation } from "@opentelemetry/instrumentation-aws-sdk";
7
- import { AWSXRayIdGenerator } from "@opentelemetry/id-generator-aws-xray";
8
- import { AWSXRayPropagator } from "@opentelemetry/propagator-aws-xray";
9
- import {
10
- BatchSpanProcessor,
11
- SamplingDecision,
12
- TraceIdRatioBasedSampler,
13
- ParentBasedSampler
14
- } from "@opentelemetry/sdk-trace-base";
15
- import { DataloaderInstrumentation } from "@opentelemetry/instrumentation-dataloader";
16
4
  import {
17
5
  DiagConsoleLogger,
18
6
  DiagLogLevel,
19
7
  diag
20
8
  } from "@opentelemetry/api";
21
- import { ExpressInstrumentation } from "@opentelemetry/instrumentation-express";
22
- import { HttpInstrumentation } from "@opentelemetry/instrumentation-http";
23
9
  import { KnexInstrumentation } from "@opentelemetry/instrumentation-knex";
24
- import { MySQL2Instrumentation } from "@opentelemetry/instrumentation-mysql2";
25
- import { NetInstrumentation } from "@opentelemetry/instrumentation-net";
26
10
  import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-grpc";
27
11
  import { PrismaInstrumentation } from "@prisma/instrumentation";
28
12
  import { Resource } from "@opentelemetry/resources";
29
13
  import {
30
- SEMRESATTRS_SERVICE_NAME,
31
- SEMRESATTRS_SERVICE_VERSION
14
+ ATTR_SERVICE_NAME,
15
+ ATTR_SERVICE_VERSION
32
16
  } from "@opentelemetry/semantic-conventions";
33
- import { ExpressLayerType } from "@opentelemetry/instrumentation-express/build/src/enums/ExpressLayerType";
34
- import {
35
- SentrySpanProcessor,
36
- SentryPropagator,
37
- SentrySampler,
38
- wrapContextManagerClass
39
- } from "@sentry/opentelemetry";
40
- import { AsyncLocalStorageContextManager } from "@opentelemetry/context-async-hooks";
17
+ import { SentrySampler } from "@sentry/opentelemetry";
18
+ import { getNodeAutoInstrumentations } from "@opentelemetry/auto-instrumentations-node";
41
19
  import {
42
20
  envDetectorSync,
43
21
  hostDetectorSync,
44
22
  processDetectorSync
45
23
  } from "@opentelemetry/resources";
46
24
  import * as Sentry from "@sentry/node";
25
+ import {
26
+ BatchSpanProcessor,
27
+ ParentBasedSampler
28
+ } from "@opentelemetry/sdk-trace-base";
29
+ import { AWSXRayPropagator } from "@opentelemetry/propagator-aws-xray";
30
+ import { AWSXRayIdGenerator } from "@opentelemetry/id-generator-aws-xray";
47
31
  var AdditionalInstrumentation = /* @__PURE__ */ ((AdditionalInstrumentation2) => {
48
32
  AdditionalInstrumentation2["KNEX"] = "KNEX";
49
33
  AdditionalInstrumentation2["PRISMA"] = "PRISMA";
@@ -53,9 +37,17 @@ var additionalInstrumentationConstructors = {
53
37
  KNEX: KnexInstrumentation,
54
38
  PRISMA: PrismaInstrumentation
55
39
  };
56
- var SentryContextManager = wrapContextManagerClass(
57
- AsyncLocalStorageContextManager
58
- );
40
+ var tracingDefaults = {
41
+ serviceName: "unknown",
42
+ release: "unknown",
43
+ sentry: void 0,
44
+ graphQLDepth: 8,
45
+ grpcDefaultPort: 4317,
46
+ httpDefaultPort: 4318,
47
+ host: "localhost",
48
+ logger: new DiagConsoleLogger(),
49
+ additionalInstrumentations: []
50
+ };
59
51
  function awaitAttributes(detector) {
60
52
  return {
61
53
  /**
@@ -70,68 +62,56 @@ function awaitAttributes(detector) {
70
62
  };
71
63
  }
72
64
  async function nodeSDKBuilder(config) {
73
- var _a, _b, _c;
65
+ var _a, _b;
66
+ config = { ...tracingDefaults, ...config };
74
67
  diag.setLogger((_a = config.logger) != null ? _a : new DiagConsoleLogger(), DiagLogLevel.WARN);
75
68
  const _resource = Resource.default().merge(
76
69
  new Resource({
77
- [SEMRESATTRS_SERVICE_NAME]: config.serviceName,
78
- [SEMRESATTRS_SERVICE_VERSION]: config.release
70
+ [ATTR_SERVICE_NAME]: config.serviceName,
71
+ [ATTR_SERVICE_VERSION]: config.release
79
72
  })
80
73
  );
81
74
  const _traceExporter = new OTLPTraceExporter({
82
75
  //collector url
83
76
  url: `http://${config.host}:${config.grpcDefaultPort}`
84
77
  });
85
- const _spanProcessors = [
86
- new CustomAWSXraySpanProcessor(
87
- _traceExporter,
88
- (_b = config.samplingRatio) != null ? _b : 0.01,
89
- {
90
- // only force 100ms between 2 batch exports.
91
- // Default is 5000ms which is 5 seconds and causes us to lose spans
92
- scheduledDelayMillis: 100
93
- }
94
- )
95
- ];
96
- if (config.addSentry) {
97
- _spanProcessors.push(new CustomSentrySpanProcessor());
98
- }
99
- const _idGenerator = new AWSXRayIdGenerator();
100
78
  const instrumentations = [
101
- new AwsInstrumentation({
102
- suppressInternalInstrumentation: true
103
- }),
104
- new DataloaderInstrumentation({}),
105
- new ExpressInstrumentation({
106
- ignoreLayersType: [ExpressLayerType.MIDDLEWARE]
107
- }),
108
- new GraphQLInstrumentation({
109
- // optional params
110
- depth: config.graphQLDepth,
111
- //query depth
112
- allowValues: true
113
- }),
114
- new HttpInstrumentation({
115
- ignoreIncomingPaths: ["/.well-known/apollo/server-health"]
116
- }),
117
- new MySQL2Instrumentation({}),
118
- new NetInstrumentation({})
79
+ getNodeAutoInstrumentations({
80
+ "@opentelemetry/instrumentation-fs": {
81
+ enabled: false,
82
+ requireParentSpan: true
83
+ },
84
+ "@opentelemetry/instrumentation-undici": {
85
+ headersToSpanAttributes: {
86
+ requestHeaders: [
87
+ "sentry-trace",
88
+ "baggage",
89
+ "x-amzn-trace-id",
90
+ "encodedid",
91
+ "applicationname"
92
+ ]
93
+ }
94
+ },
95
+ "@opentelemetry/instrumentation-http": {
96
+ ignoreIncomingPaths: ["/.well-known/apollo/server-health"]
97
+ }
98
+ })
119
99
  ];
120
- ((_c = config.additionalInstrumentations) != null ? _c : []).forEach((instrumentation) => {
100
+ ((_b = config.additionalInstrumentations) != null ? _b : []).forEach((instrumentation) => {
121
101
  instrumentations.push(
122
102
  new additionalInstrumentationConstructors[instrumentation]()
123
103
  );
124
104
  });
125
105
  const sdk = new NodeSDK({
126
- textMapPropagator: config.addSentry ? new CompositePropagator({
127
- propagators: [new AWSXRayPropagator(), new SentryPropagator()]
128
- }) : new AWSXRayPropagator(),
106
+ textMapPropagator: new AWSXRayPropagator(),
129
107
  instrumentations,
130
- contextManager: config.addSentry ? new SentryContextManager() : void 0,
108
+ sampler: config.sentry ? new ParentBasedSampler({ root: new SentrySampler(config.sentry) }) : void 0,
109
+ contextManager: new Sentry.SentryContextManager(),
131
110
  resource: _resource,
132
- spanProcessors: _spanProcessors,
111
+ idGenerator: new AWSXRayIdGenerator(),
112
+ spanProcessors: [new BatchSpanProcessor(_traceExporter)],
133
113
  traceExporter: _traceExporter,
134
- idGenerator: _idGenerator,
114
+ // metricReader: _metricReader,
135
115
  // TODO: Remove after issue is fixed
136
116
  // https://github.com/open-telemetry/opentelemetry-js/issues/4638
137
117
  resourceDetectors: [
@@ -142,97 +122,14 @@ async function nodeSDKBuilder(config) {
142
122
  });
143
123
  sdk.start();
144
124
  diag.info("Tracer successfully started");
125
+ Sentry.validateOpenTelemetrySetup();
145
126
  process.on("SIGTERM", () => {
146
127
  sdk.shutdown().then(() => diag.info("Tracing and Metrics terminated")).catch(
147
128
  (error) => diag.error("Error terminating tracing and metrics", error)
148
129
  ).finally(() => process.exit(0));
149
130
  });
150
131
  }
151
- var CustomAWSXraySpanProcessor = class extends BatchSpanProcessor {
152
- constructor(_exporter, ratio, config) {
153
- super(_exporter, config);
154
- this.contextMap = /* @__PURE__ */ new Map();
155
- this.sampler = new ParentBasedSampler({
156
- root: new TraceIdRatioBasedSampler(ratio)
157
- });
158
- }
159
- onStart(span, parentContext) {
160
- this.contextMap.set(span.spanContext().traceId, parentContext);
161
- const sampleResult = this.sampler.shouldSample(
162
- parentContext,
163
- span.spanContext().traceId,
164
- span.name,
165
- span.kind,
166
- span.attributes,
167
- span.links
168
- );
169
- if (sampleResult.decision === SamplingDecision.RECORD_AND_SAMPLED) {
170
- super.onStart(span, parentContext);
171
- }
172
- }
173
- onEnd(span) {
174
- const context = this.contextMap.get(span.spanContext().traceId);
175
- if (context) {
176
- const sampleResult = this.sampler.shouldSample(
177
- context,
178
- span.spanContext().traceId,
179
- span.name,
180
- span.kind,
181
- span.attributes,
182
- span.links
183
- );
184
- this.contextMap.delete(span.spanContext().traceId);
185
- if (sampleResult.decision === SamplingDecision.RECORD_AND_SAMPLED) {
186
- super.onEnd(span);
187
- }
188
- }
189
- }
190
- };
191
- var CustomSentrySpanProcessor = class extends SentrySpanProcessor {
192
- constructor() {
193
- super();
194
- this.contextMap = /* @__PURE__ */ new Map();
195
- const sentryClient = Sentry.getClient();
196
- if (!sentryClient) {
197
- throw new Error("Sentry client is not initialized");
198
- }
199
- this.sampler = new SentrySampler(sentryClient);
200
- }
201
- onStart(span, parentContext) {
202
- this.contextMap.set(span.spanContext().traceId, parentContext);
203
- const sampleResult = this.sampler.shouldSample(
204
- parentContext,
205
- span.spanContext().traceId,
206
- span.name,
207
- span.kind,
208
- span.attributes,
209
- span.links
210
- );
211
- if (sampleResult.decision === SamplingDecision.RECORD_AND_SAMPLED) {
212
- super.onStart(span, parentContext);
213
- }
214
- }
215
- onEnd(span) {
216
- const context = this.contextMap.get(span.spanContext().traceId);
217
- if (context) {
218
- const sampleResult = this.sampler.shouldSample(
219
- context,
220
- span.spanContext().traceId,
221
- span.name,
222
- span.kind,
223
- span.attributes,
224
- span.links
225
- );
226
- this.contextMap.delete(span.spanContext().traceId);
227
- if (sampleResult.decision === SamplingDecision.RECORD_AND_SAMPLED) {
228
- super.onEnd(span);
229
- }
230
- }
231
- }
232
- };
233
132
  export {
234
133
  AdditionalInstrumentation,
235
- CustomAWSXraySpanProcessor,
236
- CustomSentrySpanProcessor,
237
134
  nodeSDKBuilder
238
135
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pocket-tools/tracing",
3
- "version": "1.5.1",
3
+ "version": "1.6.0",
4
4
  "description": "Utilities for tracing",
5
5
  "keywords": [
6
6
  "tracing"
@@ -66,27 +66,22 @@
66
66
  },
67
67
  "dependencies": {
68
68
  "@opentelemetry/api": "1.9.0",
69
+ "@opentelemetry/auto-instrumentations-node": "0.50.0",
69
70
  "@opentelemetry/context-async-hooks": "1.26.0",
70
71
  "@opentelemetry/core": "1.26.0",
72
+ "@opentelemetry/exporter-metrics-otlp-grpc": "0.53.0",
71
73
  "@opentelemetry/exporter-trace-otlp-grpc": "0.53.0",
72
74
  "@opentelemetry/exporter-trace-otlp-http": "0.53.0",
73
75
  "@opentelemetry/id-generator-aws-xray": "1.2.2",
74
- "@opentelemetry/instrumentation": "0.53.0",
75
- "@opentelemetry/instrumentation-aws-sdk": "0.44.0",
76
- "@opentelemetry/instrumentation-dataloader": "0.12.0",
77
- "@opentelemetry/instrumentation-express": "0.42.0",
78
- "@opentelemetry/instrumentation-graphql": "0.43.0",
79
- "@opentelemetry/instrumentation-http": "0.53.0",
80
76
  "@opentelemetry/instrumentation-knex": "0.40.0",
81
- "@opentelemetry/instrumentation-mysql2": "0.41.0",
82
- "@opentelemetry/instrumentation-net": "0.39.0",
83
77
  "@opentelemetry/propagator-aws-xray": "1.26.0",
84
- "@opentelemetry/resource-detector-aws": "1.6.1",
85
78
  "@opentelemetry/resources": "1.26.0",
79
+ "@opentelemetry/sdk-metrics": "1.26.0",
86
80
  "@opentelemetry/sdk-node": "0.53.0",
87
81
  "@opentelemetry/sdk-trace-base": "1.26.0",
88
82
  "@opentelemetry/sdk-trace-node": "1.26.0",
89
83
  "@opentelemetry/semantic-conventions": "1.27.0",
84
+ "@opentelemetry/winston-transport": "0.6.0",
90
85
  "@prisma/instrumentation": "5.19.1",
91
86
  "@sentry/node": "8.33.0",
92
87
  "@sentry/opentelemetry": "8.33.0",