@telorun/kernel 0.63.0 → 0.65.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/boot-context-registry.js +1 -3
- package/dist/boot-context-registry.js.map +1 -1
- package/dist/bundle/module-artifact.js +15 -8
- package/dist/bundle/module-artifact.js.map +1 -1
- package/dist/controller-loader.js +4 -0
- package/dist/controller-loader.js.map +1 -1
- package/dist/controller-loaders/bundle-loader.js +1 -0
- package/dist/controller-loaders/bundle-loader.js.map +1 -1
- package/dist/controller-loaders/napi-loader.d.ts.map +1 -1
- package/dist/controller-loaders/napi-loader.js +24 -8
- package/dist/controller-loaders/napi-loader.js.map +1 -1
- package/dist/controller-loaders/npm-loader.js +37 -28
- package/dist/controller-loaders/npm-loader.js.map +1 -1
- package/dist/controller-registry.js +3 -5
- package/dist/controller-registry.js.map +1 -1
- package/dist/controllers/resource-definition/abstract-controller.js +2 -1
- package/dist/controllers/resource-definition/abstract-controller.js.map +1 -1
- package/dist/controllers/resource-definition/resource-definition-controller.js +2 -1
- package/dist/controllers/resource-definition/resource-definition-controller.js.map +1 -1
- package/dist/controllers/type/json-schema-controller.js +3 -0
- package/dist/controllers/type/json-schema-controller.js.map +1 -1
- package/dist/directory-lock.js +5 -5
- package/dist/directory-lock.js.map +1 -1
- package/dist/evaluation-context.d.ts +14 -0
- package/dist/evaluation-context.d.ts.map +1 -1
- package/dist/evaluation-context.js +145 -21
- package/dist/evaluation-context.js.map +1 -1
- package/dist/events.js +1 -3
- package/dist/events.js.map +1 -1
- package/dist/host-env.js +3 -2
- package/dist/host-env.js.map +1 -1
- package/dist/kernel.d.ts.map +1 -1
- package/dist/kernel.js +58 -26
- package/dist/kernel.js.map +1 -1
- package/dist/logging/console-sink.js +18 -29
- package/dist/logging/console-sink.js.map +1 -1
- package/dist/logging/debug-wire-sink.js +11 -23
- package/dist/logging/debug-wire-sink.js.map +1 -1
- package/dist/logging/drop-accounting.js +28 -41
- package/dist/logging/drop-accounting.js.map +1 -1
- package/dist/logging/file-sink.js +28 -38
- package/dist/logging/file-sink.js.map +1 -1
- package/dist/logging/kernel-logging.js +30 -41
- package/dist/logging/kernel-logging.js.map +1 -1
- package/dist/logging/logging-pipeline.js +197 -197
- package/dist/logging/logging-pipeline.js.map +1 -1
- package/dist/logging/sampler.js +21 -34
- package/dist/logging/sampler.js.map +1 -1
- package/dist/manifest-sources/local-manifest-cache-source.js +2 -0
- package/dist/manifest-sources/local-manifest-cache-source.js.map +1 -1
- package/dist/manifest-sources/memory-source.js +1 -3
- package/dist/manifest-sources/memory-source.js.map +1 -1
- package/dist/module-context.js +62 -37
- package/dist/module-context.js.map +1 -1
- package/dist/registry.js +5 -7
- package/dist/registry.js.map +1 -1
- package/dist/resource-context.d.ts +1 -0
- package/dist/resource-context.d.ts.map +1 -1
- package/dist/resource-context.js +33 -29
- package/dist/resource-context.js.map +1 -1
- package/dist/resource-uri.js +4 -0
- package/dist/resource-uri.js.map +1 -1
- package/dist/runtime-seam.js +42 -55
- package/dist/runtime-seam.js.map +1 -1
- package/dist/schema-validator.js +20 -18
- package/dist/schema-validator.js.map +1 -1
- package/dist/tracing.js +4 -19
- package/dist/tracing.js.map +1 -1
- package/dist/transports/oci/oci-client.js +3 -1
- package/dist/transports/oci/oci-client.js.map +1 -1
- package/dist/transports/oci/oci-transport.js +17 -16
- package/dist/transports/oci/oci-transport.js.map +1 -1
- package/dist/transports/registry-transport.js +4 -0
- package/dist/transports/registry-transport.js.map +1 -1
- package/dist/transports/transport-registry.js +1 -0
- package/dist/transports/transport-registry.js.map +1 -1
- package/package.json +3 -3
- package/src/controller-loaders/napi-loader.ts +28 -9
- package/src/evaluation-context.ts +90 -0
- package/src/kernel.ts +1 -0
- package/src/resource-context.ts +7 -0
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
-
};
|
|
7
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
-
};
|
|
12
|
-
var _LoggingPipeline_instances, _LoggingPipeline_sinks, _LoggingPipeline_drops, _LoggingPipeline_fallback, _LoggingPipeline_limits, _LoggingPipeline_bootstrapCapacity, _LoggingPipeline_traceContext, _LoggingPipeline_gateVersion, _LoggingPipeline_gateCache, _LoggingPipeline_bootstrap, _LoggingPipeline_bootstrapDropped, _LoggingPipeline_samplers, _LoggingPipeline_lastFallbackReport, _LoggingPipeline_buildRecord, _LoggingPipeline_dispatch, _LoggingPipeline_writeTo, _LoggingPipeline_bufferBootstrap, _LoggingPipeline_samplerFor, _LoggingPipeline_invalidateGate, _LoggingPipeline_reportDrops, _LoggingPipeline_reportFallback, _ScopedLogger_pipeline, _ScopedLogger_scope, _ScopedLogger_resource, _ScopedLogger_bound, _ScopedLogger_cachedGate, _ScopedLogger_cachedVersion;
|
|
13
1
|
import { nowUnixNano, severityText as canonicalSeverityText, SEVERITY, } from "@telorun/sdk";
|
|
14
2
|
import { DropRegistry, PIPELINE_SINK_ID } from "./drop-accounting.js";
|
|
15
3
|
import { normalizeAttributes } from "./normalize-attributes.js";
|
|
@@ -23,34 +11,33 @@ export const ROOT_SCOPE_CONFIG = {
|
|
|
23
11
|
const DEFAULT_BOOTSTRAP_CAPACITY = 1024;
|
|
24
12
|
const FALLBACK_REPORT_INTERVAL_MS = 5000;
|
|
25
13
|
export class LoggingPipeline {
|
|
14
|
+
#sinks = [];
|
|
15
|
+
#drops;
|
|
16
|
+
#fallback;
|
|
17
|
+
#limits;
|
|
18
|
+
#bootstrapCapacity;
|
|
19
|
+
#traceContext;
|
|
20
|
+
/** Bumped whenever the sink set changes, so a logger's cached gate
|
|
21
|
+
* invalidates without every logger being tracked and rewritten (§12.4). */
|
|
22
|
+
#gateVersion = 0;
|
|
23
|
+
#gateCache = new Map();
|
|
24
|
+
#bootstrap = [];
|
|
25
|
+
#bootstrapDropped = 0;
|
|
26
|
+
#samplers = new Map();
|
|
27
|
+
#lastFallbackReport = new Map();
|
|
26
28
|
constructor(options) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
_LoggingPipeline_bootstrapCapacity.set(this, void 0);
|
|
33
|
-
_LoggingPipeline_traceContext.set(this, void 0);
|
|
34
|
-
/** Bumped whenever the sink set changes, so a logger's cached gate
|
|
35
|
-
* invalidates without every logger being tracked and rewritten (§12.4). */
|
|
36
|
-
_LoggingPipeline_gateVersion.set(this, 0);
|
|
37
|
-
_LoggingPipeline_gateCache.set(this, new Map());
|
|
38
|
-
_LoggingPipeline_bootstrap.set(this, []);
|
|
39
|
-
_LoggingPipeline_bootstrapDropped.set(this, 0);
|
|
40
|
-
_LoggingPipeline_samplers.set(this, new Map());
|
|
41
|
-
_LoggingPipeline_lastFallbackReport.set(this, new Map());
|
|
42
|
-
__classPrivateFieldSet(this, _LoggingPipeline_fallback, options.fallbackStream, "f");
|
|
43
|
-
__classPrivateFieldSet(this, _LoggingPipeline_traceContext, options.traceContext, "f");
|
|
44
|
-
__classPrivateFieldSet(this, _LoggingPipeline_limits, options.limits, "f");
|
|
45
|
-
__classPrivateFieldSet(this, _LoggingPipeline_bootstrapCapacity, options.bootstrapCapacity ?? DEFAULT_BOOTSTRAP_CAPACITY, "f");
|
|
46
|
-
__classPrivateFieldSet(this, _LoggingPipeline_drops, new DropRegistry((report) => __classPrivateFieldGet(this, _LoggingPipeline_instances, "m", _LoggingPipeline_reportDrops).call(this, report)), "f");
|
|
29
|
+
this.#fallback = options.fallbackStream;
|
|
30
|
+
this.#traceContext = options.traceContext;
|
|
31
|
+
this.#limits = options.limits;
|
|
32
|
+
this.#bootstrapCapacity = options.bootstrapCapacity ?? DEFAULT_BOOTSTRAP_CAPACITY;
|
|
33
|
+
this.#drops = new DropRegistry((report) => this.#reportDrops(report));
|
|
47
34
|
}
|
|
48
35
|
/** Wire the ambient trace source once the kernel's tracer exists. */
|
|
49
36
|
setTraceContextProvider(provider) {
|
|
50
|
-
|
|
37
|
+
this.#traceContext = provider;
|
|
51
38
|
}
|
|
52
39
|
get sinkCount() {
|
|
53
|
-
return
|
|
40
|
+
return this.#sinks.length;
|
|
54
41
|
}
|
|
55
42
|
/**
|
|
56
43
|
* Attach a sink and replay the bootstrap backlog into it, in original order.
|
|
@@ -58,20 +45,20 @@ export class LoggingPipeline {
|
|
|
58
45
|
* threshold propagates to guests (§12.4).
|
|
59
46
|
*/
|
|
60
47
|
attach(sink) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
if (
|
|
64
|
-
for (const record of
|
|
48
|
+
this.#sinks.push(sink);
|
|
49
|
+
this.#invalidateGate();
|
|
50
|
+
if (this.#bootstrap) {
|
|
51
|
+
for (const record of this.#bootstrap) {
|
|
65
52
|
if (record.severityNumber >= sink.level)
|
|
66
|
-
|
|
53
|
+
this.#writeTo(sink, record);
|
|
67
54
|
}
|
|
68
55
|
}
|
|
69
56
|
}
|
|
70
57
|
detach(sink) {
|
|
71
|
-
const index =
|
|
58
|
+
const index = this.#sinks.indexOf(sink);
|
|
72
59
|
if (index >= 0)
|
|
73
|
-
|
|
74
|
-
|
|
60
|
+
this.#sinks.splice(index, 1);
|
|
61
|
+
this.#invalidateGate();
|
|
75
62
|
}
|
|
76
63
|
/**
|
|
77
64
|
* Stop holding records for replay. Called once every declared sink has
|
|
@@ -80,11 +67,11 @@ export class LoggingPipeline {
|
|
|
80
67
|
* process history.
|
|
81
68
|
*/
|
|
82
69
|
sealBootstrap() {
|
|
83
|
-
if (
|
|
84
|
-
|
|
85
|
-
|
|
70
|
+
if (this.#bootstrapDropped > 0) {
|
|
71
|
+
this.#drops.record(PIPELINE_SINK_ID, "buffer_full", this.#bootstrapDropped);
|
|
72
|
+
this.#bootstrapDropped = 0;
|
|
86
73
|
}
|
|
87
|
-
|
|
74
|
+
this.#bootstrap = undefined;
|
|
88
75
|
}
|
|
89
76
|
/**
|
|
90
77
|
* The severity at or above which a record is created for a scope at
|
|
@@ -96,33 +83,33 @@ export class LoggingPipeline {
|
|
|
96
83
|
* reach the bootstrap buffer and are replayed once a sink arrives.
|
|
97
84
|
*/
|
|
98
85
|
gateFor(scopeThreshold) {
|
|
99
|
-
const cached =
|
|
86
|
+
const cached = this.#gateCache.get(scopeThreshold);
|
|
100
87
|
if (cached !== undefined)
|
|
101
88
|
return cached;
|
|
102
89
|
let gate = scopeThreshold;
|
|
103
|
-
if (
|
|
90
|
+
if (this.#sinks.length > 0) {
|
|
104
91
|
gate = Number.POSITIVE_INFINITY;
|
|
105
|
-
for (const sink of
|
|
92
|
+
for (const sink of this.#sinks) {
|
|
106
93
|
const effective = Number.isFinite(sink.level) ? sink.level : scopeThreshold;
|
|
107
94
|
if (effective < gate)
|
|
108
95
|
gate = effective;
|
|
109
96
|
}
|
|
110
97
|
}
|
|
111
|
-
|
|
98
|
+
this.#gateCache.set(scopeThreshold, gate);
|
|
112
99
|
return gate;
|
|
113
100
|
}
|
|
114
101
|
get gateVersion() {
|
|
115
|
-
return
|
|
102
|
+
return this.#gateVersion;
|
|
116
103
|
}
|
|
117
104
|
/** Count a drop against a sink. Exposed so a sink's own buffer can report
|
|
118
105
|
* saturation without reaching into the registry directly. */
|
|
119
106
|
recordDrop(sinkId, cause, count = 1) {
|
|
120
|
-
|
|
107
|
+
this.#drops.record(sinkId, cause, count);
|
|
121
108
|
}
|
|
122
109
|
/** Lifetime drop total for a (sink, cause) pair, for assertions and for the
|
|
123
110
|
* shutdown report. */
|
|
124
111
|
dropTotal(sinkId, cause) {
|
|
125
|
-
return
|
|
112
|
+
return this.#drops.total(sinkId, cause);
|
|
126
113
|
}
|
|
127
114
|
createLogger(scope, resource, bound) {
|
|
128
115
|
return new ScopedLogger(this, scope, resource, bound);
|
|
@@ -130,13 +117,13 @@ export class LoggingPipeline {
|
|
|
130
117
|
/** Build and dispatch a record. Never throws (§8.4). */
|
|
131
118
|
emit(scope, severity, message, resource, bound, attributes, options) {
|
|
132
119
|
try {
|
|
133
|
-
const record =
|
|
134
|
-
const sampler =
|
|
120
|
+
const record = this.#buildRecord(scope, severity, message, resource, bound, attributes, options);
|
|
121
|
+
const sampler = this.#samplerFor(scope);
|
|
135
122
|
if (sampler && !sampler.shouldEmit(record, Date.now())) {
|
|
136
|
-
|
|
123
|
+
this.#drops.record(PIPELINE_SINK_ID, "sampled");
|
|
137
124
|
return;
|
|
138
125
|
}
|
|
139
|
-
|
|
126
|
+
this.#dispatch(record);
|
|
140
127
|
// `fatal` never alters control flow — no exit, no panic — but it does
|
|
141
128
|
// oblige an immediate flush: synchronous on every sink that supports it,
|
|
142
129
|
// initiated without waiting on the rest (§10.5).
|
|
@@ -144,187 +131,201 @@ export class LoggingPipeline {
|
|
|
144
131
|
this.flushFatal();
|
|
145
132
|
}
|
|
146
133
|
catch (err) {
|
|
147
|
-
|
|
134
|
+
this.#reportFallback("<pipeline>", err);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
#buildRecord(scope, severity, message, resource, bound, attributes, options) {
|
|
138
|
+
const merged = bound || attributes || scope.attributes
|
|
139
|
+
? { ...scope.attributes, ...bound, ...attributes }
|
|
140
|
+
: undefined;
|
|
141
|
+
const normalized = normalizeAttributes(merged, {
|
|
142
|
+
limits: this.#limits,
|
|
143
|
+
secretValues: scope.secretValues,
|
|
144
|
+
censor: scope.redaction.censor,
|
|
145
|
+
});
|
|
146
|
+
redactAttributes(normalized.attributes, scope.redaction);
|
|
147
|
+
const error = options?.error === undefined ? undefined : toErrorValue(options.error);
|
|
148
|
+
redactError(error, scope.redaction);
|
|
149
|
+
const timestamp = options?.timestamp ?? nowUnixNano();
|
|
150
|
+
const record = {
|
|
151
|
+
timestamp,
|
|
152
|
+
severityNumber: severity,
|
|
153
|
+
severityText: options?.severityText ?? canonicalSeverityText(severity),
|
|
154
|
+
message,
|
|
155
|
+
};
|
|
156
|
+
// A bridged record's origin time precedes the moment the runtime saw it.
|
|
157
|
+
if (options?.timestamp !== undefined)
|
|
158
|
+
record.observedTimestamp = nowUnixNano();
|
|
159
|
+
if (normalized.attributes && Object.keys(normalized.attributes).length > 0) {
|
|
160
|
+
record.attributes = normalized.attributes;
|
|
161
|
+
}
|
|
162
|
+
if (normalized.droppedCount > 0)
|
|
163
|
+
record.droppedAttributesCount = normalized.droppedCount;
|
|
164
|
+
if (error)
|
|
165
|
+
record.error = error;
|
|
166
|
+
if (resource)
|
|
167
|
+
record.resource = resource;
|
|
168
|
+
if (scope.module)
|
|
169
|
+
record.module = scope.module;
|
|
170
|
+
if (scope.scope)
|
|
171
|
+
record.scope = scope.scope;
|
|
172
|
+
if (options?.eventName)
|
|
173
|
+
record.eventName = options.eventName.slice(0, 256);
|
|
174
|
+
const trace = this.#traceContext?.();
|
|
175
|
+
if (trace) {
|
|
176
|
+
record.traceId = trace.traceId;
|
|
177
|
+
record.spanId = trace.spanId;
|
|
178
|
+
if (trace.traceFlags !== undefined)
|
|
179
|
+
record.traceFlags = trace.traceFlags;
|
|
180
|
+
}
|
|
181
|
+
return record;
|
|
182
|
+
}
|
|
183
|
+
#dispatch(record) {
|
|
184
|
+
if (this.#sinks.length === 0) {
|
|
185
|
+
this.#bufferBootstrap(record);
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
if (this.#bootstrap)
|
|
189
|
+
this.#bufferBootstrap(record);
|
|
190
|
+
for (const sink of this.#sinks) {
|
|
191
|
+
if (record.severityNumber < sink.level)
|
|
192
|
+
continue;
|
|
193
|
+
this.#writeTo(sink, record);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
#writeTo(sink, record) {
|
|
197
|
+
try {
|
|
198
|
+
sink.write(record);
|
|
199
|
+
}
|
|
200
|
+
catch (err) {
|
|
201
|
+
this.#drops.record(sink.sinkId, "sink_error");
|
|
202
|
+
this.#reportFallback(sink.sinkId, err);
|
|
148
203
|
}
|
|
149
204
|
}
|
|
205
|
+
#bufferBootstrap(record) {
|
|
206
|
+
const buffer = this.#bootstrap;
|
|
207
|
+
if (!buffer)
|
|
208
|
+
return;
|
|
209
|
+
if (buffer.length >= this.#bootstrapCapacity) {
|
|
210
|
+
this.#bootstrapDropped += 1;
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
buffer.push(record);
|
|
214
|
+
}
|
|
215
|
+
#samplerFor(scope) {
|
|
216
|
+
if (!scope.sampling)
|
|
217
|
+
return undefined;
|
|
218
|
+
let sampler = this.#samplers.get(scope);
|
|
219
|
+
if (!sampler) {
|
|
220
|
+
sampler = new Sampler(scope.sampling);
|
|
221
|
+
this.#samplers.set(scope, sampler);
|
|
222
|
+
}
|
|
223
|
+
return sampler;
|
|
224
|
+
}
|
|
225
|
+
#invalidateGate() {
|
|
226
|
+
this.#gateVersion += 1;
|
|
227
|
+
this.#gateCache = new Map();
|
|
228
|
+
}
|
|
150
229
|
/** §10.5's fatal tiering: drain every sync-flushable sink to completion before
|
|
151
230
|
* returning, and merely *initiate* the rest. Blocking on a sink that cannot
|
|
152
231
|
* be synchronously drained is a deadlock on an event loop, not durability. */
|
|
153
232
|
flushFatal() {
|
|
154
|
-
for (const sink of
|
|
233
|
+
for (const sink of this.#sinks) {
|
|
155
234
|
try {
|
|
156
235
|
if (sink.syncFlushable)
|
|
157
236
|
sink.flushSync();
|
|
158
237
|
else
|
|
159
|
-
void sink.flush().catch((err) =>
|
|
238
|
+
void sink.flush().catch((err) => this.#reportFallback(sink.sinkId, err));
|
|
160
239
|
}
|
|
161
240
|
catch (err) {
|
|
162
|
-
|
|
241
|
+
this.#reportFallback(sink.sinkId, err);
|
|
163
242
|
}
|
|
164
243
|
}
|
|
165
244
|
}
|
|
166
245
|
async flush() {
|
|
167
|
-
await Promise.all(
|
|
168
|
-
|
|
169
|
-
|
|
246
|
+
await Promise.all(this.#sinks.map((sink) => sink.flush().catch((err) => {
|
|
247
|
+
this.#drops.record(sink.sinkId, "sink_error");
|
|
248
|
+
this.#reportFallback(sink.sinkId, err);
|
|
170
249
|
})));
|
|
171
250
|
}
|
|
172
251
|
/** Final flush and release. Outstanding drop reports are emitted first so a
|
|
173
252
|
* run that ends while still dropping does not lose its accounting. */
|
|
174
253
|
async close() {
|
|
175
|
-
|
|
254
|
+
this.#drops.reportPending();
|
|
176
255
|
await this.flush();
|
|
177
|
-
await Promise.all(
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
256
|
+
await Promise.all(this.#sinks.map((sink) => sink.close().catch((err) => this.#reportFallback(sink.sinkId, err))));
|
|
257
|
+
this.#sinks.length = 0;
|
|
258
|
+
this.#drops.dispose();
|
|
259
|
+
this.#invalidateGate();
|
|
260
|
+
}
|
|
261
|
+
/** The recovery warning §10.4 requires once drops cease. Emitted as an
|
|
262
|
+
* ordinary record so it reaches every sink. */
|
|
263
|
+
#reportDrops(report) {
|
|
264
|
+
this.emit(ROOT_SCOPE_CONFIG, SEVERITY.warn, `dropped ${report.count} log record(s)`, undefined, undefined, {
|
|
265
|
+
"telo.log.sink": report.sinkId,
|
|
266
|
+
"telo.log.drop_cause": report.cause,
|
|
267
|
+
"telo.log.dropped": report.count,
|
|
268
|
+
"telo.log.dropped_total": report.total,
|
|
269
|
+
}, { eventName: "telo.log.dropped" });
|
|
181
270
|
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
};
|
|
202
|
-
// A bridged record's origin time precedes the moment the runtime saw it.
|
|
203
|
-
if (options?.timestamp !== undefined)
|
|
204
|
-
record.observedTimestamp = nowUnixNano();
|
|
205
|
-
if (normalized.attributes && Object.keys(normalized.attributes).length > 0) {
|
|
206
|
-
record.attributes = normalized.attributes;
|
|
207
|
-
}
|
|
208
|
-
if (normalized.droppedCount > 0)
|
|
209
|
-
record.droppedAttributesCount = normalized.droppedCount;
|
|
210
|
-
if (error)
|
|
211
|
-
record.error = error;
|
|
212
|
-
if (resource)
|
|
213
|
-
record.resource = resource;
|
|
214
|
-
if (scope.module)
|
|
215
|
-
record.module = scope.module;
|
|
216
|
-
if (scope.scope)
|
|
217
|
-
record.scope = scope.scope;
|
|
218
|
-
if (options?.eventName)
|
|
219
|
-
record.eventName = options.eventName.slice(0, 256);
|
|
220
|
-
const trace = __classPrivateFieldGet(this, _LoggingPipeline_traceContext, "f")?.call(this);
|
|
221
|
-
if (trace) {
|
|
222
|
-
record.traceId = trace.traceId;
|
|
223
|
-
record.spanId = trace.spanId;
|
|
224
|
-
if (trace.traceFlags !== undefined)
|
|
225
|
-
record.traceFlags = trace.traceFlags;
|
|
226
|
-
}
|
|
227
|
-
return record;
|
|
228
|
-
}, _LoggingPipeline_dispatch = function _LoggingPipeline_dispatch(record) {
|
|
229
|
-
if (__classPrivateFieldGet(this, _LoggingPipeline_sinks, "f").length === 0) {
|
|
230
|
-
__classPrivateFieldGet(this, _LoggingPipeline_instances, "m", _LoggingPipeline_bufferBootstrap).call(this, record);
|
|
231
|
-
return;
|
|
232
|
-
}
|
|
233
|
-
if (__classPrivateFieldGet(this, _LoggingPipeline_bootstrap, "f"))
|
|
234
|
-
__classPrivateFieldGet(this, _LoggingPipeline_instances, "m", _LoggingPipeline_bufferBootstrap).call(this, record);
|
|
235
|
-
for (const sink of __classPrivateFieldGet(this, _LoggingPipeline_sinks, "f")) {
|
|
236
|
-
if (record.severityNumber < sink.level)
|
|
237
|
-
continue;
|
|
238
|
-
__classPrivateFieldGet(this, _LoggingPipeline_instances, "m", _LoggingPipeline_writeTo).call(this, sink, record);
|
|
239
|
-
}
|
|
240
|
-
}, _LoggingPipeline_writeTo = function _LoggingPipeline_writeTo(sink, record) {
|
|
241
|
-
try {
|
|
242
|
-
sink.write(record);
|
|
243
|
-
}
|
|
244
|
-
catch (err) {
|
|
245
|
-
__classPrivateFieldGet(this, _LoggingPipeline_drops, "f").record(sink.sinkId, "sink_error");
|
|
246
|
-
__classPrivateFieldGet(this, _LoggingPipeline_instances, "m", _LoggingPipeline_reportFallback).call(this, sink.sinkId, err);
|
|
247
|
-
}
|
|
248
|
-
}, _LoggingPipeline_bufferBootstrap = function _LoggingPipeline_bufferBootstrap(record) {
|
|
249
|
-
const buffer = __classPrivateFieldGet(this, _LoggingPipeline_bootstrap, "f");
|
|
250
|
-
if (!buffer)
|
|
251
|
-
return;
|
|
252
|
-
if (buffer.length >= __classPrivateFieldGet(this, _LoggingPipeline_bootstrapCapacity, "f")) {
|
|
253
|
-
__classPrivateFieldSet(this, _LoggingPipeline_bootstrapDropped, __classPrivateFieldGet(this, _LoggingPipeline_bootstrapDropped, "f") + 1, "f");
|
|
254
|
-
return;
|
|
255
|
-
}
|
|
256
|
-
buffer.push(record);
|
|
257
|
-
}, _LoggingPipeline_samplerFor = function _LoggingPipeline_samplerFor(scope) {
|
|
258
|
-
if (!scope.sampling)
|
|
259
|
-
return undefined;
|
|
260
|
-
let sampler = __classPrivateFieldGet(this, _LoggingPipeline_samplers, "f").get(scope);
|
|
261
|
-
if (!sampler) {
|
|
262
|
-
sampler = new Sampler(scope.sampling);
|
|
263
|
-
__classPrivateFieldGet(this, _LoggingPipeline_samplers, "f").set(scope, sampler);
|
|
264
|
-
}
|
|
265
|
-
return sampler;
|
|
266
|
-
}, _LoggingPipeline_invalidateGate = function _LoggingPipeline_invalidateGate() {
|
|
267
|
-
__classPrivateFieldSet(this, _LoggingPipeline_gateVersion, __classPrivateFieldGet(this, _LoggingPipeline_gateVersion, "f") + 1, "f");
|
|
268
|
-
__classPrivateFieldSet(this, _LoggingPipeline_gateCache, new Map(), "f");
|
|
269
|
-
}, _LoggingPipeline_reportDrops = function _LoggingPipeline_reportDrops(report) {
|
|
270
|
-
this.emit(ROOT_SCOPE_CONFIG, SEVERITY.warn, `dropped ${report.count} log record(s)`, undefined, undefined, {
|
|
271
|
-
"telo.log.sink": report.sinkId,
|
|
272
|
-
"telo.log.drop_cause": report.cause,
|
|
273
|
-
"telo.log.dropped": report.count,
|
|
274
|
-
"telo.log.dropped_total": report.total,
|
|
275
|
-
}, { eventName: "telo.log.dropped" });
|
|
276
|
-
}, _LoggingPipeline_reportFallback = function _LoggingPipeline_reportFallback(sinkId, err) {
|
|
277
|
-
const now = Date.now();
|
|
278
|
-
const last = __classPrivateFieldGet(this, _LoggingPipeline_lastFallbackReport, "f").get(sinkId) ?? 0;
|
|
279
|
-
if (now - last < FALLBACK_REPORT_INTERVAL_MS)
|
|
280
|
-
return;
|
|
281
|
-
__classPrivateFieldGet(this, _LoggingPipeline_lastFallbackReport, "f").set(sinkId, now);
|
|
282
|
-
const detail = err instanceof Error ? `${err.name}: ${err.message}` : String(err);
|
|
283
|
-
try {
|
|
284
|
-
__classPrivateFieldGet(this, _LoggingPipeline_fallback, "f").write(`[telo:logging] sink "${sinkId}" failed: ${detail}\n`);
|
|
285
|
-
}
|
|
286
|
-
catch {
|
|
287
|
-
// The fallback stream itself is gone. There is nowhere left to report to,
|
|
288
|
-
// and throwing here would break the application — which §8.4 forbids.
|
|
271
|
+
/**
|
|
272
|
+
* §8.4: a sink failure never propagates to the caller and is never silently
|
|
273
|
+
* discarded — it goes to the process's real stderr, at most once per sink per
|
|
274
|
+
* interval, and is counted.
|
|
275
|
+
*/
|
|
276
|
+
#reportFallback(sinkId, err) {
|
|
277
|
+
const now = Date.now();
|
|
278
|
+
const last = this.#lastFallbackReport.get(sinkId) ?? 0;
|
|
279
|
+
if (now - last < FALLBACK_REPORT_INTERVAL_MS)
|
|
280
|
+
return;
|
|
281
|
+
this.#lastFallbackReport.set(sinkId, now);
|
|
282
|
+
const detail = err instanceof Error ? `${err.name}: ${err.message}` : String(err);
|
|
283
|
+
try {
|
|
284
|
+
this.#fallback.write(`[telo:logging] sink "${sinkId}" failed: ${detail}\n`);
|
|
285
|
+
}
|
|
286
|
+
catch {
|
|
287
|
+
// The fallback stream itself is gone. There is nowhere left to report to,
|
|
288
|
+
// and throwing here would break the application — which §8.4 forbids.
|
|
289
|
+
}
|
|
289
290
|
}
|
|
290
|
-
}
|
|
291
|
+
}
|
|
291
292
|
class ScopedLogger {
|
|
293
|
+
#pipeline;
|
|
294
|
+
#scope;
|
|
295
|
+
#resource;
|
|
296
|
+
#bound;
|
|
297
|
+
#cachedGate = Number.NaN;
|
|
298
|
+
#cachedVersion = -1;
|
|
292
299
|
constructor(pipeline, scope, resource, bound) {
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
_ScopedLogger_cachedGate.set(this, Number.NaN);
|
|
298
|
-
_ScopedLogger_cachedVersion.set(this, -1);
|
|
299
|
-
__classPrivateFieldSet(this, _ScopedLogger_pipeline, pipeline, "f");
|
|
300
|
-
__classPrivateFieldSet(this, _ScopedLogger_scope, scope, "f");
|
|
301
|
-
__classPrivateFieldSet(this, _ScopedLogger_resource, resource, "f");
|
|
302
|
-
__classPrivateFieldSet(this, _ScopedLogger_bound, bound, "f");
|
|
300
|
+
this.#pipeline = pipeline;
|
|
301
|
+
this.#scope = scope;
|
|
302
|
+
this.#resource = resource;
|
|
303
|
+
this.#bound = bound;
|
|
303
304
|
}
|
|
304
305
|
enabled(severity) {
|
|
305
|
-
const version =
|
|
306
|
-
if (version !==
|
|
307
|
-
|
|
308
|
-
|
|
306
|
+
const version = this.#pipeline.gateVersion;
|
|
307
|
+
if (version !== this.#cachedVersion) {
|
|
308
|
+
this.#cachedGate = this.#pipeline.gateFor(this.#scope.threshold);
|
|
309
|
+
this.#cachedVersion = version;
|
|
309
310
|
}
|
|
310
|
-
return severity >=
|
|
311
|
+
return severity >= this.#cachedGate;
|
|
311
312
|
}
|
|
312
313
|
log(severity, message, attributes, options) {
|
|
313
314
|
if (!this.enabled(severity))
|
|
314
315
|
return;
|
|
315
|
-
|
|
316
|
+
this.#pipeline.emit(this.#scope, severity, message, this.#resource, this.#bound, attributes, options);
|
|
316
317
|
}
|
|
317
318
|
/** Binding merges once, here — never per record — so a child logger costs one
|
|
318
319
|
* spread at creation and nothing at emit time (§8.3). */
|
|
319
320
|
with(attributes) {
|
|
320
321
|
const normalized = normalizeAttributes(attributes).attributes;
|
|
321
|
-
return new ScopedLogger(
|
|
322
|
-
...
|
|
322
|
+
return new ScopedLogger(this.#pipeline, this.#scope, this.#resource, {
|
|
323
|
+
...this.#bound,
|
|
323
324
|
...normalized,
|
|
324
325
|
});
|
|
325
326
|
}
|
|
326
327
|
flush() {
|
|
327
|
-
return
|
|
328
|
+
return this.#pipeline.flush();
|
|
328
329
|
}
|
|
329
330
|
trace(message, attributes, options) {
|
|
330
331
|
this.log(SEVERITY.trace, message, attributes, options);
|
|
@@ -345,5 +346,4 @@ class ScopedLogger {
|
|
|
345
346
|
this.log(SEVERITY.fatal, message, attributes, options);
|
|
346
347
|
}
|
|
347
348
|
}
|
|
348
|
-
_ScopedLogger_pipeline = new WeakMap(), _ScopedLogger_scope = new WeakMap(), _ScopedLogger_resource = new WeakMap(), _ScopedLogger_bound = new WeakMap(), _ScopedLogger_cachedGate = new WeakMap(), _ScopedLogger_cachedVersion = new WeakMap();
|
|
349
349
|
//# sourceMappingURL=logging-pipeline.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging-pipeline.js","sourceRoot":"","sources":["../../src/logging/logging-pipeline.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"logging-pipeline.js","sourceRoot":"","sources":["../../src/logging/logging-pipeline.ts"],"names":[],"mappings":"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"}
|