@fougere/observability 0.9.3-alpha.0 → 0.10.0-alpha.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/OtlpExporter.d.ts +12 -0
- package/dist/OtlpExporter.d.ts.map +1 -0
- package/dist/{otlp.js → OtlpExporter.js} +2 -3
- package/dist/OtlpExporter.js.map +1 -0
- package/dist/{otlp.d.ts → OtlpOptions.d.ts} +2 -12
- package/dist/OtlpOptions.d.ts.map +1 -0
- package/dist/OtlpOptions.js +2 -0
- package/dist/OtlpOptions.js.map +1 -0
- package/dist/extension.js +3 -3
- package/dist/extension.js.map +1 -1
- package/dist/index.d.ts +7 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/logs/CapturedLog.d.ts +7 -0
- package/dist/logs/CapturedLog.d.ts.map +1 -0
- package/dist/logs/CapturedLog.js +2 -0
- package/dist/logs/CapturedLog.js.map +1 -0
- package/dist/logs/LogExporter.d.ts +12 -0
- package/dist/logs/LogExporter.d.ts.map +1 -0
- package/dist/{logs.js → logs/LogExporter.js} +4 -5
- package/dist/logs/LogExporter.js.map +1 -0
- package/dist/logs/LogsOptions.d.ts +13 -0
- package/dist/logs/LogsOptions.d.ts.map +1 -0
- package/dist/logs/LogsOptions.js +2 -0
- package/dist/logs/LogsOptions.js.map +1 -0
- package/dist/metrics/Bucketed.d.ts +16 -0
- package/dist/metrics/Bucketed.d.ts.map +1 -0
- package/dist/metrics/Bucketed.js +2 -0
- package/dist/metrics/Bucketed.js.map +1 -0
- package/dist/{metrics.d.ts → metrics/Metrics.d.ts} +4 -31
- package/dist/metrics/Metrics.d.ts.map +1 -0
- package/dist/{metrics.js → metrics/Metrics.js} +8 -9
- package/dist/metrics/Metrics.js.map +1 -0
- package/dist/metrics/MetricsSnapshot.d.ts +14 -0
- package/dist/metrics/MetricsSnapshot.d.ts.map +1 -0
- package/dist/metrics/MetricsSnapshot.js +2 -0
- package/dist/metrics/MetricsSnapshot.js.map +1 -0
- package/dist/otlp/OtlpExporter.d.ts +12 -0
- package/dist/otlp/OtlpExporter.d.ts.map +1 -0
- package/dist/otlp/OtlpExporter.js +64 -0
- package/dist/otlp/OtlpExporter.js.map +1 -0
- package/dist/otlp/OtlpOptions.d.ts +16 -0
- package/dist/otlp/OtlpOptions.d.ts.map +1 -0
- package/dist/otlp/OtlpOptions.js +2 -0
- package/dist/otlp/OtlpOptions.js.map +1 -0
- package/package.json +9 -9
- package/src/{otlp.ts → OtlpExporter.ts} +4 -17
- package/src/OtlpOptions.ts +16 -0
- package/src/extension.ts +3 -3
- package/src/index.ts +7 -5
- package/src/logs/CapturedLog.ts +7 -0
- package/src/{logs.ts → logs/LogExporter.ts} +5 -23
- package/src/logs/LogsOptions.ts +12 -0
- package/src/metrics/Bucketed.ts +15 -0
- package/src/{metrics.ts → metrics/Metrics.ts} +9 -38
- package/src/metrics/MetricsSnapshot.ts +14 -0
- package/src/otlp/OtlpExporter.ts +87 -0
- package/src/otlp/OtlpOptions.ts +16 -0
- package/dist/logs.d.ts +0 -28
- package/dist/logs.d.ts.map +0 -1
- package/dist/logs.js.map +0 -1
- package/dist/metrics.d.ts.map +0 -1
- package/dist/metrics.js.map +0 -1
- package/dist/otlp.d.ts.map +0 -1
- package/dist/otlp.js.map +0 -1
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { SpanSink } from './index.js';
|
|
2
|
+
import type { OtlpOptions } from './OtlpOptions.js';
|
|
3
|
+
export interface OtlpExporter {
|
|
4
|
+
/** Hand to `onSpan`. */
|
|
5
|
+
sink: SpanSink;
|
|
6
|
+
/** Send what is buffered now — a process about to exit has to call this. */
|
|
7
|
+
flush(): Promise<void>;
|
|
8
|
+
/** Stop the timer and send what is left. */
|
|
9
|
+
stop(): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
export declare function otlp(options: OtlpOptions): OtlpExporter;
|
|
12
|
+
//# sourceMappingURL=OtlpExporter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OtlpExporter.d.ts","sourceRoot":"","sources":["../src/OtlpExporter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAgB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,wBAAwB;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,4EAA4E;IAC5E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,4CAA4C;IAC5C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAYD,wBAAgB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,CA2BvD"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
/** OTLP export — the spans this process finished, in the one shape every collector reads. */
|
|
2
1
|
import { Beat } from './Beat.js';
|
|
3
2
|
import { Endpoint } from './Endpoint.js';
|
|
4
|
-
import { metricsPayload } from './metrics.js';
|
|
3
|
+
import { metricsPayload } from './metrics/Metrics.js';
|
|
5
4
|
/** OTLP status codes: 0 unset, 1 ok, 2 error. */
|
|
6
5
|
const OK = 1;
|
|
7
6
|
const ERROR = 2;
|
|
@@ -62,4 +61,4 @@ function payload(service, spans) {
|
|
|
62
61
|
function nanos(ms) {
|
|
63
62
|
return `${Math.round(ms * 1e6)}`;
|
|
64
63
|
}
|
|
65
|
-
//# sourceMappingURL=
|
|
64
|
+
//# sourceMappingURL=OtlpExporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OtlpExporter.js","sourceRoot":"","sources":["../src/OtlpExporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import { type Metrics } from './metrics.js';
|
|
1
|
+
import { type Metrics } from './metrics/Metrics.js';
|
|
3
2
|
export interface OtlpOptions {
|
|
4
3
|
/** Which service these spans belong to — what a dashboard groups by. */
|
|
5
4
|
service: string;
|
|
@@ -14,13 +13,4 @@ export interface OtlpOptions {
|
|
|
14
13
|
/** Where metrics go when it is not the same collector as traces. */
|
|
15
14
|
metricsUrl?: string;
|
|
16
15
|
}
|
|
17
|
-
|
|
18
|
-
/** Hand to `onSpan`. */
|
|
19
|
-
sink: SpanSink;
|
|
20
|
-
/** Send what is buffered now — a process about to exit has to call this. */
|
|
21
|
-
flush(): Promise<void>;
|
|
22
|
-
/** Stop the timer and send what is left. */
|
|
23
|
-
stop(): Promise<void>;
|
|
24
|
-
}
|
|
25
|
-
export declare function otlp(options: OtlpOptions): OtlpExporter;
|
|
26
|
-
//# sourceMappingURL=otlp.d.ts.map
|
|
16
|
+
//# sourceMappingURL=OtlpOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OtlpOptions.d.ts","sourceRoot":"","sources":["../src/OtlpOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+FAA+F;IAC/F,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OtlpOptions.js","sourceRoot":"","sources":["../src/OtlpOptions.ts"],"names":[],"mappings":""}
|
package/dist/extension.js
CHANGED
|
@@ -3,9 +3,9 @@ import { frond, loggerMiddleware, LogLine } from '@fougere/core';
|
|
|
3
3
|
import ExportHandler from './ExportHandler.js';
|
|
4
4
|
import { traceContext } from '#trace-context';
|
|
5
5
|
import { registerFlush, statementsUnder, tracing } from './index.js';
|
|
6
|
-
import { metrics, serveTopology } from './metrics.js';
|
|
7
|
-
import { otlp } from './otlp.js';
|
|
8
|
-
import { logs } from './logs.js';
|
|
6
|
+
import { metrics, serveTopology } from './metrics/Metrics.js';
|
|
7
|
+
import { otlp } from './otlp/OtlpExporter.js';
|
|
8
|
+
import { logs } from './logs/LogExporter.js';
|
|
9
9
|
/**
|
|
10
10
|
* How far each operation's work goes, read off the model ONCE at boot.
|
|
11
11
|
*
|
package/dist/extension.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAU,OAAO,EAA0C,MAAM,eAAe,CAAC;AACjH,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,OAAO,EAAiB,MAAM,YAAY,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -100,7 +100,7 @@ export declare function registerFlush(send: () => Promise<void>): () => void;
|
|
|
100
100
|
* counted twice. A module-level array made that a leak you had to remember to undo; a list
|
|
101
101
|
* held beside the app cannot outlive it. Read at every end, so a taker added later counts.
|
|
102
102
|
*
|
|
103
|
-
* Two
|
|
103
|
+
* Two facades and not one, because a statement is not dispatched: nothing calls a middleware
|
|
104
104
|
* around a query. What both need is the same table — the time a step's children accounted
|
|
105
105
|
* for — so the two sit in one closure rather than reaching for each other.
|
|
106
106
|
*
|
|
@@ -118,9 +118,11 @@ export declare function tracing(takers: readonly SpanSink[], options?: TracingOp
|
|
|
118
118
|
* statement and every operation still reports its own time.
|
|
119
119
|
*/
|
|
120
120
|
export declare function statementsUnder(tracer: Tracing): Promise<() => void>;
|
|
121
|
-
export { otlp } from './otlp.js';
|
|
122
|
-
export { metrics } from './metrics.js';
|
|
123
|
-
export type { Metrics
|
|
124
|
-
export {
|
|
121
|
+
export { otlp } from './otlp/OtlpExporter.js';
|
|
122
|
+
export { metrics } from './metrics/Metrics.js';
|
|
123
|
+
export type { Metrics } from './metrics/Metrics.js';
|
|
124
|
+
export type { TopologyReport } from '@fougere/core';
|
|
125
|
+
export type { FrondPlacement, Edge } from '@fougere/core';
|
|
126
|
+
export { logs } from './logs/LogExporter.js';
|
|
125
127
|
export { observability } from './extension.js';
|
|
126
128
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAA8C,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAiBhG;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;AAEjD,iDAAiD;AACjD,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;;OAGG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,6FAA6F;IAC7F,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX;;;;;;;;;;;OAWG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,oFAAoF;IACpF,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,MAAM,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;AAEpD,gFAAgF;AAChF,MAAM,WAAW,SAAS;IACxB,qFAAqF;IACrF,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,wCAAwC;AACxC,MAAM,WAAW,OAAO;IACtB,oDAAoD;IACpD,UAAU,EAAE,aAAa,CAAC;IAC1B,gHAAgH;IAChH,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CACxD;AAED,qCAAqC;AAErC,0CAA0C;AAC1C,wBAAgB,WAAW,IAAI,WAAW,GAAG,SAAS,CAErD;AAQD,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAKD,kCAAkC;AAClC,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAMpD;AAED,sFAAsF;AACtF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAMnE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CA+H1F;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAa1E;AAOD,OAAO,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAA8C,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAiBhG;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;AAEjD,iDAAiD;AACjD,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;;OAGG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,6FAA6F;IAC7F,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX;;;;;;;;;;;OAWG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,oFAAoF;IACpF,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,MAAM,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;AAEpD,gFAAgF;AAChF,MAAM,WAAW,SAAS;IACxB,qFAAqF;IACrF,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,wCAAwC;AACxC,MAAM,WAAW,OAAO;IACtB,oDAAoD;IACpD,UAAU,EAAE,aAAa,CAAC;IAC1B,gHAAgH;IAChH,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CACxD;AAED,qCAAqC;AAErC,0CAA0C;AAC1C,wBAAgB,WAAW,IAAI,WAAW,GAAG,SAAS,CAErD;AAQD,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAKD,kCAAkC;AAClC,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAMpD;AAED,sFAAsF;AACtF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAMnE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CA+H1F;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAa1E;AAOD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,YAAY,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -43,7 +43,7 @@ export function registerFlush(send) {
|
|
|
43
43
|
* counted twice. A module-level array made that a leak you had to remember to undo; a list
|
|
44
44
|
* held beside the app cannot outlive it. Read at every end, so a taker added later counts.
|
|
45
45
|
*
|
|
46
|
-
* Two
|
|
46
|
+
* Two facades and not one, because a statement is not dispatched: nothing calls a middleware
|
|
47
47
|
* around a query. What both need is the same table — the time a step's children accounted
|
|
48
48
|
* for — so the two sit in one closure rather than reaching for each other.
|
|
49
49
|
*
|
|
@@ -209,8 +209,8 @@ function codeOf(err) {
|
|
|
209
209
|
const code = err?.code;
|
|
210
210
|
return typeof code === 'string' ? code : (err?.name ?? 'error');
|
|
211
211
|
}
|
|
212
|
-
export { otlp } from './otlp.js';
|
|
213
|
-
export { metrics } from './metrics.js';
|
|
214
|
-
export { logs } from './logs.js';
|
|
212
|
+
export { otlp } from './otlp/OtlpExporter.js';
|
|
213
|
+
export { metrics } from './metrics/Metrics.js';
|
|
214
|
+
export { logs } from './logs/LogExporter.js';
|
|
215
215
|
export { observability } from './extension.js';
|
|
216
216
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAsB,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAoB,MAAM,kBAAkB,CAAC;AA2GhG,qCAAqC;AAErC,0CAA0C;AAC1C,MAAM,UAAU,WAAW;IACzB,OAAO,YAAY,CAAC,OAAO,EAAW,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,IAAI,MAAM,GAAG,CAAC,CAAC;AAEf,MAAM,UAAU,WAAW;IACzB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kFAAkF;AAClF,MAAM,OAAO,GAA4B,EAAE,CAAC;AAE5C,kCAAkC;AAClC,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,kFAAkF;IAClF,gFAAgF;IAChF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;IAC1F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC,CAAC;AACpG,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,aAAa,CAAC,IAAyB;IACrD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,OAAO,GAAG,EAAE;QACV,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,EAAE,IAAI,CAAC;YAAE,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,OAAO,CAAC,MAA2B,EAAE,OAAO,GAAmB,EAAE;IAC/E,6EAA6E;IAC7E,MAAM,OAAO,GAAG,IAAI,GAAG,EAA8C,CAAC;IACtE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAE3C;;;OAGG;IACH,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,SAAiB,EAAE,EAAE,CAClD,IAAI,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAErE,MAAM,UAAU,GAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,EAAE,CAAC;QACvC,kFAAkF;QAClF,qFAAqF;QACrF,+EAA+E;QAC/E,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,EAAE,CAAC;QAEhD,mFAAmF;QACnF,4EAA4E;QAC5E,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAW,CAAC;QAChD,MAAM,MAAM,GAAG,SAAS,IAAI,OAAO,CAAC;QACpC,+EAA+E;QAC/E,gFAAgF;QAChF,uCAAuC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,IAAI,GAAY;YACpB,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,SAAS,CAAC,EAAE,CAAC;YACzC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;YACpB,wFAAwF;YACxF,2EAA2E;YAC3E,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC;YAC5D,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,SAAS;YACT,KAAK;SACN,CAAC;QACF,uFAAuF;QACvF,oFAAoF;QACpF,MAAM,WAAW,GACf,CAAC,SAAS,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1F,mFAAmF;QACnF,8EAA8E;QAC9E,6EAA6E;QAC7E,0BAA0B;QAC1B,IAAI,GAAG,CAAC,UAAU;YAAE,GAAG,CAAC,UAAU,GAAG,EAAE,GAAG,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QAEvF,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,MAAM,GAAG,CAAC,KAAyB,EAAE,EAAE;YAC3C,MAAM,IAAI,CAAC,CAAC;YACZ,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACrC,mFAAmF;YACnF,qCAAqC;YACrC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAiB;gBACzB,GAAG,IAAI;gBACP,QAAQ,EAAE,MAAM,EAAE,MAAM;gBACxB,WAAW;gBACX,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,SAAS;gBACT,EAAE;gBACF,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;gBACzC,UAAU,EAAE,IAAI,EAAE,UAAU,IAAI,CAAC;gBACjC,KAAK;aACN,CAAC;YACF,iEAAiE;YACjE,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;gBAAC,IAAI,CAAC;oBAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;YAAC,CAAC;QAC5F,CAAC,CAAC;QAEF,OAAO,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YAC1C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;gBAC5B,MAAM,CAAC,SAAS,CAAC,CAAC;gBAClB,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpB,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO;QACL,UAAU;QAEV,SAAS,CAAC,GAAc;YACtB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAChC,qFAAqF;YACrF,oFAAoF;YACpF,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAW,CAAC;YAC9C,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAEhC,qFAAqF;YACrF,8EAA8E;YAC9E,IAAI,CAAC,OAAO,CAAC,gBAAgB;gBAAE,OAAO;YAEtC,MAAM,IAAI,GAAiB;gBACzB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,KAAK,CAAC,MAAM;gBACtB,WAAW,EAAE,SAAS;gBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,GAAG,CAAC,OAAO;gBACnB,SAAS,EAAE,GAAG,CAAC,IAAI;gBACnB,SAAS,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;gBAClF,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,MAAM,EAAE,GAAG,CAAC,EAAE;gBACd,UAAU,EAAE,CAAC;gBACb,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;aACnD,CAAC;YACF,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;gBAAC,IAAI,CAAC;oBAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;YAAC,CAAC;QAC5F,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAe;IACnD,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAEzD,OAAO,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;YACzC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC,CAAC;IACN,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,GAAY;IAC1B,MAAM,IAAI,GAAI,GAA0B,EAAE,IAAI,CAAC;IAC/C,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,GAAa,EAAE,IAAI,IAAI,OAAO,CAAC,CAAC;AAC7E,CAAC;AAED,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAI/C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { LogRecord } from '@fougere/core';
|
|
2
|
+
/** A record, plus what it could only be told at the moment it was written. */
|
|
3
|
+
export interface CapturedLog extends LogRecord {
|
|
4
|
+
traceId: string | undefined;
|
|
5
|
+
spanId: string | undefined;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=CapturedLog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CapturedLog.d.ts","sourceRoot":"","sources":["../../src/logs/CapturedLog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,8EAA8E;AAC9E,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CapturedLog.js","sourceRoot":"","sources":["../../src/logs/CapturedLog.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { LogRecord } from '@fougere/core';
|
|
2
|
+
import type { LogsOptions } from './LogsOptions.js';
|
|
3
|
+
export interface LogExporter {
|
|
4
|
+
/** Hand to `onLog`. */
|
|
5
|
+
sink: (record: LogRecord) => void;
|
|
6
|
+
/** Send what is buffered now. */
|
|
7
|
+
flush(): Promise<void>;
|
|
8
|
+
/** Stop the timer and send what is left. */
|
|
9
|
+
stop(): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
export declare function logs(options: LogsOptions): LogExporter;
|
|
12
|
+
//# sourceMappingURL=LogExporter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogExporter.d.ts","sourceRoot":"","sources":["../../src/logs/LogExporter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAUpD,MAAM,WAAW,WAAW;IAC1B,uBAAuB;IACvB,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IAClC,iCAAiC;IACjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,4CAA4C;IAC5C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,wBAAgB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CA2BtD"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { currentSpan } from './index.js';
|
|
1
|
+
import { Beat } from '../Beat.js';
|
|
2
|
+
import { Endpoint } from '../Endpoint.js';
|
|
3
|
+
import { currentSpan } from '../index.js';
|
|
5
4
|
/** OTLP severity numbers — the scale is 1–24, these are the canonical rungs. */
|
|
6
5
|
const SEVERITY = {
|
|
7
6
|
debug: { number: 5, text: 'DEBUG' },
|
|
@@ -88,4 +87,4 @@ function readable(value) {
|
|
|
88
87
|
return String(value);
|
|
89
88
|
}
|
|
90
89
|
}
|
|
91
|
-
//# sourceMappingURL=
|
|
90
|
+
//# sourceMappingURL=LogExporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogExporter.js","sourceRoot":"","sources":["../../src/logs/LogExporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface LogsOptions {
|
|
2
|
+
/** Which service these lines belong to. */
|
|
3
|
+
service: string;
|
|
4
|
+
/** Collector endpoint. Default: the OTLP/HTTP convention on localhost. */
|
|
5
|
+
url?: string;
|
|
6
|
+
/** How often a batch leaves. Default: every second. */
|
|
7
|
+
flushMs?: number;
|
|
8
|
+
/** Told when a batch could not be sent. Default: silence. */
|
|
9
|
+
onError?: (err: unknown) => void;
|
|
10
|
+
/** Drop anything below this level before it leaves the process. */
|
|
11
|
+
minimum?: 'debug' | 'info' | 'warn' | 'error';
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=LogsOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogsOptions.d.ts","sourceRoot":"","sources":["../../src/logs/LogsOptions.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,mEAAmE;IACnE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogsOptions.js","sourceRoot":"","sources":["../../src/logs/LogsOptions.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface Bucketed {
|
|
2
|
+
frond: string | undefined;
|
|
3
|
+
entity: string;
|
|
4
|
+
operation: string;
|
|
5
|
+
error: string | undefined;
|
|
6
|
+
count: number;
|
|
7
|
+
sum: number;
|
|
8
|
+
/** One more than the bounds: the last holds everything above the highest bound. */
|
|
9
|
+
buckets: number[];
|
|
10
|
+
/** The same measurement over `selfMs` — what the op did rather than what it waited for. */
|
|
11
|
+
selfSum: number;
|
|
12
|
+
selfBuckets: number[];
|
|
13
|
+
/** Every statement these calls ran. Against `count`, it is statements per call. */
|
|
14
|
+
statements: number;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=Bucketed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Bucketed.d.ts","sourceRoot":"","sources":["../../src/metrics/Bucketed.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,mFAAmF;IACnF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2FAA2F;IAC3F,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,mFAAmF;IACnF,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Bucketed.js","sourceRoot":"","sources":["../../src/metrics/Bucketed.ts"],"names":[],"mappings":""}
|
|
@@ -1,39 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
import { type
|
|
3
|
-
|
|
4
|
-
import { type SpanSink } from './index.js';
|
|
5
|
-
interface Bucketed {
|
|
6
|
-
frond: string | undefined;
|
|
7
|
-
entity: string;
|
|
8
|
-
operation: string;
|
|
9
|
-
error: string | undefined;
|
|
10
|
-
count: number;
|
|
11
|
-
sum: number;
|
|
12
|
-
/** One more than the bounds: the last holds everything above the highest bound. */
|
|
13
|
-
buckets: number[];
|
|
14
|
-
/** The same measurement over `selfMs` — what the op did rather than what it waited for. */
|
|
15
|
-
selfSum: number;
|
|
16
|
-
selfBuckets: number[];
|
|
17
|
-
/** Every statement these calls ran. Against `count`, it is statements per call. */
|
|
18
|
-
statements: number;
|
|
19
|
-
}
|
|
1
|
+
import { type App } from '@fougere/core';
|
|
2
|
+
import { type SpanSink } from '../index.js';
|
|
3
|
+
import type { MetricsSnapshot } from './MetricsSnapshot.js';
|
|
20
4
|
export interface Metrics {
|
|
21
5
|
/** Hand to `onSpan` — it reads the same span the tracer reads. */
|
|
22
6
|
sink: SpanSink;
|
|
23
7
|
/** What to publish now. */
|
|
24
8
|
snapshot(): MetricsSnapshot;
|
|
25
9
|
}
|
|
26
|
-
export interface MetricsSnapshot {
|
|
27
|
-
/** When this process started counting — cumulative metrics are read against it. */
|
|
28
|
-
since: number;
|
|
29
|
-
series: Bucketed[];
|
|
30
|
-
active: number;
|
|
31
|
-
bounds: number[];
|
|
32
|
-
/** The shape of the system as this process discovered it — declared nowhere. */
|
|
33
|
-
topology: FrondPlacement[];
|
|
34
|
-
/** Who calls whom, as observed here. Bounded by fronds², so it is a safe dimension. */
|
|
35
|
-
edges: Edge[];
|
|
36
|
-
}
|
|
37
10
|
/**
|
|
38
11
|
* `app` is optional and only feeds the topology: what fronds this process found, and which of them
|
|
39
12
|
* run elsewhere.
|
|
@@ -66,4 +39,4 @@ export declare function metricsPayload(service: string, snapshot: MetricsSnapsho
|
|
|
66
39
|
}[];
|
|
67
40
|
}[];
|
|
68
41
|
};
|
|
69
|
-
//# sourceMappingURL=
|
|
42
|
+
//# sourceMappingURL=Metrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Metrics.d.ts","sourceRoot":"","sources":["../../src/metrics/Metrics.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,GAAG,EAAuD,MAAM,eAAe,CAAC;AAClH,OAAO,EAAkC,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAkB5D,MAAM,WAAW,OAAO;IACtB,kEAAkE;IAClE,IAAI,EAAE,QAAQ,CAAC;IACf,2BAA2B;IAC3B,QAAQ,IAAI,eAAe,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,GAAE,SAAS,MAAM,EAAW,GAAG,OAAO,CA2D9E;AA0CD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAM/D;AAED,6FAA6F;AAC7F,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe;;;YAgBrD,UAAU;;;oBAbkC,WAAW;;;;;;gBAgBtD,IAAI;;YACb,4BAA4B;;;;EA8HvC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
/** The four signals every service is judged on, derived from the span that already exists. */
|
|
2
1
|
import { declaredTopologyOf } from '@fougere/core';
|
|
3
|
-
import { activeCalls } from '
|
|
2
|
+
import { activeCalls } from '../index.js';
|
|
4
3
|
/**
|
|
5
4
|
* Bucket bounds in SECONDS, and the operator's to choose — this is the default, not the rule.
|
|
6
5
|
*
|
|
@@ -99,13 +98,13 @@ function topologyOf(app, seen) {
|
|
|
99
98
|
frond: frond.name,
|
|
100
99
|
placement: 'local',
|
|
101
100
|
entities: frond.entities.length,
|
|
102
|
-
|
|
101
|
+
facades: frond.handlers.length,
|
|
103
102
|
}));
|
|
104
103
|
// A frond we called but never scanned is hosted elsewhere. Its shape is not ours to
|
|
105
104
|
// report — it is published by the process that owns it, under its own service name.
|
|
106
105
|
const elsewhere = [...seen]
|
|
107
106
|
.filter((name) => !local.has(name))
|
|
108
|
-
.map((name) => ({ frond: name, placement: 'remote', entities: 0,
|
|
107
|
+
.map((name) => ({ frond: name, placement: 'remote', entities: 0, facades: 0 }));
|
|
109
108
|
return [...here, ...elsewhere];
|
|
110
109
|
}
|
|
111
110
|
/** The first bound this duration does not exceed, or the overflow bucket. */
|
|
@@ -254,13 +253,13 @@ export function metricsPayload(service, snapshot) {
|
|
|
254
253
|
},
|
|
255
254
|
},
|
|
256
255
|
{
|
|
257
|
-
name: 'fougere.frond.
|
|
258
|
-
description: 'How many
|
|
259
|
-
unit: '{
|
|
256
|
+
name: 'fougere.frond.facades',
|
|
257
|
+
description: 'How many facades a frond serves — its surface, as scanned.',
|
|
258
|
+
unit: '{facade}',
|
|
260
259
|
gauge: {
|
|
261
260
|
dataPoints: snapshot.topology.map((f) => ({
|
|
262
261
|
attributes: [attr('fougere.frond', f.frond)],
|
|
263
|
-
asInt: `${f.
|
|
262
|
+
asInt: `${f.facades}`,
|
|
264
263
|
timeUnixNano: now,
|
|
265
264
|
})),
|
|
266
265
|
},
|
|
@@ -272,4 +271,4 @@ export function metricsPayload(service, snapshot) {
|
|
|
272
271
|
],
|
|
273
272
|
};
|
|
274
273
|
}
|
|
275
|
-
//# sourceMappingURL=
|
|
274
|
+
//# sourceMappingURL=Metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Metrics.js","sourceRoot":"","sources":["../../src/metrics/Metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Bucketed } from './Bucketed.js';
|
|
2
|
+
import { type Edge, type FrondPlacement } from '@fougere/core';
|
|
3
|
+
export interface MetricsSnapshot {
|
|
4
|
+
/** When this process started counting — cumulative metrics are read against it. */
|
|
5
|
+
since: number;
|
|
6
|
+
series: Bucketed[];
|
|
7
|
+
active: number;
|
|
8
|
+
bounds: number[];
|
|
9
|
+
/** The shape of the system as this process discovered it — declared nowhere. */
|
|
10
|
+
topology: FrondPlacement[];
|
|
11
|
+
/** Who calls whom, as observed here. Bounded by fronds², so it is a safe dimension. */
|
|
12
|
+
edges: Edge[];
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=MetricsSnapshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetricsSnapshot.d.ts","sourceRoot":"","sources":["../../src/metrics/MetricsSnapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/D,MAAM,WAAW,eAAe;IAC9B,mFAAmF;IACnF,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,gFAAgF;IAChF,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,uFAAuF;IACvF,KAAK,EAAE,IAAI,EAAE,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetricsSnapshot.js","sourceRoot":"","sources":["../../src/metrics/MetricsSnapshot.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { SpanSink } from '../index.js';
|
|
2
|
+
import type { OtlpOptions } from './OtlpOptions.js';
|
|
3
|
+
export interface OtlpExporter {
|
|
4
|
+
/** Hand to `onSpan`. */
|
|
5
|
+
sink: SpanSink;
|
|
6
|
+
/** Send what is buffered now — a process about to exit has to call this. */
|
|
7
|
+
flush(): Promise<void>;
|
|
8
|
+
/** Stop the timer and send what is left. */
|
|
9
|
+
stop(): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
export declare function otlp(options: OtlpOptions): OtlpExporter;
|
|
12
|
+
//# sourceMappingURL=OtlpExporter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OtlpExporter.d.ts","sourceRoot":"","sources":["../../src/otlp/OtlpExporter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAgB,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,wBAAwB;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,4EAA4E;IAC5E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,4CAA4C;IAC5C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAYD,wBAAgB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,CA2BvD"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Beat } from '../Beat.js';
|
|
2
|
+
import { Endpoint } from '../Endpoint.js';
|
|
3
|
+
import { metricsPayload } from '../metrics/Metrics.js';
|
|
4
|
+
/** OTLP status codes: 0 unset, 1 ok, 2 error. */
|
|
5
|
+
const OK = 1;
|
|
6
|
+
const ERROR = 2;
|
|
7
|
+
/** OTLP span kinds, of the six only these two are ours. */
|
|
8
|
+
const INTERNAL = 1;
|
|
9
|
+
const CLIENT = 3;
|
|
10
|
+
export function otlp(options) {
|
|
11
|
+
const url = options.url ?? 'http://localhost:4318/v1/traces';
|
|
12
|
+
const traces = Endpoint.at(url, options.onError);
|
|
13
|
+
const metrics = Endpoint.at(options.metricsUrl ?? url.replace(/\/v1\/traces$/, '/v1/metrics'), options.onError);
|
|
14
|
+
let buffer = [];
|
|
15
|
+
async function flush() {
|
|
16
|
+
const batch = buffer;
|
|
17
|
+
buffer = [];
|
|
18
|
+
// Metrics go on every beat even when no span finished: a gauge that stops being
|
|
19
|
+
// published reads as "gone", not as "idle".
|
|
20
|
+
await Promise.all([
|
|
21
|
+
batch.length > 0 ? traces.post(payload(options.service, batch)) : Promise.resolve(),
|
|
22
|
+
options.metrics ? metrics.post(metricsPayload(options.service, options.metrics.snapshot())) : Promise.resolve(),
|
|
23
|
+
]);
|
|
24
|
+
}
|
|
25
|
+
const beat = Beat.every(options.flushMs, flush);
|
|
26
|
+
return {
|
|
27
|
+
sink: (span) => { buffer.push(span); },
|
|
28
|
+
flush,
|
|
29
|
+
stop: () => beat.stop(),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/** One batch, as OTLP/JSON spells it — trace and span ids stay hex, times are nanos. */
|
|
33
|
+
function payload(service, spans) {
|
|
34
|
+
return {
|
|
35
|
+
resourceSpans: [
|
|
36
|
+
{
|
|
37
|
+
resource: { attributes: [{ key: 'service.name', value: { stringValue: service } }] },
|
|
38
|
+
scopeSpans: [
|
|
39
|
+
{
|
|
40
|
+
scope: { name: '@fougere/observability' },
|
|
41
|
+
spans: spans.map((span) => ({
|
|
42
|
+
traceId: span.traceId,
|
|
43
|
+
spanId: span.spanId,
|
|
44
|
+
...(span.parentId ? { parentSpanId: span.parentId } : {}),
|
|
45
|
+
name: `${span.entity}.${span.operation}`,
|
|
46
|
+
// 1 INTERNAL, 3 CLIENT: a statement left this process for an engine, and a
|
|
47
|
+
// viewer draws the two differently. `selfMs` is NOT sent — a collector
|
|
48
|
+
// derives it from the tree it already holds.
|
|
49
|
+
kind: span.kind === 'statement' ? CLIENT : INTERNAL,
|
|
50
|
+
startTimeUnixNano: nanos(span.startedAt),
|
|
51
|
+
endTimeUnixNano: nanos(span.startedAt + span.ms),
|
|
52
|
+
status: span.error ? { code: ERROR, message: span.error } : { code: OK },
|
|
53
|
+
})),
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/** Epoch milliseconds → the int64 nanoseconds OTLP wants, as a string. */
|
|
61
|
+
function nanos(ms) {
|
|
62
|
+
return `${Math.round(ms * 1e6)}`;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=OtlpExporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OtlpExporter.js","sourceRoot":"","sources":["../../src/otlp/OtlpExporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type Metrics } from '../metrics/Metrics.js';
|
|
2
|
+
export interface OtlpOptions {
|
|
3
|
+
/** Which service these spans belong to — what a dashboard groups by. */
|
|
4
|
+
service: string;
|
|
5
|
+
/** Collector endpoint. Default: the OTLP/HTTP convention on localhost. */
|
|
6
|
+
url?: string;
|
|
7
|
+
/** How often a full batch leaves. Default: every second. */
|
|
8
|
+
flushMs?: number;
|
|
9
|
+
/** Told when a batch could not be sent. Default: silence — a trace must never break a call. */
|
|
10
|
+
onError?: (err: unknown) => void;
|
|
11
|
+
/** Publish these metrics on the same beat. */
|
|
12
|
+
metrics?: Metrics;
|
|
13
|
+
/** Where metrics go when it is not the same collector as traces. */
|
|
14
|
+
metricsUrl?: string;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=OtlpOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OtlpOptions.d.ts","sourceRoot":"","sources":["../../src/otlp/OtlpOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+FAA+F;IAC/F,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OtlpOptions.js","sourceRoot":"","sources":["../../src/otlp/OtlpOptions.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fougere/observability",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0-alpha.0",
|
|
4
4
|
"description": "Optional observability for Fougere: one span per operation, W3C Trace Context across any transport.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"fougere",
|
|
@@ -31,17 +31,17 @@
|
|
|
31
31
|
"src"
|
|
32
32
|
],
|
|
33
33
|
"peerDependencies": {
|
|
34
|
-
"@fougere/
|
|
35
|
-
"@fougere/
|
|
34
|
+
"@fougere/adapter-sql": "^0.10.0-alpha.0",
|
|
35
|
+
"@fougere/core": "^0.10.0-alpha.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"vitest": "^4.1.0",
|
|
39
|
-
"@fougere/adapter-sql": "0.
|
|
40
|
-
"@fougere/schema": "0.
|
|
41
|
-
"@fougere/
|
|
42
|
-
"@fougere/
|
|
43
|
-
"@fougere/
|
|
44
|
-
"@fougere/
|
|
39
|
+
"@fougere/adapter-sql": "0.10.0-alpha.0",
|
|
40
|
+
"@fougere/schema": "0.10.0-alpha.0",
|
|
41
|
+
"@fougere/compiler": "0.10.0-alpha.0",
|
|
42
|
+
"@fougere/core": "0.10.0-alpha.0",
|
|
43
|
+
"@fougere/container": "0.10.0-alpha.0",
|
|
44
|
+
"@fougere/transport-http": "0.10.0-alpha.0"
|
|
45
45
|
},
|
|
46
46
|
"publishConfig": {
|
|
47
47
|
"access": "public"
|
|
@@ -1,23 +1,8 @@
|
|
|
1
|
-
/** OTLP export — the spans this process finished, in the one shape every collector reads. */
|
|
2
1
|
import { Beat } from './Beat.js';
|
|
3
2
|
import { Endpoint } from './Endpoint.js';
|
|
4
3
|
import type { FinishedSpan, SpanSink } from './index.js';
|
|
5
|
-
import { metricsPayload
|
|
6
|
-
|
|
7
|
-
export interface OtlpOptions {
|
|
8
|
-
/** Which service these spans belong to — what a dashboard groups by. */
|
|
9
|
-
service: string;
|
|
10
|
-
/** Collector endpoint. Default: the OTLP/HTTP convention on localhost. */
|
|
11
|
-
url?: string;
|
|
12
|
-
/** How often a full batch leaves. Default: every second. */
|
|
13
|
-
flushMs?: number;
|
|
14
|
-
/** Told when a batch could not be sent. Default: silence — a trace must never break a call. */
|
|
15
|
-
onError?: (err: unknown) => void;
|
|
16
|
-
/** Publish these metrics on the same beat. */
|
|
17
|
-
metrics?: Metrics;
|
|
18
|
-
/** Where metrics go when it is not the same collector as traces. */
|
|
19
|
-
metricsUrl?: string;
|
|
20
|
-
}
|
|
4
|
+
import { metricsPayload } from './metrics/Metrics.js';
|
|
5
|
+
import type { OtlpOptions } from './OtlpOptions.js';
|
|
21
6
|
|
|
22
7
|
export interface OtlpExporter {
|
|
23
8
|
/** Hand to `onSpan`. */
|
|
@@ -30,10 +15,12 @@ export interface OtlpExporter {
|
|
|
30
15
|
|
|
31
16
|
/** OTLP status codes: 0 unset, 1 ok, 2 error. */
|
|
32
17
|
const OK = 1;
|
|
18
|
+
|
|
33
19
|
const ERROR = 2;
|
|
34
20
|
|
|
35
21
|
/** OTLP span kinds, of the six only these two are ours. */
|
|
36
22
|
const INTERNAL = 1;
|
|
23
|
+
|
|
37
24
|
const CLIENT = 3;
|
|
38
25
|
|
|
39
26
|
export function otlp(options: OtlpOptions): OtlpExporter {
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type Metrics } from './metrics/Metrics.js';
|
|
2
|
+
|
|
3
|
+
export interface OtlpOptions {
|
|
4
|
+
/** Which service these spans belong to — what a dashboard groups by. */
|
|
5
|
+
service: string;
|
|
6
|
+
/** Collector endpoint. Default: the OTLP/HTTP convention on localhost. */
|
|
7
|
+
url?: string;
|
|
8
|
+
/** How often a full batch leaves. Default: every second. */
|
|
9
|
+
flushMs?: number;
|
|
10
|
+
/** Told when a batch could not be sent. Default: silence — a trace must never break a call. */
|
|
11
|
+
onError?: (err: unknown) => void;
|
|
12
|
+
/** Publish these metrics on the same beat. */
|
|
13
|
+
metrics?: Metrics;
|
|
14
|
+
/** Where metrics go when it is not the same collector as traces. */
|
|
15
|
+
metricsUrl?: string;
|
|
16
|
+
}
|
package/src/extension.ts
CHANGED
|
@@ -3,9 +3,9 @@ import { frond, loggerMiddleware, Logger, LogLine, type App, type Extension, typ
|
|
|
3
3
|
import ExportHandler from './ExportHandler.js';
|
|
4
4
|
import { traceContext } from '#trace-context';
|
|
5
5
|
import { registerFlush, statementsUnder, tracing, type SpanSink } from './index.js';
|
|
6
|
-
import { metrics, serveTopology } from './metrics.js';
|
|
7
|
-
import { otlp } from './otlp.js';
|
|
8
|
-
import { logs } from './logs.js';
|
|
6
|
+
import { metrics, serveTopology } from './metrics/Metrics.js';
|
|
7
|
+
import { otlp } from './otlp/OtlpExporter.js';
|
|
8
|
+
import { logs } from './logs/LogExporter.js';
|
|
9
9
|
|
|
10
10
|
export interface ObservabilityOptions {
|
|
11
11
|
/** What a dashboard groups this process by, and the name a log line carries. */
|
package/src/index.ts
CHANGED
|
@@ -154,7 +154,7 @@ export function registerFlush(send: () => Promise<void>): () => void {
|
|
|
154
154
|
* counted twice. A module-level array made that a leak you had to remember to undo; a list
|
|
155
155
|
* held beside the app cannot outlive it. Read at every end, so a taker added later counts.
|
|
156
156
|
*
|
|
157
|
-
* Two
|
|
157
|
+
* Two facades and not one, because a statement is not dispatched: nothing calls a middleware
|
|
158
158
|
* around a query. What both need is the same table — the time a step's children accounted
|
|
159
159
|
* for — so the two sit in one closure rather than reaching for each other.
|
|
160
160
|
*
|
|
@@ -319,8 +319,10 @@ function codeOf(err: unknown): string {
|
|
|
319
319
|
return typeof code === 'string' ? code : ((err as Error)?.name ?? 'error');
|
|
320
320
|
}
|
|
321
321
|
|
|
322
|
-
export { otlp } from './otlp.js';
|
|
323
|
-
export { metrics } from './metrics.js';
|
|
324
|
-
export type { Metrics
|
|
325
|
-
export {
|
|
322
|
+
export { otlp } from './otlp/OtlpExporter.js';
|
|
323
|
+
export { metrics } from './metrics/Metrics.js';
|
|
324
|
+
export type { Metrics } from './metrics/Metrics.js';
|
|
325
|
+
export type { TopologyReport } from '@fougere/core';
|
|
326
|
+
export type { FrondPlacement, Edge } from '@fougere/core';
|
|
327
|
+
export { logs } from './logs/LogExporter.js';
|
|
326
328
|
export { observability } from './extension.js';
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { currentSpan } from './index.js';
|
|
1
|
+
import { Beat } from '../Beat.js';
|
|
2
|
+
import { Endpoint } from '../Endpoint.js';
|
|
3
|
+
import { currentSpan } from '../index.js';
|
|
5
4
|
import type { LogRecord } from '@fougere/core';
|
|
5
|
+
import type { CapturedLog } from './CapturedLog.js';
|
|
6
|
+
import type { LogsOptions } from './LogsOptions.js';
|
|
6
7
|
|
|
7
8
|
/** OTLP severity numbers — the scale is 1–24, these are the canonical rungs. */
|
|
8
9
|
const SEVERITY: Record<string, { number: number; text: string }> = {
|
|
@@ -12,12 +13,6 @@ const SEVERITY: Record<string, { number: number; text: string }> = {
|
|
|
12
13
|
error: { number: 17, text: 'ERROR' },
|
|
13
14
|
};
|
|
14
15
|
|
|
15
|
-
/** A record, plus what it could only be told at the moment it was written. */
|
|
16
|
-
export interface CapturedLog extends LogRecord {
|
|
17
|
-
traceId: string | undefined;
|
|
18
|
-
spanId: string | undefined;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
16
|
export interface LogExporter {
|
|
22
17
|
/** Hand to `onLog`. */
|
|
23
18
|
sink: (record: LogRecord) => void;
|
|
@@ -27,19 +22,6 @@ export interface LogExporter {
|
|
|
27
22
|
stop(): Promise<void>;
|
|
28
23
|
}
|
|
29
24
|
|
|
30
|
-
export interface LogsOptions {
|
|
31
|
-
/** Which service these lines belong to. */
|
|
32
|
-
service: string;
|
|
33
|
-
/** Collector endpoint. Default: the OTLP/HTTP convention on localhost. */
|
|
34
|
-
url?: string;
|
|
35
|
-
/** How often a batch leaves. Default: every second. */
|
|
36
|
-
flushMs?: number;
|
|
37
|
-
/** Told when a batch could not be sent. Default: silence. */
|
|
38
|
-
onError?: (err: unknown) => void;
|
|
39
|
-
/** Drop anything below this level before it leaves the process. */
|
|
40
|
-
minimum?: 'debug' | 'info' | 'warn' | 'error';
|
|
41
|
-
}
|
|
42
|
-
|
|
43
25
|
export function logs(options: LogsOptions): LogExporter {
|
|
44
26
|
const collector = Endpoint.at(options.url ?? 'http://localhost:4318/v1/logs', options.onError);
|
|
45
27
|
const floor = options.minimum ? SEVERITY[options.minimum].number : 0;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface LogsOptions {
|
|
2
|
+
/** Which service these lines belong to. */
|
|
3
|
+
service: string;
|
|
4
|
+
/** Collector endpoint. Default: the OTLP/HTTP convention on localhost. */
|
|
5
|
+
url?: string;
|
|
6
|
+
/** How often a batch leaves. Default: every second. */
|
|
7
|
+
flushMs?: number;
|
|
8
|
+
/** Told when a batch could not be sent. Default: silence. */
|
|
9
|
+
onError?: (err: unknown) => void;
|
|
10
|
+
/** Drop anything below this level before it leaves the process. */
|
|
11
|
+
minimum?: 'debug' | 'info' | 'warn' | 'error';
|
|
12
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface Bucketed {
|
|
2
|
+
frond: string | undefined;
|
|
3
|
+
entity: string;
|
|
4
|
+
operation: string;
|
|
5
|
+
error: string | undefined;
|
|
6
|
+
count: number;
|
|
7
|
+
sum: number;
|
|
8
|
+
/** One more than the bounds: the last holds everything above the highest bound. */
|
|
9
|
+
buckets: number[];
|
|
10
|
+
/** The same measurement over `selfMs` — what the op did rather than what it waited for. */
|
|
11
|
+
selfSum: number;
|
|
12
|
+
selfBuckets: number[];
|
|
13
|
+
/** Every statement these calls ran. Against `count`, it is statements per call. */
|
|
14
|
+
statements: number;
|
|
15
|
+
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import type { Bucketed } from './Bucketed.js';
|
|
2
2
|
import { declaredTopologyOf, type App, type Edge, type FrondPlacement, type TopologyReport } from '@fougere/core';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import { activeCalls, type FinishedSpan, type SpanSink } from './index.js';
|
|
3
|
+
import { activeCalls, type FinishedSpan, type SpanSink } from '../index.js';
|
|
4
|
+
import type { MetricsSnapshot } from './MetricsSnapshot.js';
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* Bucket bounds in SECONDS, and the operator's to choose — this is the default, not the rule.
|
|
@@ -19,21 +18,6 @@ import { activeCalls, type FinishedSpan, type SpanSink } from './index.js';
|
|
|
19
18
|
*/
|
|
20
19
|
const BOUNDS = [0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10];
|
|
21
20
|
|
|
22
|
-
interface Bucketed {
|
|
23
|
-
frond: string | undefined;
|
|
24
|
-
entity: string;
|
|
25
|
-
operation: string;
|
|
26
|
-
error: string | undefined;
|
|
27
|
-
count: number;
|
|
28
|
-
sum: number;
|
|
29
|
-
/** One more than the bounds: the last holds everything above the highest bound. */
|
|
30
|
-
buckets: number[];
|
|
31
|
-
/** The same measurement over `selfMs` — what the op did rather than what it waited for. */
|
|
32
|
-
selfSum: number;
|
|
33
|
-
selfBuckets: number[];
|
|
34
|
-
/** Every statement these calls ran. Against `count`, it is statements per call. */
|
|
35
|
-
statements: number;
|
|
36
|
-
}
|
|
37
21
|
|
|
38
22
|
export interface Metrics {
|
|
39
23
|
/** Hand to `onSpan` — it reads the same span the tracer reads. */
|
|
@@ -42,19 +26,6 @@ export interface Metrics {
|
|
|
42
26
|
snapshot(): MetricsSnapshot;
|
|
43
27
|
}
|
|
44
28
|
|
|
45
|
-
|
|
46
|
-
export interface MetricsSnapshot {
|
|
47
|
-
/** When this process started counting — cumulative metrics are read against it. */
|
|
48
|
-
since: number;
|
|
49
|
-
series: Bucketed[];
|
|
50
|
-
active: number;
|
|
51
|
-
bounds: number[];
|
|
52
|
-
/** The shape of the system as this process discovered it — declared nowhere. */
|
|
53
|
-
topology: FrondPlacement[];
|
|
54
|
-
/** Who calls whom, as observed here. Bounded by fronds², so it is a safe dimension. */
|
|
55
|
-
edges: Edge[];
|
|
56
|
-
}
|
|
57
|
-
|
|
58
29
|
/**
|
|
59
30
|
* `app` is optional and only feeds the topology: what fronds this process found, and which of them
|
|
60
31
|
* run elsewhere.
|
|
@@ -141,14 +112,14 @@ function topologyOf(app: App | undefined, seen: Set<string>): FrondPlacement[] {
|
|
|
141
112
|
frond: frond.name,
|
|
142
113
|
placement: 'local' as const,
|
|
143
114
|
entities: frond.entities.length,
|
|
144
|
-
|
|
115
|
+
facades: frond.handlers.length,
|
|
145
116
|
}));
|
|
146
117
|
|
|
147
118
|
// A frond we called but never scanned is hosted elsewhere. Its shape is not ours to
|
|
148
119
|
// report — it is published by the process that owns it, under its own service name.
|
|
149
120
|
const elsewhere: FrondPlacement[] = [...seen]
|
|
150
121
|
.filter((name) => !local.has(name))
|
|
151
|
-
.map((name) => ({ frond: name, placement: 'remote' as const, entities: 0,
|
|
122
|
+
.map((name) => ({ frond: name, placement: 'remote' as const, entities: 0, facades: 0 }));
|
|
152
123
|
|
|
153
124
|
return [...here, ...elsewhere];
|
|
154
125
|
}
|
|
@@ -302,13 +273,13 @@ export function metricsPayload(service: string, snapshot: MetricsSnapshot) {
|
|
|
302
273
|
},
|
|
303
274
|
},
|
|
304
275
|
{
|
|
305
|
-
name: 'fougere.frond.
|
|
306
|
-
description: 'How many
|
|
307
|
-
unit: '{
|
|
276
|
+
name: 'fougere.frond.facades',
|
|
277
|
+
description: 'How many facades a frond serves — its surface, as scanned.',
|
|
278
|
+
unit: '{facade}',
|
|
308
279
|
gauge: {
|
|
309
280
|
dataPoints: snapshot.topology.map((f) => ({
|
|
310
281
|
attributes: [attr('fougere.frond', f.frond)],
|
|
311
|
-
asInt: `${f.
|
|
282
|
+
asInt: `${f.facades}`,
|
|
312
283
|
timeUnixNano: now,
|
|
313
284
|
})),
|
|
314
285
|
},
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Bucketed } from './Bucketed.js';
|
|
2
|
+
import { type Edge, type FrondPlacement } from '@fougere/core';
|
|
3
|
+
|
|
4
|
+
export interface MetricsSnapshot {
|
|
5
|
+
/** When this process started counting — cumulative metrics are read against it. */
|
|
6
|
+
since: number;
|
|
7
|
+
series: Bucketed[];
|
|
8
|
+
active: number;
|
|
9
|
+
bounds: number[];
|
|
10
|
+
/** The shape of the system as this process discovered it — declared nowhere. */
|
|
11
|
+
topology: FrondPlacement[];
|
|
12
|
+
/** Who calls whom, as observed here. Bounded by fronds², so it is a safe dimension. */
|
|
13
|
+
edges: Edge[];
|
|
14
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { Beat } from '../Beat.js';
|
|
2
|
+
import { Endpoint } from '../Endpoint.js';
|
|
3
|
+
import type { FinishedSpan, SpanSink } from '../index.js';
|
|
4
|
+
import { metricsPayload } from '../metrics/Metrics.js';
|
|
5
|
+
import type { OtlpOptions } from './OtlpOptions.js';
|
|
6
|
+
|
|
7
|
+
export interface OtlpExporter {
|
|
8
|
+
/** Hand to `onSpan`. */
|
|
9
|
+
sink: SpanSink;
|
|
10
|
+
/** Send what is buffered now — a process about to exit has to call this. */
|
|
11
|
+
flush(): Promise<void>;
|
|
12
|
+
/** Stop the timer and send what is left. */
|
|
13
|
+
stop(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/** OTLP status codes: 0 unset, 1 ok, 2 error. */
|
|
17
|
+
const OK = 1;
|
|
18
|
+
|
|
19
|
+
const ERROR = 2;
|
|
20
|
+
|
|
21
|
+
/** OTLP span kinds, of the six only these two are ours. */
|
|
22
|
+
const INTERNAL = 1;
|
|
23
|
+
|
|
24
|
+
const CLIENT = 3;
|
|
25
|
+
|
|
26
|
+
export function otlp(options: OtlpOptions): OtlpExporter {
|
|
27
|
+
const url = options.url ?? 'http://localhost:4318/v1/traces';
|
|
28
|
+
const traces = Endpoint.at(url, options.onError);
|
|
29
|
+
const metrics = Endpoint.at(
|
|
30
|
+
options.metricsUrl ?? url.replace(/\/v1\/traces$/, '/v1/metrics'),
|
|
31
|
+
options.onError,
|
|
32
|
+
);
|
|
33
|
+
let buffer: FinishedSpan[] = [];
|
|
34
|
+
|
|
35
|
+
async function flush(): Promise<void> {
|
|
36
|
+
const batch = buffer;
|
|
37
|
+
buffer = [];
|
|
38
|
+
// Metrics go on every beat even when no span finished: a gauge that stops being
|
|
39
|
+
// published reads as "gone", not as "idle".
|
|
40
|
+
await Promise.all([
|
|
41
|
+
batch.length > 0 ? traces.post(payload(options.service, batch)) : Promise.resolve(),
|
|
42
|
+
options.metrics ? metrics.post(metricsPayload(options.service, options.metrics.snapshot())) : Promise.resolve(),
|
|
43
|
+
]);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const beat = Beat.every(options.flushMs, flush);
|
|
47
|
+
|
|
48
|
+
return {
|
|
49
|
+
sink: (span) => { buffer.push(span); },
|
|
50
|
+
flush,
|
|
51
|
+
stop: () => beat.stop(),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/** One batch, as OTLP/JSON spells it — trace and span ids stay hex, times are nanos. */
|
|
56
|
+
function payload(service: string, spans: FinishedSpan[]) {
|
|
57
|
+
return {
|
|
58
|
+
resourceSpans: [
|
|
59
|
+
{
|
|
60
|
+
resource: { attributes: [{ key: 'service.name', value: { stringValue: service } }] },
|
|
61
|
+
scopeSpans: [
|
|
62
|
+
{
|
|
63
|
+
scope: { name: '@fougere/observability' },
|
|
64
|
+
spans: spans.map((span) => ({
|
|
65
|
+
traceId: span.traceId,
|
|
66
|
+
spanId: span.spanId,
|
|
67
|
+
...(span.parentId ? { parentSpanId: span.parentId } : {}),
|
|
68
|
+
name: `${span.entity}.${span.operation}`,
|
|
69
|
+
// 1 INTERNAL, 3 CLIENT: a statement left this process for an engine, and a
|
|
70
|
+
// viewer draws the two differently. `selfMs` is NOT sent — a collector
|
|
71
|
+
// derives it from the tree it already holds.
|
|
72
|
+
kind: span.kind === 'statement' ? CLIENT : INTERNAL,
|
|
73
|
+
startTimeUnixNano: nanos(span.startedAt),
|
|
74
|
+
endTimeUnixNano: nanos(span.startedAt + span.ms),
|
|
75
|
+
status: span.error ? { code: ERROR, message: span.error } : { code: OK },
|
|
76
|
+
})),
|
|
77
|
+
},
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
],
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/** Epoch milliseconds → the int64 nanoseconds OTLP wants, as a string. */
|
|
85
|
+
function nanos(ms: number): string {
|
|
86
|
+
return `${Math.round(ms * 1e6)}`;
|
|
87
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type Metrics } from '../metrics/Metrics.js';
|
|
2
|
+
|
|
3
|
+
export interface OtlpOptions {
|
|
4
|
+
/** Which service these spans belong to — what a dashboard groups by. */
|
|
5
|
+
service: string;
|
|
6
|
+
/** Collector endpoint. Default: the OTLP/HTTP convention on localhost. */
|
|
7
|
+
url?: string;
|
|
8
|
+
/** How often a full batch leaves. Default: every second. */
|
|
9
|
+
flushMs?: number;
|
|
10
|
+
/** Told when a batch could not be sent. Default: silence — a trace must never break a call. */
|
|
11
|
+
onError?: (err: unknown) => void;
|
|
12
|
+
/** Publish these metrics on the same beat. */
|
|
13
|
+
metrics?: Metrics;
|
|
14
|
+
/** Where metrics go when it is not the same collector as traces. */
|
|
15
|
+
metricsUrl?: string;
|
|
16
|
+
}
|
package/dist/logs.d.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { LogRecord } from '@fougere/core';
|
|
2
|
-
/** A record, plus what it could only be told at the moment it was written. */
|
|
3
|
-
export interface CapturedLog extends LogRecord {
|
|
4
|
-
traceId: string | undefined;
|
|
5
|
-
spanId: string | undefined;
|
|
6
|
-
}
|
|
7
|
-
export interface LogExporter {
|
|
8
|
-
/** Hand to `onLog`. */
|
|
9
|
-
sink: (record: LogRecord) => void;
|
|
10
|
-
/** Send what is buffered now. */
|
|
11
|
-
flush(): Promise<void>;
|
|
12
|
-
/** Stop the timer and send what is left. */
|
|
13
|
-
stop(): Promise<void>;
|
|
14
|
-
}
|
|
15
|
-
export interface LogsOptions {
|
|
16
|
-
/** Which service these lines belong to. */
|
|
17
|
-
service: string;
|
|
18
|
-
/** Collector endpoint. Default: the OTLP/HTTP convention on localhost. */
|
|
19
|
-
url?: string;
|
|
20
|
-
/** How often a batch leaves. Default: every second. */
|
|
21
|
-
flushMs?: number;
|
|
22
|
-
/** Told when a batch could not be sent. Default: silence. */
|
|
23
|
-
onError?: (err: unknown) => void;
|
|
24
|
-
/** Drop anything below this level before it leaves the process. */
|
|
25
|
-
minimum?: 'debug' | 'info' | 'warn' | 'error';
|
|
26
|
-
}
|
|
27
|
-
export declare function logs(options: LogsOptions): LogExporter;
|
|
28
|
-
//# sourceMappingURL=logs.d.ts.map
|
package/dist/logs.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../src/logs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAU/C,8EAA8E;AAC9E,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,uBAAuB;IACvB,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IAClC,iCAAiC;IACjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,4CAA4C;IAC5C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,mEAAmE;IACnE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC/C;AAED,wBAAgB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CA2BtD"}
|
package/dist/logs.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../src/logs.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,gFAAgF;AAChF,MAAM,QAAQ,GAAqD;IACjE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;IACnC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;IACjC,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IAClC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;CACrC,CAAC;AA8BF,MAAM,UAAU,IAAI,CAAC,OAAoB;IACvC,MAAM,SAAS,GAAG,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,+BAA+B,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/F,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,MAAM,GAAkB,EAAE,CAAC;IAE/B,sFAAsF;IACtF,wCAAwC;IACxC,KAAK,UAAU,KAAK;QAClB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAChC,MAAM,KAAK,GAAG,MAAM,CAAC;QACrB,MAAM,GAAG,EAAE,CAAC;QACZ,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAEhD,OAAO;QACL,mFAAmF;QACnF,0EAA0E;QAC1E,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,KAAK;gBAAE,OAAO;YAClD,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,KAAK;QACL,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE;KACxB,CAAC;AACJ,CAAC;AAED,2CAA2C;AAC3C,SAAS,OAAO,CAAC,OAAe,EAAE,OAAsB;IACtD,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAEtF,OAAO;QACL,YAAY,EAAE;YACZ;gBACE,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,EAAE;gBACzD,SAAS,EAAE;oBACT;wBACE,KAAK,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE;wBACzC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;4BACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BACxC,OAAO;gCACL,YAAY,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;gCAClC,oBAAoB,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;gCAC1C,cAAc,EAAE,QAAQ,CAAC,MAAM;gCAC/B,YAAY,EAAE,QAAQ,CAAC,IAAI;gCAC3B,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE;gCACrC,UAAU,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gCAC9C,qEAAqE;gCACrE,+DAA+D;gCAC/D,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gCACtD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;6BACpD,CAAC;wBACJ,CAAC,CAAC;qBACH;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,MAAM,CAAC,MAAmB;IACjC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC;IACpD,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,YAAY,KAAK;QAAE,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IACrE,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
|
package/dist/metrics.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,OAAO,EAAsB,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,KAAK,cAAc,EAAuB,MAAM,eAAe,CAAC;AAElH,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAkC,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAiB3E,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,mFAAmF;IACnF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2FAA2F;IAC3F,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,mFAAmF;IACnF,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,OAAO;IACtB,kEAAkE;IAClE,IAAI,EAAE,QAAQ,CAAC;IACf,2BAA2B;IAC3B,QAAQ,IAAI,eAAe,CAAC;CAC7B;AAGD,MAAM,WAAW,eAAe;IAC9B,mFAAmF;IACnF,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,gFAAgF;IAChF,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,uFAAuF;IACvF,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,GAAE,SAAS,MAAM,EAAW,GAAG,OAAO,CA2D9E;AA0CD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAM/D;AAED,6FAA6F;AAC7F,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe;;;YAgBrD,UAAU;;;oBAbkC,WAAW;;;;;;gBAgBtD,IAAI;;YACb,4BAA4B;;;;EA8HvC"}
|
package/dist/metrics.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"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"}
|
package/dist/otlp.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"otlp.d.ts","sourceRoot":"","sources":["../src/otlp.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,QAAQ,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+FAA+F;IAC/F,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,wBAAwB;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,4EAA4E;IAC5E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,4CAA4C;IAC5C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAUD,wBAAgB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,CA2BvD"}
|
package/dist/otlp.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"otlp.js","sourceRoot":"","sources":["../src/otlp.ts"],"names":[],"mappings":"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"}
|