@cat-factory/observability-otel 0.4.42 → 0.5.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/dist/mapping.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { LlmGenerationEvent, LlmToolSpan, LlmToolSpanContext } from '@cat-factory/kernel';
1
+ import type { LlmGenerationEvent, LlmToolSpan, LlmToolSpanContext, OperationalCounter, OperationalCounterSample, OperationalGauge, OperationalGaugeSample } from '@cat-factory/kernel';
2
2
  import type { PlatformObservability } from '@cat-factory/contracts';
3
3
  /** Default OTLP resource `service.name`; overridable via `OTEL_SERVICE_NAME`. */
4
4
  export declare const DEFAULT_SERVICE_NAME = "cat-factory";
@@ -106,6 +106,8 @@ export declare const PLATFORM_ATTR: {
106
106
  /** Metric units: a dimensionless run count, a dimensionless ratio, and seconds. */
107
107
  export declare const RUN_UNIT = "{run}";
108
108
  export declare const RATIO_UNIT = "1";
109
+ /** The unit of the operational queue-depth gauge (live, dead-lettered, or otherwise). */
110
+ export declare const JOB_UNIT = "{job}";
109
111
  /** One gauge data point: its dimensions, value, and whether to encode as int or double. */
110
112
  export interface MappedGaugePoint {
111
113
  attributes: AttributeMap;
@@ -131,5 +133,31 @@ export declare function mapPlatformMetrics(snapshot: PlatformObservability, dims
131
133
  }): MappedGauge[];
132
134
  /** Map one container tool call to a neutral span under its run's trace. */
133
135
  export declare function mapToolSpan(context: LlmToolSpanContext, span: LlmToolSpan): MappedSpan;
136
+ /**
137
+ * Metric name per operational counter. An exhaustive `Record` over the kernel union, so
138
+ * adding a counter there fails to compile until it is named here — the same guard the
139
+ * `STATUS_BY_CODE` error map gives the wire vocabulary.
140
+ */
141
+ export declare const OPERATIONAL_METRIC: Record<OperationalCounter, string>;
142
+ /** Metric name per operational gauge. Exhaustive, for the same reason. */
143
+ export declare const OPERATIONAL_GAUGE_METRIC: Record<OperationalGauge, string>;
144
+ /** One counter metric ready to encode as an OTLP delta sum. */
145
+ export interface MappedCounter {
146
+ name: string;
147
+ unit: string;
148
+ points: MappedGaugePoint[];
149
+ }
150
+ /**
151
+ * Map drained counter deltas onto OTLP delta sums, one metric per counter with a data point
152
+ * per dimension set. Samples for the same counter are grouped, because OTLP wants one metric
153
+ * carrying many points rather than the same metric repeated.
154
+ *
155
+ * Deliberately NOT account-scoped: an eviction or a cache miss belongs to the deployment, not
156
+ * to a tenant, and stamping a synthetic account on it would invent an attribution the event
157
+ * does not have.
158
+ */
159
+ export declare function mapOperationalCounters(samples: OperationalCounterSample[]): MappedCounter[];
160
+ /** Map probed gauge readings onto OTLP gauges, one metric per gauge. */
161
+ export declare function mapOperationalGauges(samples: OperationalGaugeSample[]): MappedGauge[];
134
162
  export {};
135
163
  //# sourceMappingURL=mapping.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAanE,iFAAiF;AACjF,eAAO,MAAM,oBAAoB,gBAAgB,CAAA;AAEjD,2EAA2E;AAC3E,eAAO,MAAM,UAAU,oCAAoC,CAAA;AAE3D;;;;GAIG;AACH,eAAO,MAAM,IAAI;aACf,MAAM,EAAE,eAAe;aACvB,YAAY,EAAE,sBAAsB;aACpC,WAAW,EAAE,2BAA2B;aACxC,eAAe,EAAE,sCAAsC;aACvD,gBAAgB,EAAE,0CAA0C;aAC5D,YAAY,EAAE,4BAA4B;aAC1C,aAAa,EAAE,gCAAgC;aAC/C,SAAS,EAAE,mBAAmB;aAC9B,WAAW,EAAE,0BAA0B;aACvC,SAAS,EAAE,wBAAwB;aACnC,WAAW,EAAE,cAAc;CACnB,CAAA;AAEV,wDAAwD;AACxD,eAAO,MAAM,MAAM;aACjB,UAAU,EAAE,2BAA2B;aACvC,QAAQ,EAAE,kCAAkC;CACpC,CAAA;AACV,eAAO,MAAM,UAAU,YAAY,CAAA;AACnC,eAAO,MAAM,aAAa,MAAM,CAAA;AAYhC,4FAA4F;AAC5F,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;AACvD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;AAEzD,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,gBAAgB;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,YAAY,CAAA;CACzB;AAED,qFAAqF;AACrF,MAAM,WAAW,UAAU;IACzB,oFAAoF;IACpF,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,gBAAgB;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,qEAAqE;IACrE,EAAE,EAAE,OAAO,CAAA;IACX,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,YAAY,CAAA;IACxB,MAAM,EAAE,WAAW,EAAE,CAAA;CACtB;AAED,2EAA2E;AAC3E,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,YAAY,CAAA;CACzB;AAED,+CAA+C;AAC/C,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,gBAAgB,EAAE,CAAA;IAC9B,qDAAqD;IACrD,eAAe,EAAE,MAAM,CAAA;IACvB,kBAAkB,EAAE,YAAY,CAAA;IAChC,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB;AAgCD,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAOD,wFAAwF;AACxF,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE7C;AAwBD,oDAAoD;AACpD,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,UAAU,CAyCnE;AAED,wEAAwE;AACxE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,CAe7E;AAaD,2EAA2E;AAC3E,eAAO,MAAM,eAAe;IAC1B,uEAAuE;aACvE,IAAI,EAAE,2BAA2B;IACjC,8DAA8D;aAC9D,cAAc,EAAE,uCAAuC;IACvD,wDAAwD;aACxD,WAAW,EAAE,mCAAmC;IAChD,0FAA0F;aAC1F,QAAQ,EAAE,gCAAgC;IAC1C,wFAAwF;aACxF,WAAW,EAAE,mCAAmC;CACxC,CAAA;AAEV;;;;;GAKG;AACH,eAAO,MAAM,aAAa;aACxB,SAAS,EAAE,wBAAwB;aACnC,MAAM,EAAE,oBAAoB;aAC5B,SAAS,EAAE,wBAAwB;aACnC,QAAQ,EAAE,uBAAuB;aACjC,WAAW,EAAE,0BAA0B;aACvC,YAAY,EAAE,2BAA2B;CACjC,CAAA;AAEV,mFAAmF;AACnF,eAAO,MAAM,QAAQ,UAAU,CAAA;AAC/B,eAAO,MAAM,UAAU,MAAM,CAAA;AAC7B,yFAAyF;AACzF,eAAO,MAAM,QAAQ,UAAU,CAAA;AAE/B,2FAA2F;AAC3F,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,YAAY,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,iFAAiF;IACjF,KAAK,EAAE,OAAO,CAAA;CACf;AAED,oEAAoE;AACpE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,gBAAgB,EAAE,CAAA;CAC3B;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,qBAAqB,EAC/B,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1B,WAAW,EAAE,CAqFf;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,WAAW,GAAG,UAAU,CAatF;AAeD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAWjE,CAAA;AAED,0EAA0E;AAC1E,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAErE,CAAA;AA+BD,+DAA+D;AAC/D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,gBAAgB,EAAE,CAAA;CAC3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,wBAAwB,EAAE,GAAG,aAAa,EAAE,CAgB3F;AAED,wEAAwE;AACxE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,EAAE,GAAG,WAAW,EAAE,CAgBrF"}
package/dist/mapping.js CHANGED
@@ -209,6 +209,8 @@ export const PLATFORM_ATTR = {
209
209
  /** Metric units: a dimensionless run count, a dimensionless ratio, and seconds. */
210
210
  export const RUN_UNIT = '{run}';
211
211
  export const RATIO_UNIT = '1';
212
+ /** The unit of the operational queue-depth gauge (live, dead-lettered, or otherwise). */
213
+ export const JOB_UNIT = '{job}';
212
214
  /**
213
215
  * Map a {@link PlatformObservability} projection to the OpenTelemetry gauge metrics. All are
214
216
  * point-in-time gauges (the OTel backend builds trends from the series over time), stamped
@@ -310,4 +312,109 @@ export function mapToolSpan(context, span) {
310
312
  events: [],
311
313
  };
312
314
  }
315
+ // ---------------------------------------------------------------------------
316
+ // Operational metrics: the deployment's own behaviour (sweeper activity, container dispatch
317
+ // failures + evictions, queue depth, dropped telemetry, cache hit/miss), as opposed to the
318
+ // run aggregates above. These come from the kernel `OperationalMetrics` seam rather than from
319
+ // a projection over a table, because they describe EVENTS rather than rows.
320
+ //
321
+ // The temporality split is the load-bearing part. Counters are accumulated per process
322
+ // (Node/local) or per isolate (the Worker) and flushed by whoever holds them, so they are
323
+ // exported as DELTA sums: two flushers each reporting their own delta sum correctly in the
324
+ // backend, where two flushers each reporting a cumulative total would not. `queue.depth` is a
325
+ // genuine gauge — probed at export time from something that already knows the answer.
326
+ // ---------------------------------------------------------------------------
327
+ /**
328
+ * Metric name per operational counter. An exhaustive `Record` over the kernel union, so
329
+ * adding a counter there fails to compile until it is named here — the same guard the
330
+ * `STATUS_BY_CODE` error map gives the wire vocabulary.
331
+ */
332
+ export const OPERATIONAL_METRIC = {
333
+ 'sweep.run_redriven': 'cat_factory.platform.sweep_runs_redriven',
334
+ 'sweep.run_finalized': 'cat_factory.platform.sweep_runs_finalized',
335
+ 'sweep.run_stalled': 'cat_factory.platform.sweep_runs_stalled',
336
+ 'sweep.failed': 'cat_factory.platform.sweep_failures',
337
+ 'container.dispatch_failed': 'cat_factory.platform.container_dispatch_failures',
338
+ 'container.evicted': 'cat_factory.platform.container_evictions',
339
+ 'telemetry.export_dropped': 'cat_factory.platform.telemetry_exports_dropped',
340
+ 'notification.delivery_failed': 'cat_factory.platform.notification_delivery_failures',
341
+ 'cache.hit': 'cat_factory.platform.cache_hits',
342
+ 'cache.miss': 'cat_factory.platform.cache_misses',
343
+ };
344
+ /** Metric name per operational gauge. Exhaustive, for the same reason. */
345
+ export const OPERATIONAL_GAUGE_METRIC = {
346
+ 'queue.depth': 'cat_factory.platform.queue_depth',
347
+ };
348
+ /**
349
+ * Unit per operational counter — a decision at the point a signal is added rather than a
350
+ * default, because `{run}` and `{read}` trend very differently and an operator reading a
351
+ * dashboard has only the unit to tell them apart.
352
+ */
353
+ const OPERATIONAL_UNIT = {
354
+ 'sweep.run_redriven': RUN_UNIT,
355
+ 'sweep.run_finalized': RUN_UNIT,
356
+ 'sweep.run_stalled': RUN_UNIT,
357
+ 'sweep.failed': '{failure}',
358
+ 'container.dispatch_failed': '{failure}',
359
+ 'container.evicted': '{eviction}',
360
+ 'telemetry.export_dropped': '{export}',
361
+ 'notification.delivery_failed': '{failure}',
362
+ 'cache.hit': '{read}',
363
+ 'cache.miss': '{read}',
364
+ };
365
+ /**
366
+ * Namespace a sample's dimension keys onto the `cat_factory.` attribute prefix every other
367
+ * emitted attribute uses, so an operational point sits beside the platform gauges in the same
368
+ * backend without a second naming convention.
369
+ */
370
+ function operationalAttributes(dimensions) {
371
+ const attributes = {};
372
+ for (const [key, value] of Object.entries(dimensions))
373
+ attributes[`cat_factory.${key}`] = value;
374
+ return attributes;
375
+ }
376
+ /**
377
+ * Map drained counter deltas onto OTLP delta sums, one metric per counter with a data point
378
+ * per dimension set. Samples for the same counter are grouped, because OTLP wants one metric
379
+ * carrying many points rather than the same metric repeated.
380
+ *
381
+ * Deliberately NOT account-scoped: an eviction or a cache miss belongs to the deployment, not
382
+ * to a tenant, and stamping a synthetic account on it would invent an attribution the event
383
+ * does not have.
384
+ */
385
+ export function mapOperationalCounters(samples) {
386
+ const byMetric = new Map();
387
+ for (const sample of samples) {
388
+ const points = byMetric.get(sample.counter) ?? [];
389
+ points.push({
390
+ attributes: operationalAttributes(sample.dimensions),
391
+ value: sample.value,
392
+ isInt: true,
393
+ });
394
+ byMetric.set(sample.counter, points);
395
+ }
396
+ return [...byMetric].map(([counter, points]) => ({
397
+ name: OPERATIONAL_METRIC[counter],
398
+ unit: OPERATIONAL_UNIT[counter],
399
+ points,
400
+ }));
401
+ }
402
+ /** Map probed gauge readings onto OTLP gauges, one metric per gauge. */
403
+ export function mapOperationalGauges(samples) {
404
+ const byMetric = new Map();
405
+ for (const sample of samples) {
406
+ const points = byMetric.get(sample.gauge) ?? [];
407
+ points.push({
408
+ attributes: operationalAttributes(sample.dimensions),
409
+ value: sample.value,
410
+ isInt: true,
411
+ });
412
+ byMetric.set(sample.gauge, points);
413
+ }
414
+ return [...byMetric].map(([gauge, points]) => ({
415
+ name: OPERATIONAL_GAUGE_METRIC[gauge],
416
+ unit: JOB_UNIT,
417
+ points,
418
+ }));
419
+ }
313
420
  //# sourceMappingURL=mapping.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapping.js","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapping.js","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { PlatformObservability } from '@cat-factory/contracts';
2
- import type { Logger } from '@cat-factory/kernel';
2
+ import type { Logger, OperationalCounterSample, OperationalGaugeSample } from '@cat-factory/kernel';
3
3
  export interface PlatformMetricsOtelExporterConfig {
4
4
  /** OTLP/HTTP base URL, e.g. `http://collector:4318` (`/v1/metrics` is appended). */
5
5
  endpoint: string;
@@ -31,6 +31,19 @@ export declare class PlatformMetricsOtelExporter {
31
31
  export(snapshot: PlatformObservability, dims: {
32
32
  accountId: string;
33
33
  }): Promise<void>;
34
+ /**
35
+ * Export the deployment's OPERATIONAL signals: drained counter deltas plus point-in-time
36
+ * gauge readings. Deployment-scoped, NOT per account — an eviction or a dropped telemetry
37
+ * batch belongs to the deployment, and stamping a tenant on it would invent an attribution
38
+ * the event does not have.
39
+ *
40
+ * `at` is the flush clock (the caller's, so this stays free of a wall-clock read like
41
+ * `export` above). Sends nothing when both lists are empty: an unflushed zero and a genuine
42
+ * zero are different facts, and only the ABSENCE of a point states the first one honestly.
43
+ * Best-effort — see the file header.
44
+ */
45
+ exportOperational(counters: OperationalCounterSample[], gauges: OperationalGaugeSample[], at: number): Promise<void>;
46
+ private post;
34
47
  }
35
48
  /** Build a fetch-based {@link PlatformMetricsOtelExporter}. The workerd-safe opt-in exporter. */
36
49
  export declare function createPlatformMetricsOtelExporter(config: PlatformMetricsOtelExporterConfig): PlatformMetricsOtelExporter;
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAUnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAoBjD,MAAM,WAAW,iCAAiC;IAChD,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAA;IAChB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gEAAgE;IAChE,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CACzB;AAiBD,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IAExC,YAAY,MAAM,EAAE,iCAAiC,EAOpD;IAED,OAAO,CAAC,kBAAkB;IAI1B;;;;;;;OAOG;IACG,MAAM,CAAC,QAAQ,EAAE,qBAAqB,EAAE,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBxF;CACF;AAED,iGAAiG;AACjG,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,iCAAiC,GACxC,2BAA2B,CAE7B"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAanE,OAAO,KAAK,EAAE,MAAM,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAoBnG,MAAM,WAAW,iCAAiC;IAChD,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAA;IAChB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gEAAgE;IAChE,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CACzB;AA+CD,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IAExC,YAAY,MAAM,EAAE,iCAAiC,EAOpD;IAED,OAAO,CAAC,kBAAkB;IAI1B;;;;;;;OAOG;IACG,MAAM,CAAC,QAAQ,EAAE,qBAAqB,EAAE,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBxF;IAED;;;;;;;;;;OAUG;IACG,iBAAiB,CACrB,QAAQ,EAAE,wBAAwB,EAAE,EACpC,MAAM,EAAE,sBAAsB,EAAE,EAChC,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC,CAef;YAEa,IAAI;CASnB;AAED,iGAAiG;AACjG,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,iCAAiC,GACxC,2BAA2B,CAE7B"}
package/dist/platform.js CHANGED
@@ -1,4 +1,4 @@
1
- import { ATTR, DEFAULT_SERVICE_NAME, SCOPE_NAME, mapPlatformMetrics, toUnixNano, } from './mapping.js';
1
+ import { ATTR, DEFAULT_SERVICE_NAME, SCOPE_NAME, mapOperationalCounters, mapOperationalGauges, mapPlatformMetrics, toUnixNano, } from './mapping.js';
2
2
  import { keyValues, postOtlp } from './otlp.js';
3
3
  /** Encode one {@link MappedGauge} as an OTLP metric with a `gauge` data-point list. */
4
4
  function encodeGauge(gauge, timeUnixNano) {
@@ -14,6 +14,34 @@ function encodeGauge(gauge, timeUnixNano) {
14
14
  },
15
15
  };
16
16
  }
17
+ /**
18
+ * OTLP `aggregationTemporality` for DELTA. Operational counters are accumulated per process /
19
+ * per isolate and flushed by whoever holds them, so each flush reports only what it saw —
20
+ * which sums correctly in the backend exactly because it is a delta. Same value the per-call
21
+ * LLM metrics use, for the same reason.
22
+ */
23
+ const TEMPORALITY_DELTA = 1;
24
+ /** Encode one {@link MappedCounter} as an OTLP metric with a monotonic delta `sum`. */
25
+ function encodeCounter(counter, timeUnixNano) {
26
+ return {
27
+ name: counter.name,
28
+ unit: counter.unit,
29
+ sum: {
30
+ aggregationTemporality: TEMPORALITY_DELTA,
31
+ isMonotonic: true,
32
+ dataPoints: counter.points.map((point) => ({
33
+ attributes: keyValues(point.attributes),
34
+ // A delta point's window is [start, time]. The exporter does not track when the
35
+ // previous flush happened, so both are stamped at the flush: the backend reads the
36
+ // delta VALUE, which is the fact being reported, and never infers a rate from a
37
+ // window this exporter would have to fabricate.
38
+ startTimeUnixNano: timeUnixNano,
39
+ timeUnixNano,
40
+ asInt: String(Math.round(point.value)),
41
+ })),
42
+ },
43
+ };
44
+ }
17
45
  export class PlatformMetricsOtelExporter {
18
46
  metricsEndpoint;
19
47
  headers;
@@ -57,6 +85,37 @@ export class PlatformMetricsOtelExporter {
57
85
  },
58
86
  ],
59
87
  };
