@newrelic/preflight 1.0.4 → 1.0.5
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/README.md +2 -1
- package/dist/alerts/types.d.ts.map +1 -1
- package/dist/alerts/types.js.map +1 -1
- package/dist/config.js +3 -3
- package/dist/config.js.map +1 -1
- package/dist/dashboard/dashboard-server.d.ts +4 -0
- package/dist/dashboard/dashboard-server.d.ts.map +1 -1
- package/dist/dashboard/dashboard-server.js +42 -1
- package/dist/dashboard/dashboard-server.js.map +1 -1
- package/dist/dashboard/live-event-bus.js +2 -2
- package/dist/dashboard/live-event-bus.js.map +1 -1
- package/dist/dashboard/routes/sse-handler.js +3 -3
- package/dist/dashboard/routes/sse-handler.js.map +1 -1
- package/dist/hooks/collector-script.d.ts.map +1 -1
- package/dist/hooks/collector-script.js +1 -5
- package/dist/hooks/collector-script.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/install/schedule.d.ts +1 -0
- package/dist/install/schedule.d.ts.map +1 -1
- package/dist/install/schedule.js +23 -5
- package/dist/install/schedule.js.map +1 -1
- package/dist/metrics/anti-patterns.d.ts.map +1 -1
- package/dist/metrics/anti-patterns.js.map +1 -1
- package/dist/metrics/context-composition-tracker.d.ts.map +1 -1
- package/dist/metrics/context-composition-tracker.js.map +1 -1
- package/dist/platforms/copilot-adapter.d.ts.map +1 -1
- package/dist/platforms/copilot-adapter.js.map +1 -1
- package/dist/proxy/otlp-receiver.d.ts.map +1 -1
- package/dist/proxy/otlp-receiver.js.map +1 -1
- package/dist/proxy/proxy-manager.js +1 -1
- package/dist/proxy/proxy-manager.js.map +1 -1
- package/dist/proxy/upstream-stdio.d.ts.map +1 -1
- package/dist/proxy/upstream-stdio.js.map +1 -1
- package/dist/security/ssrf.js +1 -1
- package/dist/security/ssrf.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +2 -1
- package/dist/server.js.map +1 -1
- package/dist/shared/__test-utils__/log-output.d.ts +1 -2
- package/dist/shared/__test-utils__/log-output.d.ts.map +1 -1
- package/dist/shared/__test-utils__/log-output.js +1 -2
- package/dist/shared/__test-utils__/log-output.js.map +1 -1
- package/dist/shared/config.d.ts +8 -2
- package/dist/shared/config.d.ts.map +1 -1
- package/dist/shared/config.js +20 -20
- package/dist/shared/config.js.map +1 -1
- package/dist/shared/errors.d.ts +1 -1
- package/dist/shared/errors.js +10 -10
- package/dist/shared/errors.js.map +1 -1
- package/dist/shared/events/factory.js +12 -12
- package/dist/shared/events/factory.js.map +1 -1
- package/dist/shared/events/serialize.d.ts +2 -2
- package/dist/shared/events/serialize.js +19 -19
- package/dist/shared/events/serialize.js.map +1 -1
- package/dist/shared/harvest/event-buffer.d.ts +2 -2
- package/dist/shared/harvest/event-buffer.js +3 -3
- package/dist/shared/harvest/event-buffer.js.map +1 -1
- package/dist/shared/harvest/harvest-scheduler.d.ts +4 -5
- package/dist/shared/harvest/harvest-scheduler.d.ts.map +1 -1
- package/dist/shared/harvest/harvest-scheduler.js +35 -35
- package/dist/shared/harvest/harvest-scheduler.js.map +1 -1
- package/dist/shared/harvest/metric-aggregator.d.ts +9 -9
- package/dist/shared/harvest/metric-aggregator.d.ts.map +1 -1
- package/dist/shared/harvest/metric-aggregator.js +16 -18
- package/dist/shared/harvest/metric-aggregator.js.map +1 -1
- package/dist/shared/index.d.ts +0 -1
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +0 -1
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/logger.d.ts +4 -5
- package/dist/shared/logger.d.ts.map +1 -1
- package/dist/shared/logger.js +12 -12
- package/dist/shared/logger.js.map +1 -1
- package/dist/shared/pricing-data.js +10 -10
- package/dist/shared/pricing-data.js.map +1 -1
- package/dist/shared/pricing.d.ts +3 -3
- package/dist/shared/pricing.js +12 -12
- package/dist/shared/pricing.js.map +1 -1
- package/dist/shared/redact.d.ts +1 -3
- package/dist/shared/redact.d.ts.map +1 -1
- package/dist/shared/redact.js +8 -10
- package/dist/shared/redact.js.map +1 -1
- package/dist/shared/timing.d.ts +4 -4
- package/dist/shared/timing.d.ts.map +1 -1
- package/dist/shared/timing.js +9 -9
- package/dist/shared/timing.js.map +1 -1
- package/dist/shared/tokens.d.ts +4 -4
- package/dist/shared/tokens.js +16 -16
- package/dist/shared/tokens.js.map +1 -1
- package/dist/shared/transport/events-api.d.ts +1 -1
- package/dist/shared/transport/events-api.d.ts.map +1 -1
- package/dist/shared/transport/events-api.js +2 -1
- package/dist/shared/transport/events-api.js.map +1 -1
- package/dist/shared/transport/http-client.d.ts +1 -1
- package/dist/shared/transport/http-client.d.ts.map +1 -1
- package/dist/shared/transport/http-client.js +19 -28
- package/dist/shared/transport/http-client.js.map +1 -1
- package/dist/shared/transport/logs-api.d.ts +2 -3
- package/dist/shared/transport/logs-api.d.ts.map +1 -1
- package/dist/shared/transport/logs-api.js +3 -3
- package/dist/shared/transport/logs-api.js.map +1 -1
- package/dist/shared/transport/metric-api.d.ts.map +1 -1
- package/dist/shared/transport/metric-api.js +1 -0
- package/dist/shared/transport/metric-api.js.map +1 -1
- package/dist/shared/transport/otlp-event-bridge.d.ts +10 -5
- package/dist/shared/transport/otlp-event-bridge.d.ts.map +1 -1
- package/dist/shared/transport/otlp-event-bridge.js +20 -11
- package/dist/shared/transport/otlp-event-bridge.js.map +1 -1
- package/dist/shared/transport/otlp-shared.d.ts +12 -1
- package/dist/shared/transport/otlp-shared.d.ts.map +1 -1
- package/dist/shared/transport/otlp-shared.js +20 -4
- package/dist/shared/transport/otlp-shared.js.map +1 -1
- package/dist/shared/transport/otlp-transport.d.ts +22 -19
- package/dist/shared/transport/otlp-transport.d.ts.map +1 -1
- package/dist/shared/transport/otlp-transport.js +136 -120
- package/dist/shared/transport/otlp-transport.js.map +1 -1
- package/dist/shared/transport/types.d.ts +7 -3
- package/dist/shared/transport/types.d.ts.map +1 -1
- package/dist/storage/session-store.js +1 -1
- package/dist/storage/weekly-summary.js +3 -3
- package/dist/storage/weekly-summary.js.map +1 -1
- package/dist/tools/cross-session-tools.js +1 -1
- package/dist/tools/cross-session-tools.js.map +1 -1
- package/dist/tools/session-stats.d.ts.map +1 -1
- package/dist/tools/session-stats.js +2 -1
- package/dist/tools/session-stats.js.map +1 -1
- package/dist/tracing/mcp-tracer.js +1 -1
- package/dist/tracing/mcp-tracer.js.map +1 -1
- package/dist/transport/nr-ingest.d.ts.map +1 -1
- package/dist/transport/nr-ingest.js +4 -0
- package/dist/transport/nr-ingest.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +21 -0
- package/dist/version.js.map +1 -0
- package/dist/web/assets/index-CW0UCwb9.css +2 -0
- package/dist/web/assets/index-HRyb4aZK.js +64 -0
- package/dist/web/index.html +2 -2
- package/package.json +23 -23
- package/dist/shared/version.d.ts +0 -2
- package/dist/shared/version.d.ts.map +0 -1
- package/dist/shared/version.js +0 -2
- package/dist/shared/version.js.map +0 -1
- package/dist/web/assets/index-BrL281N-.css +0 -2
- package/dist/web/assets/index-CcaYZzXm.js +0 -42
|
@@ -4,8 +4,8 @@ import { EventBuffer } from './event-buffer.js';
|
|
|
4
4
|
import { MetricAggregator, snapshotsToNrMetrics } from './metric-aggregator.js';
|
|
5
5
|
const logger = createLogger('harvest');
|
|
6
6
|
/**
|
|
7
|
-
* Generate an 8-hex-char correlation ID for one harvest cycle
|
|
8
|
-
|
|
7
|
+
* Generate an 8-hex-char correlation ID for one harvest cycle.
|
|
8
|
+
* Stamped via `logger.child({ harvestId })` so every
|
|
9
9
|
* log line emitted during the cycle — including from `sendEvents*` /
|
|
10
10
|
* `sendMetrics*` helpers — carries the same ID. Operators can pivot on
|
|
11
11
|
* `harvestId` in stderr to trace one cycle through batch send, retry,
|
|
@@ -33,7 +33,7 @@ export class HarvestScheduler {
|
|
|
33
33
|
metricIntervalId = null;
|
|
34
34
|
running = false;
|
|
35
35
|
stopPromise = null;
|
|
36
|
-
//
|
|
36
|
+
// Track in-flight harvests so (a) overlapping
|
|
37
37
|
// interval ticks don't double-fire harvests on the same buffers (a slow
|
|
38
38
|
// network can otherwise produce N concurrent fetches if interval < latency),
|
|
39
39
|
// and (b) stop() can await any harvest already in progress before kicking
|
|
@@ -45,7 +45,7 @@ export class HarvestScheduler {
|
|
|
45
45
|
// harvest to re-send the batch to *both* transports, duplicating on OTLP.
|
|
46
46
|
retryNrEventBatch = [];
|
|
47
47
|
retryOtlpEventBatch = [];
|
|
48
|
-
//
|
|
48
|
+
// Retry buffers hold pre-explosion bucket snapshots, not
|
|
49
49
|
// exploded NrMetric[] wire form. On the next harvest the failed snapshots
|
|
50
50
|
// are merged back into the aggregator (via a temporary one, per transport)
|
|
51
51
|
// so that overlapping (name, attributes) keys collapse into a single
|
|
@@ -72,7 +72,7 @@ export class HarvestScheduler {
|
|
|
72
72
|
this.transport = options.transport ?? 'nr-events-api';
|
|
73
73
|
this.allowProcessExit = options.allowProcessExit ?? false;
|
|
74
74
|
// Warn when the transport configuration requires an OTLP component that
|
|
75
|
-
// was not provided — events/metrics would be silently dropped
|
|
75
|
+
// was not provided — events/metrics would be silently dropped.
|
|
76
76
|
const wantOtlp = this.transport === 'otlp' || this.transport === 'both';
|
|
77
77
|
if (wantOtlp && !this.otlpEventBridge) {
|
|
78
78
|
logger.warn('HarvestScheduler: transport includes otlp but otlpEventBridge is not configured — OTLP events will be silently dropped');
|
|
@@ -82,7 +82,7 @@ export class HarvestScheduler {
|
|
|
82
82
|
}
|
|
83
83
|
this.eventBuffer = new EventBuffer({ maxSize: options.maxEventBufferSize });
|
|
84
84
|
this.metricAggregator = new MetricAggregator();
|
|
85
|
-
//
|
|
85
|
+
// maxRetryEvents defaults to maxEventBufferSize when
|
|
86
86
|
// not specified, preserving prior behavior. Operators that need a
|
|
87
87
|
// deeper retry cap (bursty failures, long downstream outages) can set
|
|
88
88
|
// it independently — peak in-memory event count is then roughly
|
|
@@ -112,7 +112,7 @@ export class HarvestScheduler {
|
|
|
112
112
|
*
|
|
113
113
|
* Returns `true` when the sample was accepted into a bucket, and `false`
|
|
114
114
|
* when it was rejected (non-finite value or invalid attribute type) per
|
|
115
|
-
* the
|
|
115
|
+
* the strict validation contract. Existing
|
|
116
116
|
* callers that ignore the return value see unchanged behavior.
|
|
117
117
|
*/
|
|
118
118
|
recordMetric(name, value, attributes = {}) {
|
|
@@ -158,7 +158,7 @@ export class HarvestScheduler {
|
|
|
158
158
|
logger.warn('HarvestScheduler already running');
|
|
159
159
|
return;
|
|
160
160
|
}
|
|
161
|
-
//
|
|
161
|
+
// Refuse start() while a previous stop() is still
|
|
162
162
|
// resolving. `running` flips to false at the top of doStop(), so without
|
|
163
163
|
// this guard a fast-cycling consumer could call start() before stop()
|
|
164
164
|
// has finished tearing down intervals / removing the beforeExit
|
|
@@ -180,7 +180,7 @@ export class HarvestScheduler {
|
|
|
180
180
|
if (this.inFlightEventHarvest)
|
|
181
181
|
return;
|
|
182
182
|
// .catch prevents unhandled-rejection process crash if the promise
|
|
183
|
-
// rejects unexpectedly before reaching its internal try/catch
|
|
183
|
+
// rejects unexpectedly before reaching its internal try/catch.
|
|
184
184
|
this.harvestEvents().catch((err) => {
|
|
185
185
|
logger.error('Unexpected error in event harvest interval', {
|
|
186
186
|
error: err instanceof Error ? err.message : String(err),
|
|
@@ -197,7 +197,7 @@ export class HarvestScheduler {
|
|
|
197
197
|
});
|
|
198
198
|
}, this.metricHarvestIntervalMs);
|
|
199
199
|
if (this.allowProcessExit) {
|
|
200
|
-
//
|
|
200
|
+
// Opt-in path for short-lived CLI tools. unref()'d
|
|
201
201
|
// intervals don't hold the loop open, and beforeExit is registered as
|
|
202
202
|
// a best-effort final-flush attempt. Both are best-effort: Node can
|
|
203
203
|
// exit before the fire-and-forget stop() finishes, so events may be
|
|
@@ -246,14 +246,14 @@ export class HarvestScheduler {
|
|
|
246
246
|
if (this.stopPromise)
|
|
247
247
|
return this.stopPromise;
|
|
248
248
|
// Do NOT short-circuit when !this.running — a caller who added events
|
|
249
|
-
// without ever calling start() should still get a final flush
|
|
249
|
+
// without ever calling start() should still get a final flush.
|
|
250
250
|
// The interval teardown steps in doStop() are all safe no-ops when the
|
|
251
251
|
// intervals were never started.
|
|
252
|
-
//
|
|
252
|
+
// Drive doStop to completion through stopPromise so
|
|
253
253
|
// concurrent stop() callers coalesce, then clear stopPromise once it
|
|
254
254
|
// resolves so a subsequent start() can pass the "no in-flight stop"
|
|
255
255
|
// guard. Without the clear, a restart-after-stop sequence would be
|
|
256
|
-
// refused (the
|
|
256
|
+
// refused (the guard sees a non-null stopPromise from the prior
|
|
257
257
|
// session and treats the next start() as racing an in-flight stop).
|
|
258
258
|
const promise = this.doStop().finally(() => {
|
|
259
259
|
// Only clear if the promise we registered is still the current one —
|
|
@@ -278,7 +278,7 @@ export class HarvestScheduler {
|
|
|
278
278
|
if (this.allowProcessExit) {
|
|
279
279
|
process.removeListener('beforeExit', this.boundBeforeExit);
|
|
280
280
|
}
|
|
281
|
-
//
|
|
281
|
+
// Wait for any harvest started by an interval tick
|
|
282
282
|
// to complete before we initiate the final flush. Without this, stop()'s
|
|
283
283
|
// own harvestEvents call could race the in-flight one (the re-entrancy
|
|
284
284
|
// guard would make it a no-op, returning the existing promise — but if
|
|
@@ -341,13 +341,13 @@ export class HarvestScheduler {
|
|
|
341
341
|
return ms;
|
|
342
342
|
}
|
|
343
343
|
async doHarvestEvents() {
|
|
344
|
-
//
|
|
344
|
+
// Scoped child logger stamps `harvestId` on every
|
|
345
345
|
// log line emitted during this cycle (overflow, retry, requeue,
|
|
346
346
|
// OTLP-export failures). Operators searching stderr for one harvest's
|
|
347
347
|
// story have a single pivot.
|
|
348
348
|
const harvestLog = logger.child({ harvestId: newHarvestId(), scope: 'events' });
|
|
349
349
|
const fresh = this.eventBuffer.flush();
|
|
350
|
-
//
|
|
350
|
+
// Surface event-buffer head-drops as a self-monitoring metric so
|
|
351
351
|
// overflow loss is visible in the consumer's own NR dashboards. Drained
|
|
352
352
|
// once per harvest, paired with a single warn log.
|
|
353
353
|
const dropped = this.eventBuffer.drainDropCount();
|
|
@@ -358,7 +358,7 @@ export class HarvestScheduler {
|
|
|
358
358
|
});
|
|
359
359
|
}
|
|
360
360
|
// Drain the add counter each cycle so totalAdded represents adds-since-
|
|
361
|
-
// last-flush
|
|
361
|
+
// last-flush. Not emitted as a metric today; wired here so a
|
|
362
362
|
// future nr.ai.added_events metric reads the correct per-interval value.
|
|
363
363
|
this.eventBuffer.drainAddCount();
|
|
364
364
|
const wantNr = this.transport === 'nr-events-api' || this.transport === 'both';
|
|
@@ -392,7 +392,7 @@ export class HarvestScheduler {
|
|
|
392
392
|
this.requeueNrEvents(batch, log);
|
|
393
393
|
}
|
|
394
394
|
else {
|
|
395
|
-
//
|
|
395
|
+
// Debug-level success log so operators tailing stderr can
|
|
396
396
|
// distinguish "harvest completed cleanly with N events" from
|
|
397
397
|
// "harvest never ran". Debug (not info) keeps the steady-state
|
|
398
398
|
// happy-path output quiet at default log levels.
|
|
@@ -412,15 +412,15 @@ export class HarvestScheduler {
|
|
|
412
412
|
try {
|
|
413
413
|
if (this.otlpEventBridge) {
|
|
414
414
|
this.otlpEventBridge.sendEvents(batch);
|
|
415
|
-
//
|
|
415
|
+
// Paired with the NR-side success log. Note: this only
|
|
416
416
|
// confirms enqueue into the OTel BatchLogRecordProcessor, not
|
|
417
417
|
// export — the SDK decides when the wire send actually fires.
|
|
418
418
|
log.debug('Enqueued events to OTLP bridge', { batchSize: batch.length });
|
|
419
419
|
}
|
|
420
420
|
else {
|
|
421
|
-
// Bridge absent: the constructor already warned once
|
|
421
|
+
// Bridge absent: the constructor already warned once. Warn
|
|
422
422
|
// at debug here so repeated harvests are traceable without flooding
|
|
423
|
-
// stderr
|
|
423
|
+
// stderr.
|
|
424
424
|
log.debug('OTLP event bridge not configured — batch discarded', {
|
|
425
425
|
batchSize: batch.length,
|
|
426
426
|
});
|
|
@@ -444,13 +444,13 @@ export class HarvestScheduler {
|
|
|
444
444
|
return this.inFlightMetricHarvest;
|
|
445
445
|
}
|
|
446
446
|
async doHarvestMetrics() {
|
|
447
|
-
//
|
|
447
|
+
// Scoped child logger stamps a `harvestId` on every
|
|
448
448
|
// log line emitted during this metric harvest cycle.
|
|
449
449
|
const harvestLog = logger.child({ harvestId: newHarvestId(), scope: 'metrics' });
|
|
450
|
-
//
|
|
450
|
+
// Self-monitoring: drain MetricAggregator's
|
|
451
451
|
// drop counter and emit it as a metric so non-finite-value rejections
|
|
452
452
|
// and invalid-attribute rejections are visible in the consumer's own
|
|
453
|
-
// NR dashboards. Mirrors
|
|
453
|
+
// NR dashboards. Mirrors the `nr.ai.dropped_events` pattern from
|
|
454
454
|
// doHarvestEvents. Note this is recorded BEFORE harvestSnapshots() so
|
|
455
455
|
// the dropped_metrics gauge itself flows through this same harvest tick
|
|
456
456
|
// (one extra bucket, one extra summary on the wire).
|
|
@@ -463,11 +463,11 @@ export class HarvestScheduler {
|
|
|
463
463
|
source: 'metric_aggregator',
|
|
464
464
|
});
|
|
465
465
|
}
|
|
466
|
-
//
|
|
466
|
+
// Drain the aggregator as snapshots, then per
|
|
467
467
|
// transport: merge the previous failed-send snapshots with the fresh
|
|
468
468
|
// ones (so duplicate name+attrs buckets accumulate), then explode to
|
|
469
469
|
// wire form. Each transport gets its own merged set so a NR-only
|
|
470
|
-
// failure doesn't double-send to OTLP
|
|
470
|
+
// failure doesn't double-send to OTLP.
|
|
471
471
|
const fresh = this.metricAggregator.harvestSnapshots();
|
|
472
472
|
const wantNr = this.transport === 'nr-events-api' || this.transport === 'both';
|
|
473
473
|
const wantOtlp = this.transport === 'otlp' || this.transport === 'both';
|
|
@@ -495,7 +495,7 @@ export class HarvestScheduler {
|
|
|
495
495
|
* with one entry per unique key. Uses a throwaway {@link MetricAggregator}
|
|
496
496
|
* as the merge engine so the bucket-key logic is not duplicated here.
|
|
497
497
|
*
|
|
498
|
-
*
|
|
498
|
+
* Without this re-merge, a failed-send retry plus a
|
|
499
499
|
* fresh harvest hitting the same metric+attrs would produce two wire
|
|
500
500
|
* data points with different timestamps, breaking downstream NRQL
|
|
501
501
|
* aggregation that expects one bucket per harvest interval.
|
|
@@ -521,7 +521,7 @@ export class HarvestScheduler {
|
|
|
521
521
|
this.requeueNrMetrics(snapshots, log);
|
|
522
522
|
}
|
|
523
523
|
else {
|
|
524
|
-
//
|
|
524
|
+
// Debug-level success log so operators tailing stderr can
|
|
525
525
|
// distinguish "harvest completed cleanly with N metrics" from
|
|
526
526
|
// "harvest never ran". Includes both the wire batch count and
|
|
527
527
|
// the underlying snapshot count so a future cardinality-explosion
|
|
@@ -545,14 +545,14 @@ export class HarvestScheduler {
|
|
|
545
545
|
try {
|
|
546
546
|
if (this.otlpTransport) {
|
|
547
547
|
await this.otlpTransport.exportMetrics(batch);
|
|
548
|
-
//
|
|
548
|
+
// Paired with the NR-side success log.
|
|
549
549
|
log.debug('Sent metrics to OTLP', {
|
|
550
550
|
batchSize: batch.length,
|
|
551
551
|
snapshotCount: snapshots.length,
|
|
552
552
|
});
|
|
553
553
|
}
|
|
554
554
|
else {
|
|
555
|
-
// Transport absent: the constructor already warned once
|
|
555
|
+
// Transport absent: the constructor already warned once.
|
|
556
556
|
log.debug('OTLP transport not configured — metric batch discarded', {
|
|
557
557
|
batchSize: batch.length,
|
|
558
558
|
});
|
|
@@ -560,7 +560,7 @@ export class HarvestScheduler {
|
|
|
560
560
|
}
|
|
561
561
|
catch (err) {
|
|
562
562
|
const message = err instanceof Error ? err.message : String(err);
|
|
563
|
-
//
|
|
563
|
+
// OtlpTransport.exportMetrics throws { code: 'OTLP_BAD_REQUEST' } for
|
|
564
564
|
// HTTP 400 to signal that the payload is permanently malformed and will always
|
|
565
565
|
// fail. Drop the batch instead of requeuing so it does not occupy the retry
|
|
566
566
|
// buffer indefinitely. All other errors are retried normally.
|
|
@@ -581,7 +581,7 @@ export class HarvestScheduler {
|
|
|
581
581
|
}
|
|
582
582
|
}
|
|
583
583
|
}
|
|
584
|
-
// NOTE
|
|
584
|
+
// NOTE: the self-monitoring metrics recorded below (nr.ai.dropped_events,
|
|
585
585
|
// nr.ai.dropped_metrics) are written to metricAggregator AFTER the current
|
|
586
586
|
// harvest cycle has already drained it via harvestSnapshots(). They will not
|
|
587
587
|
// be sent until the NEXT harvest cycle — operators see overflow counts one
|
|
@@ -589,15 +589,15 @@ export class HarvestScheduler {
|
|
|
589
589
|
// mistaken for a bug.
|
|
590
590
|
requeueNrEvents(batch, log = logger) {
|
|
591
591
|
// for-of push avoids two hazards: (a) the O(n+m) intermediate array from
|
|
592
|
-
// [...old, ...new]
|
|
593
|
-
// batch.length exceeds the engine's argument-count limit (~65k)
|
|
592
|
+
// [...old, ...new], and (b) push(...batch) throwing RangeError when
|
|
593
|
+
// batch.length exceeds the engine's argument-count limit (~65k).
|
|
594
594
|
for (const e of batch)
|
|
595
595
|
this.retryNrEventBatch.push(e);
|
|
596
596
|
if (this.retryNrEventBatch.length > this.maxRetryEvents) {
|
|
597
597
|
const dropped = this.retryNrEventBatch.length - this.maxRetryEvents;
|
|
598
598
|
this.retryNrEventBatch.splice(0, dropped);
|
|
599
599
|
log.warn('NR event retry buffer overflow — oldest entries dropped', { dropped });
|
|
600
|
-
// Surface as self-monitoring metric so NR dashboards show retry-buffer drops
|
|
600
|
+
// Surface as self-monitoring metric so NR dashboards show retry-buffer drops.
|
|
601
601
|
this.metricAggregator.record('nr.ai.dropped_events', dropped, {
|
|
602
602
|
source: 'retry_buffer',
|
|
603
603
|
transport: 'nr-events-api',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harvest-scheduler.js","sourceRoot":"","sources":["../../../src/shared/harvest/harvest-scheduler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"harvest-scheduler.js","sourceRoot":"","sources":["../../../src/shared/harvest/harvest-scheduler.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,8 +28,8 @@ export declare class MetricAggregator {
|
|
|
28
28
|
private buckets;
|
|
29
29
|
/**
|
|
30
30
|
* Number of `record()` calls rejected since the last `drainDropCount()`.
|
|
31
|
-
* Incremented on non-finite values and invalid attribute types
|
|
32
|
-
|
|
31
|
+
* Incremented on non-finite values and invalid attribute types.
|
|
32
|
+
* Mirrors the pattern in `EventBuffer.dropCount` so
|
|
33
33
|
* `HarvestScheduler` can emit a `nr.ai.dropped_metrics` self-monitoring
|
|
34
34
|
* gauge each harvest tick — operators currently see only `logger.warn`
|
|
35
35
|
* spam, with no aggregate count of "we silently dropped N samples".
|
|
@@ -41,7 +41,7 @@ export declare class MetricAggregator {
|
|
|
41
41
|
*
|
|
42
42
|
* Returns `true` when the sample was accepted into a bucket, and `false`
|
|
43
43
|
* when it was rejected (non-finite value or invalid attribute type) per
|
|
44
|
-
* the
|
|
44
|
+
* the strict validation contract. The boolean return surface
|
|
45
45
|
* exposes the rejection signal so callers can implement backpressure or
|
|
46
46
|
* surface invalid-input metrics. Existing callers
|
|
47
47
|
* that ignore the return value see unchanged behavior.
|
|
@@ -53,7 +53,7 @@ export declare class MetricAggregator {
|
|
|
53
53
|
* to wire form, or {@link merge} on a fresh harvest cycle to fold the
|
|
54
54
|
* snapshots back in if a send failed.
|
|
55
55
|
*
|
|
56
|
-
*
|
|
56
|
+
* Retaining snapshot form across the failed-send
|
|
57
57
|
* boundary is what lets the next harvest produce a single rolled-up
|
|
58
58
|
* data point per name+attrs combination instead of two separate ones
|
|
59
59
|
* with different timestamps.
|
|
@@ -70,8 +70,8 @@ export declare class MetricAggregator {
|
|
|
70
70
|
/**
|
|
71
71
|
* Total number of `record()` calls rejected since the last
|
|
72
72
|
* `drainDropCount()` (or aggregator construction). Includes both
|
|
73
|
-
* non-finite-value rejections and invalid-attribute-type rejections
|
|
74
|
-
|
|
73
|
+
* non-finite-value rejections and invalid-attribute-type rejections.
|
|
74
|
+
* Read-only — call `drainDropCount()` to read and
|
|
75
75
|
* reset atomically.
|
|
76
76
|
*/
|
|
77
77
|
get dropCount(): number;
|
|
@@ -91,8 +91,8 @@ export declare class MetricAggregator {
|
|
|
91
91
|
* `metric-aggregator.test.ts` to verify post-`harvest()` state.
|
|
92
92
|
*
|
|
93
93
|
* Not used by `HarvestScheduler` today; surfacing it (rather than dropping
|
|
94
|
-
* the accessor
|
|
95
|
-
* self-monitoring work
|
|
94
|
+
* the accessor) keeps the surface stable for the
|
|
95
|
+
* self-monitoring work.
|
|
96
96
|
*/
|
|
97
97
|
get bucketCount(): number;
|
|
98
98
|
}
|
|
@@ -100,7 +100,7 @@ export declare class MetricAggregator {
|
|
|
100
100
|
* Convert each {@link MetricSnapshot} to a single wire-format `NrMetric` of
|
|
101
101
|
* type `'summary'`.
|
|
102
102
|
*
|
|
103
|
-
*
|
|
103
|
+
* Previously this function emitted four separate metrics per snapshot
|
|
104
104
|
* (`{name}.count`, `.sum`, `.min`, `.max`) — three of them as `gauge` (which
|
|
105
105
|
* is semantically wrong for a delta-aggregated value) and one as `count`
|
|
106
106
|
* (without the required `interval.ms` field). The summary type collapses
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metric-aggregator.d.ts","sourceRoot":"","sources":["../../../src/shared/harvest/metric-aggregator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAKtD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,WAAW,cAAe,SAAQ,iBAAiB;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CAC3D;
|
|
1
|
+
{"version":3,"file":"metric-aggregator.d.ts","sourceRoot":"","sources":["../../../src/shared/harvest/metric-aggregator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAKtD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,WAAW,cAAe,SAAQ,iBAAiB;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CAC3D;AAsDD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAsB;IACrC;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY,CAAK;;IAMzB;;;;;;;;;OASG;IACH,MAAM,CACJ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAM,GACpD,OAAO;IA+CV;;;;;;;;;;OAUG;IACH,gBAAgB,IAAI,cAAc,EAAE;IAiBpC;;;;;OAKG;IACH,KAAK,CAAC,SAAS,EAAE,SAAS,cAAc,EAAE,GAAG,IAAI;IAkCjD,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,EAAE;IAIvC;;;;;;OAMG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;;;OAKG;IACH,cAAc,IAAI,MAAM;IAMxB;;;;;;;;;;;OAWG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;CACF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,cAAc,EAAE,EACpC,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,MAAmB,GAC7B,QAAQ,EAAE,CAkBZ"}
|
|
@@ -11,8 +11,7 @@ function isValidAttributeValue(v) {
|
|
|
11
11
|
/**
|
|
12
12
|
* Encode an attribute value into the bucket key with a one-character type
|
|
13
13
|
* sigil so `5` (number) and `"5"` (string), or `true` (boolean) and `"true"`
|
|
14
|
-
* (string), produce distinct keys instead of silently sharing a bucket
|
|
15
|
-
*.
|
|
14
|
+
* (string), produce distinct keys instead of silently sharing a bucket.
|
|
16
15
|
*/
|
|
17
16
|
function encodeAttributeValue(v) {
|
|
18
17
|
switch (typeof v) {
|
|
@@ -24,7 +23,7 @@ function encodeAttributeValue(v) {
|
|
|
24
23
|
return `b:${v}`;
|
|
25
24
|
}
|
|
26
25
|
}
|
|
27
|
-
//
|
|
26
|
+
// Escape the separator characters used by makeKey so that a metric
|
|
28
27
|
// name containing '|' (or an attribute key containing '=' or '&') cannot
|
|
29
28
|
// produce a key string that collides with a different (name, attributes) pair.
|
|
30
29
|
// The type-sigil prefix on values ('s:', 'n:', 'b:') already prevents
|
|
@@ -42,8 +41,8 @@ export class MetricAggregator {
|
|
|
42
41
|
buckets;
|
|
43
42
|
/**
|
|
44
43
|
* Number of `record()` calls rejected since the last `drainDropCount()`.
|
|
45
|
-
* Incremented on non-finite values and invalid attribute types
|
|
46
|
-
|
|
44
|
+
* Incremented on non-finite values and invalid attribute types.
|
|
45
|
+
* Mirrors the pattern in `EventBuffer.dropCount` so
|
|
47
46
|
* `HarvestScheduler` can emit a `nr.ai.dropped_metrics` self-monitoring
|
|
48
47
|
* gauge each harvest tick — operators currently see only `logger.warn`
|
|
49
48
|
* spam, with no aggregate count of "we silently dropped N samples".
|
|
@@ -57,7 +56,7 @@ export class MetricAggregator {
|
|
|
57
56
|
*
|
|
58
57
|
* Returns `true` when the sample was accepted into a bucket, and `false`
|
|
59
58
|
* when it was rejected (non-finite value or invalid attribute type) per
|
|
60
|
-
* the
|
|
59
|
+
* the strict validation contract. The boolean return surface
|
|
61
60
|
* exposes the rejection signal so callers can implement backpressure or
|
|
62
61
|
* surface invalid-input metrics. Existing callers
|
|
63
62
|
* that ignore the return value see unchanged behavior.
|
|
@@ -72,8 +71,7 @@ export class MetricAggregator {
|
|
|
72
71
|
// string | number | boolean, but JS callers bypass that. Drop the
|
|
73
72
|
// entire sample when any attribute fails validation — silently
|
|
74
73
|
// coercing `null` → `"null"` or `{}` → `"[object Object]"` would
|
|
75
|
-
// produce ambiguous keys that collide with legitimate string values
|
|
76
|
-
//.
|
|
74
|
+
// produce ambiguous keys that collide with legitimate string values.
|
|
77
75
|
for (const [k, v] of Object.entries(attributes)) {
|
|
78
76
|
if (!isValidAttributeValue(v)) {
|
|
79
77
|
logger.warn('MetricAggregator.record: invalid attribute value — sample dropped', {
|
|
@@ -90,7 +88,7 @@ export class MetricAggregator {
|
|
|
90
88
|
if (!bucket) {
|
|
91
89
|
bucket = {
|
|
92
90
|
name,
|
|
93
|
-
// Shallow-clone so caller mutations after record() don't alias bucket state
|
|
91
|
+
// Shallow-clone so caller mutations after record() don't alias bucket state.
|
|
94
92
|
attributes: { ...attributes },
|
|
95
93
|
count: 0,
|
|
96
94
|
sum: 0,
|
|
@@ -111,7 +109,7 @@ export class MetricAggregator {
|
|
|
111
109
|
* to wire form, or {@link merge} on a fresh harvest cycle to fold the
|
|
112
110
|
* snapshots back in if a send failed.
|
|
113
111
|
*
|
|
114
|
-
*
|
|
112
|
+
* Retaining snapshot form across the failed-send
|
|
115
113
|
* boundary is what lets the next harvest produce a single rolled-up
|
|
116
114
|
* data point per name+attrs combination instead of two separate ones
|
|
117
115
|
* with different timestamps.
|
|
@@ -123,7 +121,7 @@ export class MetricAggregator {
|
|
|
123
121
|
for (const bucket of drained.values()) {
|
|
124
122
|
snapshots.push({
|
|
125
123
|
name: bucket.name,
|
|
126
|
-
attributes: { ...bucket.attributes }, // snapshot is a value, not a window
|
|
124
|
+
attributes: { ...bucket.attributes }, // snapshot is a value, not a window
|
|
127
125
|
count: bucket.count,
|
|
128
126
|
sum: bucket.sum,
|
|
129
127
|
min: bucket.min,
|
|
@@ -142,7 +140,7 @@ export class MetricAggregator {
|
|
|
142
140
|
for (const s of snapshots) {
|
|
143
141
|
// Guard against corrupt snapshots (e.g. built manually — the type is
|
|
144
142
|
// exported). A negative count or non-finite sum would permanently corrupt
|
|
145
|
-
// the bucket's accumulators
|
|
143
|
+
// the bucket's accumulators.
|
|
146
144
|
if (!Number.isFinite(s.sum) ||
|
|
147
145
|
!Number.isFinite(s.min) ||
|
|
148
146
|
!Number.isFinite(s.max) ||
|
|
@@ -161,7 +159,7 @@ export class MetricAggregator {
|
|
|
161
159
|
else {
|
|
162
160
|
this.buckets.set(key, {
|
|
163
161
|
name: s.name,
|
|
164
|
-
attributes: { ...s.attributes }, // defensive clone
|
|
162
|
+
attributes: { ...s.attributes }, // defensive clone
|
|
165
163
|
count: s.count,
|
|
166
164
|
sum: s.sum,
|
|
167
165
|
min: s.min,
|
|
@@ -176,8 +174,8 @@ export class MetricAggregator {
|
|
|
176
174
|
/**
|
|
177
175
|
* Total number of `record()` calls rejected since the last
|
|
178
176
|
* `drainDropCount()` (or aggregator construction). Includes both
|
|
179
|
-
* non-finite-value rejections and invalid-attribute-type rejections
|
|
180
|
-
|
|
177
|
+
* non-finite-value rejections and invalid-attribute-type rejections.
|
|
178
|
+
* Read-only — call `drainDropCount()` to read and
|
|
181
179
|
* reset atomically.
|
|
182
180
|
*/
|
|
183
181
|
get dropCount() {
|
|
@@ -203,8 +201,8 @@ export class MetricAggregator {
|
|
|
203
201
|
* `metric-aggregator.test.ts` to verify post-`harvest()` state.
|
|
204
202
|
*
|
|
205
203
|
* Not used by `HarvestScheduler` today; surfacing it (rather than dropping
|
|
206
|
-
* the accessor
|
|
207
|
-
* self-monitoring work
|
|
204
|
+
* the accessor) keeps the surface stable for the
|
|
205
|
+
* self-monitoring work.
|
|
208
206
|
*/
|
|
209
207
|
get bucketCount() {
|
|
210
208
|
return this.buckets.size;
|
|
@@ -214,7 +212,7 @@ export class MetricAggregator {
|
|
|
214
212
|
* Convert each {@link MetricSnapshot} to a single wire-format `NrMetric` of
|
|
215
213
|
* type `'summary'`.
|
|
216
214
|
*
|
|
217
|
-
*
|
|
215
|
+
* Previously this function emitted four separate metrics per snapshot
|
|
218
216
|
* (`{name}.count`, `.sum`, `.min`, `.max`) — three of them as `gauge` (which
|
|
219
217
|
* is semantically wrong for a delta-aggregated value) and one as `count`
|
|
220
218
|
* (without the required `interval.ms` field). The summary type collapses
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metric-aggregator.js","sourceRoot":"","sources":["../../../src/shared/harvest/metric-aggregator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,MAAM,GAAG,YAAY,CAAC,mBAAmB,CAAC,CAAC;AAyCjD,SAAS,qBAAqB,CAAC,CAAU;IACvC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC;IACnB,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9C,OAAO,KAAK,CAAC;AACf,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"metric-aggregator.js","sourceRoot":"","sources":["../../../src/shared/harvest/metric-aggregator.ts"],"names":[],"mappings":"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"}
|
package/dist/shared/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,UAAU,EACV,eAAe,EACf,SAAS,EACT,UAAU,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,8BAA8B,EAC9B,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,OAAO,EACP,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EACL,UAAU,EACV,WAAW,EACX,QAAQ,EACR,aAAa,EACb,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,QAAQ,EACR,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,SAAS,EACT,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/shared/index.js
CHANGED
package/dist/shared/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAuB3B,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,OAAO,EACP,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAUrB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EACL,UAAU,EACV,WAAW,EACX,QAAQ,EACR,aAAa,EACb,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAU9B,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,SAAS,EACT,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
|
package/dist/shared/logger.d.ts
CHANGED
|
@@ -15,8 +15,8 @@ export interface Logger {
|
|
|
15
15
|
warn(message: string, data?: Record<string, unknown>): void;
|
|
16
16
|
error(message: string, data?: Record<string, unknown>): void;
|
|
17
17
|
/**
|
|
18
|
-
* Return a child logger that pre-binds `context` onto every emitted entry
|
|
19
|
-
|
|
18
|
+
* Return a child logger that pre-binds `context` onto every emitted entry.
|
|
19
|
+
* Per-call `data` still wins on key collision. Useful
|
|
20
20
|
* for tracing one harvest cycle / one request through multiple log lines
|
|
21
21
|
* without manually threading the same `requestId` through every call.
|
|
22
22
|
*
|
|
@@ -29,8 +29,7 @@ export interface Logger {
|
|
|
29
29
|
* **Level inheritance.** The child inherits the parent's fixed `levelOverride`
|
|
30
30
|
* (set at `createLogger` time). Canonical fields (`level`, `message`,
|
|
31
31
|
* `component`, `timestamp`, `epoch_ms`) cannot be overridden via either
|
|
32
|
-
* bound context or per-call `data` — they always reflect the call site values
|
|
33
|
-
* (§LR4).
|
|
32
|
+
* bound context or per-call `data` — they always reflect the call site values.
|
|
34
33
|
*/
|
|
35
34
|
child(context: Record<string, unknown>): Logger;
|
|
36
35
|
}
|
|
@@ -50,7 +49,7 @@ export interface Logger {
|
|
|
50
49
|
*
|
|
51
50
|
* makes the http-client module emit only errors regardless of how the
|
|
52
51
|
* rest of the process is configured. Without an override, the level
|
|
53
|
-
* resolves from the env (cached
|
|
52
|
+
* resolves from the env (cached) and tracks
|
|
54
53
|
* process-wide changes via `__resetLogLevelCache()`.
|
|
55
54
|
*/
|
|
56
55
|
export declare function createLogger(component: string, levelOverride?: LogLevel): Logger;
|