@launchdarkly/node-server-sdk-otel 1.1.8 → 1.2.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.2.0](https://github.com/launchdarkly/js-core/compare/node-server-sdk-otel-v1.1.8...node-server-sdk-otel-v1.2.0) (2025-04-16)
4
+
5
+
6
+ ### Features
7
+
8
+ * Environment ID support for hooks ([#823](https://github.com/launchdarkly/js-core/issues/823)) ([63dc9f9](https://github.com/launchdarkly/js-core/commit/63dc9f9f1300c598e79be27909f8195ac66d54ef))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * devDependencies
15
+ * @launchdarkly/node-server-sdk bumped from 9.8.0 to 9.9.0
16
+ * peerDependencies
17
+ * @launchdarkly/node-server-sdk bumped from >=9.4.3 to >=9.9.0
18
+
3
19
  ## [1.1.8](https://github.com/launchdarkly/js-core/compare/node-server-sdk-otel-v1.1.7...node-server-sdk-otel-v1.1.8) (2025-04-08)
4
20
 
5
21
 
@@ -26,6 +26,7 @@ export interface TracingHookOptions {
26
26
  * using `console`.
27
27
  */
28
28
  logger?: LDLogger;
29
+ environmentId?: string;
29
30
  }
30
31
  /**
31
32
  * The TracingHook adds OpenTelemetry support to the LaunchDarkly SDK.
@@ -1 +1 @@
1
- {"version":3,"file":"TracingHook.d.ts","sourceRoot":"","sources":["../src/TracingHook.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,YAAY,EACZ,kBAAkB,EAClB,QAAQ,EAIT,MAAM,+BAA+B,CAAC;AAUvC;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;CACnB;AAgDD;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,YAAW,YAAY,CAAC,IAAI;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0C;IAElE;;;;OAIG;gBACS,OAAO,CAAC,EAAE,kBAAkB;IAIxC;;OAEG;IACH,WAAW,IAAI,YAAY,CAAC,YAAY;IAMxC;;OAEG;IACH,gBAAgB,CAAC,CACf,WAAW,EAAE,YAAY,CAAC,uBAAuB,EACjD,IAAI,EAAE,YAAY,CAAC,oBAAoB,GACtC,YAAY,CAAC,oBAAoB;IAapC;;OAEG;IACH,eAAe,CAAC,CACd,WAAW,EAAE,YAAY,CAAC,uBAAuB,EACjD,IAAI,EAAE,YAAY,CAAC,oBAAoB,EACvC,MAAM,EAAE,kBAAkB,GACzB,YAAY,CAAC,oBAAoB;CAkBrC"}
1
+ {"version":3,"file":"TracingHook.d.ts","sourceRoot":"","sources":["../src/TracingHook.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,YAAY,EACZ,kBAAkB,EAClB,QAAQ,EAIT,MAAM,+BAA+B,CAAC;AAWvC;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAElB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AA4DD;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,YAAW,YAAY,CAAC,IAAI;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0C;IAElE;;;;OAIG;gBACS,OAAO,CAAC,EAAE,kBAAkB;IAIxC;;OAEG;IACH,WAAW,IAAI,YAAY,CAAC,YAAY;IAMxC;;OAEG;IACH,gBAAgB,CAAC,CACf,WAAW,EAAE,YAAY,CAAC,uBAAuB,EACjD,IAAI,EAAE,YAAY,CAAC,oBAAoB,GACtC,YAAY,CAAC,oBAAoB;IAapC;;OAEG;IACH,eAAe,CAAC,CACd,WAAW,EAAE,YAAY,CAAC,uBAAuB,EACjD,IAAI,EAAE,YAAY,CAAC,oBAAoB,EACvC,MAAM,EAAE,kBAAkB,GACzB,YAAY,CAAC,oBAAoB;CAuBrC"}
@@ -8,11 +8,13 @@ const FEATURE_FLAG_KEY_ATTR = `${FEATURE_FLAG_SCOPE}.key`;
8
8
  const FEATURE_FLAG_PROVIDER_ATTR = `${FEATURE_FLAG_SCOPE}.provider_name`;
9
9
  const FEATURE_FLAG_CONTEXT_KEY_ATTR = `${FEATURE_FLAG_SCOPE}.context.key`;
10
10
  const FEATURE_FLAG_VARIANT_ATTR = `${FEATURE_FLAG_SCOPE}.variant`;
11
+ const FEATURE_FLAG_SET_ID = `${FEATURE_FLAG_SCOPE}.set.id`;
11
12
  const TRACING_HOOK_NAME = 'LaunchDarkly Tracing Hook';
12
13
  const defaultOptions = {
13
14
  spans: false,
14
15
  includeVariant: false,
15
16
  logger: (0, node_server_sdk_1.basicLogger)({ name: TRACING_HOOK_NAME }),
17
+ environmentId: undefined,
16
18
  };
17
19
  function validateOptions(options) {
18
20
  const validatedOptions = Object.assign({}, defaultOptions);
@@ -35,6 +37,14 @@ function validateOptions(options) {
35
37
  validatedOptions.logger.error(node_server_sdk_1.OptionMessages.wrongOptionType('spans', 'boolean', typeof (options === null || options === void 0 ? void 0 : options.spans)));
36
38
  }
37
39
  }
40
+ if ((options === null || options === void 0 ? void 0 : options.environmentId) !== undefined) {
41
+ if (node_server_sdk_1.TypeValidators.String.is(options.environmentId)) {
42
+ validatedOptions.environmentId = options.environmentId;
43
+ }
44
+ else {
45
+ validatedOptions.logger.error(node_server_sdk_1.OptionMessages.wrongOptionType('environmentId', 'string', typeof (options === null || options === void 0 ? void 0 : options.environmentId)));
46
+ }
47
+ }
38
48
  return validatedOptions;
39
49
  }
40
50
  /**
@@ -89,6 +99,12 @@ class TracingHook {
89
99
  [FEATURE_FLAG_PROVIDER_ATTR]: 'LaunchDarkly',
90
100
  [FEATURE_FLAG_CONTEXT_KEY_ATTR]: node_server_sdk_1.Context.fromLDContext(hookContext.context).canonicalKey,
91
101
  };
102
+ if (this._options.environmentId) {
103
+ eventAttributes[FEATURE_FLAG_SET_ID] = this._options.environmentId;
104
+ }
105
+ else if (hookContext.environmentId) {
106
+ eventAttributes[FEATURE_FLAG_SET_ID] = hookContext.environmentId;
107
+ }
92
108
  if (this._options.includeVariant) {
93
109
  eventAttributes[FEATURE_FLAG_VARIANT_ATTR] = JSON.stringify(detail.value);
94
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TracingHook.js","sourceRoot":"","sources":["../src/TracingHook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TracingHook.js","sourceRoot":"","sources":["../src/TracingHook.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@launchdarkly/node-server-sdk-otel",
3
- "version": "1.1.8",
3
+ "version": "1.2.0",
4
4
  "type": "commonjs",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -33,7 +33,7 @@
33
33
  "@opentelemetry/api": ">=1.3.0"
34
34
  },
35
35
  "devDependencies": {
36
- "@launchdarkly/node-server-sdk": "9.8.0",
36
+ "@launchdarkly/node-server-sdk": "9.9.0",
37
37
  "@opentelemetry/api": ">=1.3.0",
38
38
  "@opentelemetry/sdk-node": "0.49.1",
39
39
  "@opentelemetry/sdk-trace-node": "1.22.0",