88
+ await this.post(payload);
89
+ }
90
+ /**
91
+ * Export the deployment's OPERATIONAL signals: drained counter deltas plus point-in-time
92
+ * gauge readings. Deployment-scoped, NOT per account — an eviction or a dropped telemetry
93
+ * batch belongs to the deployment, and stamping a tenant on it would invent an attribution
94
+ * the event does not have.
95
+ *
96
+ * `at` is the flush clock (the caller's, so this stays free of a wall-clock read like
97
+ * `export` above). Sends nothing when both lists are empty: an unflushed zero and a genuine
98
+ * zero are different facts, and only the ABSENCE of a point states the first one honestly.
99
+ * Best-effort — see the file header.
100
+ */
101
+ async exportOperational(counters, gauges, at) {
102
+ if (counters.length === 0 && gauges.length === 0)
103
+ return;
104
+ const timeUnixNano = toUnixNano(at);
105
+ const metrics = [
106
+ ...mapOperationalCounters(counters).map((c) => encodeCounter(c, timeUnixNano)),
107
+ ...mapOperationalGauges(gauges).map((g) => encodeGauge(g, timeUnixNano)),
108
+ ];
109
+ await this.post({
110
+ resourceMetrics: [
111
+ {
112
+ resource: { attributes: this.resourceAttributes() },
113
+ scopeMetrics: [{ scope: { name: SCOPE_NAME }, metrics }],
114
+ },
115
+ ],
116
+ });
117
+ }
118
+ async post(payload) {
60
119
  await postOtlp({
61
120
  fetchImpl: this.fetchImpl,
62
121
  endpoint: this.metricsEndpoint,
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,IAAI,EACJ,oBAAoB,EACpB,UAAU,EACV,kBAAkB,EAClB,UAAU,GACX,MAAM,cAAc,CAAA;AACrB,OAAO,EAAiB,SAAS,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAkC9D,uFAAuF;AACvF,SAAS,WAAW,CAAC,KAAkB,EAAE,YAAoB;IAC3D,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE;YACL,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACvC,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC;gBACvC,YAAY;gBACZ,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;aAC1F,CAAC,CAAC;SACJ;KACF,CAAA;AACH,CAAC;AAED,MAAM,OAAO,2BAA2B;IACrB,eAAe,CAAQ;IACvB,OAAO,CAAwB;IAC/B,WAAW,CAAQ;IACnB,MAAM,CAAS;IACf,SAAS,CAAc;IAExC,YAAY,MAAyC;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAChD,IAAI,CAAC,eAAe,GAAG,GAAG,IAAI,aAAa,CAAA;QAC3C,IAAI,CAAC,OAAO,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;QACxE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,oBAAoB,CAAA;QAC7D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC3B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,KAAK,CAAA;IAC5C,CAAC;IAEO,kBAAkB;QACxB,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IAC9E,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CAAC,QAA+B,EAAE,IAA2B;QACvE,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QACjD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAC/B,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QACrD,MAAM,OAAO,GAAG;YACd,eAAe,EAAE;gBACf;oBACE,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE;oBACnD,YAAY,EAAE;wBACZ;4BACE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;4BAC3B,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;yBACjE;qBACF;iBACF;aACF;SACF,CAAA;QACD,MAAM,QAAQ,CAAC;YACb,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,eAAe;YAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO;YACP,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAA;IACJ,CAAC;CACF;AAED,iGAAiG;AACjG,MAAM,UAAU,iCAAiC,CAC/C,MAAyC;IAEzC,OAAO,IAAI,2BAA2B,CAAC,MAAM,CAAC,CAAA;AAChD,CAAC"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/observability-otel",
3
- "version": "0.4.42",
3
+ "version": "0.5.0",
4
4
  "description": "Opt-in OpenTelemetry (OTLP) trace + metrics publisher for the Agent Architecture Board. Streams LLM generations and container tool spans to any OTLP/HTTP backend — the workerd-safe fetch exporter on the Cloudflare Worker facade, the official @opentelemetry/* SDK on Node — kept conformant by a shared mapping layer + tests. Also publishes deployment-level (platform-operator) run-health aggregates as OTLP gauge metrics.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -35,8 +35,8 @@
35
35
  "@opentelemetry/sdk-metrics": "^2.10.0",
36
36
  "@opentelemetry/sdk-trace-base": "^2.10.0",
37
37
  "@opentelemetry/sdk-trace-node": "^2.10.0",
38
- "@cat-factory/contracts": "0.211.0",
39
- "@cat-factory/kernel": "0.214.1"
38
+ "@cat-factory/contracts": "0.212.0",
39
+ "@cat-factory/kernel": "0.215.0"
40
40
  },
41
41
  "devDependencies": {
42
42
  "typescript": "7.0.2",