@farm.js/otel 0.1.0-beta.26 → 0.1.0-beta.27

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAA0B,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAoB,KAAK,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAElF,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,YAAY,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,kBAAkB,CAAC,EAAE,UAAU,CAAC;IAChC,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,EAAE,qBAAqB,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,qBAAqB,CAAC,EAAE,wBAAwB,CAAC;IACjD,gBAAgB,CAAC,EAAE,KAAK,CAAC,eAAe,GAAG,eAAe,EAAE,CAAC,CAAC;IAC9D;;;;OAIG;IACH,aAAa,CAAC,EAAE,WAAW,CAAC,qBAAqB,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IACvF;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;CAChD;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,OAAO,CAAC;IACb,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAwBD,wBAAsB,YAAY,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAyF7F;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAIpD;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAIlD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAA0B,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAoB,KAAK,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAElF,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,YAAY,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,kBAAkB,CAAC,EAAE,UAAU,CAAC;IAChC,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,EAAE,qBAAqB,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,qBAAqB,CAAC,EAAE,wBAAwB,CAAC;IACjD,gBAAgB,CAAC,EAAE,KAAK,CAAC,eAAe,GAAG,eAAe,EAAE,CAAC,CAAC;IAC9D;;;;OAIG;IACH,aAAa,CAAC,EAAE,WAAW,CAAC,qBAAqB,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IACvF;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;CAChD;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,OAAO,CAAC;IACb,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAwBD,wBAAsB,YAAY,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAqG7F;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAIpD;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAIlD"}
package/dist/index.js CHANGED
@@ -40,14 +40,24 @@ export async function registerOTel(options = {}) {
40
40
  (options.autoInstrumentations === false
41
41
  ? []
42
42
  : [getNodeAutoInstrumentations(options.instrumentationConfig)]);
43
- // Left unset, the Node SDK reads `OTEL_METRICS_EXPORTER` and falls back to
44
- // a periodic OTLP metrics pipeline pointed at localhost:4318. That is a
45
- // pipeline nobody configured, and with nothing listening there every
43
+ // Left unset, the Node SDK falls back to a periodic OTLP metrics pipeline
44
+ // pointed at localhost:4318. With nothing listening there, the first
46
45
  // recorded metric turns graceful shutdown into the exporter's retry window
47
- // (measured at ~8s, both for these events and for auto-instrumentation's
48
- // own metrics). An empty reader list keeps the meter provider unregistered,
49
- // so metrics stay off until an app asks for them.
50
- const metricReaders = options.metricReaders ?? (process.env.OTEL_METRICS_EXPORTER ? undefined : []);
46
+ // (measured at ~8s), and farm's production lifecycle waits on
47
+ // instrumentation shutdown, so that is a stalled deploy.
48
+ //
49
+ // An empty reader list keeps the meter provider unregistered, which turns
50
+ // metrics off entirely, so it may only be the default when the app has
51
+ // pointed nothing at a collector. `OTEL_METRICS_EXPORTER` alone is not that
52
+ // signal: the spec already defaults it to `otlp`, so the ordinary
53
+ // production posture is to set an endpoint and leave the exporter variable
54
+ // alone. Treat any configured OTLP metrics destination as the opt-in, and
55
+ // leave `OTEL_METRICS_EXPORTER=none` as the documented way to turn metrics
56
+ // off.
57
+ const metricsDestinationConfigured = Boolean(process.env.OTEL_METRICS_EXPORTER ||
58
+ process.env.OTEL_EXPORTER_OTLP_METRICS_ENDPOINT ||
59
+ process.env.OTEL_EXPORTER_OTLP_ENDPOINT);
60
+ const metricReaders = options.metricReaders ?? (metricsDestinationConfigured ? undefined : []);
51
61
  const sdk = new NodeSDK({
52
62
  resource,
53
63
  sampler: options.sampler,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farm.js/otel",
3
- "version": "0.1.0-beta.26",
3
+ "version": "0.1.0-beta.27",
4
4
  "description": "OpenTelemetry SDK setup for Farm.js applications",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -34,7 +34,7 @@
34
34
  "@opentelemetry/sdk-node": "0.221.0",
35
35
  "@opentelemetry/sdk-trace-base": "2.10.0",
36
36
  "@opentelemetry/semantic-conventions": "1.43.0",
37
- "@farm.js/core": "0.1.0-beta.105"
37
+ "@farm.js/core": "0.1.0-beta.107"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/node": "^20.10.5",