apitally 0.25.0 → 0.25.2
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/adonisjs/configure.cjs +1 -1
- package/dist/adonisjs/index.cjs +1 -4
- package/dist/adonisjs/index.cjs.map +1 -1
- package/dist/adonisjs/index.d.cts +2 -2
- package/dist/adonisjs/index.d.ts +2 -2
- package/dist/adonisjs/index.js +0 -2
- package/dist/adonisjs/index.js.map +1 -1
- package/dist/adonisjs/middleware.cjs +3 -3
- package/dist/adonisjs/provider.cjs +3 -3
- package/dist/common/client.cjs +11 -11
- package/dist/common/client.cjs.map +1 -1
- package/dist/common/client.js +1 -1
- package/dist/common/client.js.map +1 -1
- package/dist/common/requestLogger.cjs +3 -3
- package/dist/common/requestLogger.d.cts +0 -2
- package/dist/common/requestLogger.d.ts +0 -2
- package/dist/common/serverErrorCounter.cjs +1 -1
- package/dist/common/spanCollector.cjs +21 -39
- package/dist/common/spanCollector.cjs.map +1 -1
- package/dist/common/spanCollector.d.cts +1 -6
- package/dist/common/spanCollector.d.ts +1 -6
- package/dist/common/spanCollector.js +20 -38
- package/dist/common/spanCollector.js.map +1 -1
- package/dist/elysia/index.cjs +1 -4
- package/dist/elysia/index.cjs.map +1 -1
- package/dist/elysia/index.d.cts +2 -2
- package/dist/elysia/index.d.ts +2 -2
- package/dist/elysia/index.js +0 -2
- package/dist/elysia/index.js.map +1 -1
- package/dist/elysia/plugin.cjs +7 -7
- package/dist/elysia/plugin.d.cts +2 -2
- package/dist/elysia/plugin.d.ts +2 -2
- package/dist/elysia/utils.cjs +1 -1
- package/dist/express/index.cjs +1 -4
- package/dist/express/index.cjs.map +1 -1
- package/dist/express/index.d.cts +2 -2
- package/dist/express/index.d.ts +2 -2
- package/dist/express/index.js +0 -2
- package/dist/express/index.js.map +1 -1
- package/dist/express/middleware.cjs +7 -7
- package/dist/express/middleware.d.cts +2 -2
- package/dist/express/middleware.d.ts +2 -2
- package/dist/fastify/index.cjs +1 -4
- package/dist/fastify/index.cjs.map +1 -1
- package/dist/fastify/index.d.cts +2 -2
- package/dist/fastify/index.d.ts +2 -2
- package/dist/fastify/index.js +0 -2
- package/dist/fastify/index.js.map +1 -1
- package/dist/fastify/plugin.cjs +6 -6
- package/dist/fastify/plugin.d.cts +2 -2
- package/dist/fastify/plugin.d.ts +2 -2
- package/dist/h3/index.cjs +1 -4
- package/dist/h3/index.cjs.map +1 -1
- package/dist/h3/index.d.cts +2 -2
- package/dist/h3/index.d.ts +2 -2
- package/dist/h3/index.js +0 -2
- package/dist/h3/index.js.map +1 -1
- package/dist/h3/plugin.cjs +7 -7
- package/dist/h3/plugin.d.cts +2 -2
- package/dist/h3/plugin.d.ts +2 -2
- package/dist/h3/utils.cjs +1 -1
- package/dist/hapi/index.cjs +1 -4
- package/dist/hapi/index.cjs.map +1 -1
- package/dist/hapi/index.d.cts +2 -2
- package/dist/hapi/index.d.ts +2 -2
- package/dist/hapi/index.js +0 -2
- package/dist/hapi/index.js.map +1 -1
- package/dist/hapi/plugin.cjs +5 -5
- package/dist/hapi/plugin.d.cts +2 -2
- package/dist/hapi/plugin.d.ts +2 -2
- package/dist/hapi/utils.cjs +1 -1
- package/dist/hono/index.cjs +1 -4
- package/dist/hono/index.cjs.map +1 -1
- package/dist/hono/index.d.cts +2 -2
- package/dist/hono/index.d.ts +2 -2
- package/dist/hono/index.js +0 -2
- package/dist/hono/index.js.map +1 -1
- package/dist/hono/middleware.cjs +7 -7
- package/dist/hono/middleware.d.cts +2 -2
- package/dist/hono/middleware.d.ts +2 -2
- package/dist/hono/utils.cjs +1 -1
- package/dist/hono/utils.d.cts +1 -1
- package/dist/hono/utils.d.ts +1 -1
- package/dist/koa/index.cjs +1 -4
- package/dist/koa/index.cjs.map +1 -1
- package/dist/koa/index.d.cts +2 -2
- package/dist/koa/index.d.ts +2 -2
- package/dist/koa/index.js +0 -2
- package/dist/koa/index.js.map +1 -1
- package/dist/koa/middleware.cjs +5 -5
- package/dist/koa/middleware.d.cts +2 -2
- package/dist/koa/middleware.d.ts +2 -2
- package/dist/loggers/console.d.cts +0 -2
- package/dist/loggers/console.d.ts +0 -2
- package/dist/loggers/hapi.d.cts +0 -2
- package/dist/loggers/hapi.d.ts +0 -2
- package/dist/loggers/index.cjs +5 -5
- package/dist/loggers/index.d.cts +0 -2
- package/dist/loggers/index.d.ts +0 -2
- package/dist/loggers/nestjs.cjs +1 -1
- package/dist/loggers/nestjs.d.cts +0 -2
- package/dist/loggers/nestjs.d.ts +0 -2
- package/dist/loggers/pino.cjs +1 -1
- package/dist/loggers/pino.d.cts +0 -2
- package/dist/loggers/pino.d.ts +0 -2
- package/dist/loggers/winston.cjs +1 -1
- package/dist/loggers/winston.d.cts +0 -2
- package/dist/loggers/winston.d.ts +0 -2
- package/dist/nestjs/index.cjs +0 -3
- package/dist/nestjs/index.cjs.map +1 -1
- package/dist/nestjs/index.d.cts +3 -3
- package/dist/nestjs/index.d.ts +3 -3
- package/dist/nestjs/index.js +0 -2
- package/dist/nestjs/index.js.map +1 -1
- package/dist/otel/index.cjs +29 -0
- package/dist/otel/index.cjs.map +1 -0
- package/dist/otel/index.d.cts +2 -0
- package/dist/otel/index.d.ts +2 -0
- package/dist/otel/index.js +5 -0
- package/dist/otel/index.js.map +1 -0
- package/package.json +16 -2
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { SpanProcessor, Span, ReadableSpan } from '@opentelemetry/sdk-trace-base';
|
|
2
|
-
import { Logger } from './logging.js';
|
|
3
|
-
import 'winston';
|
|
4
2
|
|
|
5
3
|
type SpanData = {
|
|
6
4
|
spanId: string;
|
|
@@ -25,11 +23,8 @@ declare class SpanCollector implements SpanProcessor {
|
|
|
25
23
|
private collectedSpans;
|
|
26
24
|
private traceStartTimes;
|
|
27
25
|
private maintainIntervalId?;
|
|
28
|
-
private contextManager?;
|
|
29
26
|
private tracer?;
|
|
30
|
-
|
|
31
|
-
constructor(enabled: boolean, logger?: Logger);
|
|
32
|
-
private setupTracerProvider;
|
|
27
|
+
constructor(enabled: boolean);
|
|
33
28
|
startSpan(): SpanHandle;
|
|
34
29
|
private getAndClearSpans;
|
|
35
30
|
onStart(span: Span): void;
|
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
var _a;
|
|
4
3
|
import { context, SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
|
|
5
|
-
import { AsyncLocalStorageContextManager as _AsyncLocalStorageContextManager } from "@opentelemetry/context-async-hooks";
|
|
6
|
-
import { BasicTracerProvider } from "@opentelemetry/sdk-trace-base";
|
|
7
4
|
import { ApitallyClient } from "./client.js";
|
|
8
|
-
let AsyncLocalStorageContextManager = (_a = class extends _AsyncLocalStorageContextManager {
|
|
9
|
-
enterWith(ctx) {
|
|
10
|
-
this._asyncLocalStorage.enterWith(ctx);
|
|
11
|
-
}
|
|
12
|
-
}, __name(_a, "AsyncLocalStorageContextManager"), _a);
|
|
13
5
|
const TRACE_MAX_AGE = 5 * 60 * 1e3;
|
|
14
6
|
const _SpanCollector = class _SpanCollector {
|
|
15
7
|
enabled;
|
|
@@ -17,30 +9,16 @@ const _SpanCollector = class _SpanCollector {
|
|
|
17
9
|
collectedSpans = /* @__PURE__ */ new Map();
|
|
18
10
|
traceStartTimes = /* @__PURE__ */ new Map();
|
|
19
11
|
maintainIntervalId;
|
|
20
|
-
contextManager;
|
|
21
12
|
tracer;
|
|
22
|
-
|
|
23
|
-
constructor(enabled, logger) {
|
|
13
|
+
constructor(enabled) {
|
|
24
14
|
this.enabled = enabled;
|
|
25
|
-
this.logger = logger;
|
|
26
15
|
if (enabled) {
|
|
27
|
-
this.
|
|
16
|
+
this.tracer = trace.getTracer("apitally");
|
|
28
17
|
this.maintainIntervalId = setInterval(() => {
|
|
29
18
|
this.maintain();
|
|
30
19
|
}, 6e4);
|
|
31
20
|
}
|
|
32
21
|
}
|
|
33
|
-
setupTracerProvider() {
|
|
34
|
-
this.contextManager = new AsyncLocalStorageContextManager();
|
|
35
|
-
context.setGlobalContextManager(this.contextManager);
|
|
36
|
-
const provider = new BasicTracerProvider({
|
|
37
|
-
spanProcessors: [
|
|
38
|
-
this
|
|
39
|
-
]
|
|
40
|
-
});
|
|
41
|
-
trace.setGlobalTracerProvider(provider);
|
|
42
|
-
this.tracer = trace.getTracer("apitally");
|
|
43
|
-
}
|
|
44
22
|
startSpan() {
|
|
45
23
|
if (!this.enabled || !this.tracer) {
|
|
46
24
|
return {
|
|
@@ -71,8 +49,12 @@ const _SpanCollector = class _SpanCollector {
|
|
|
71
49
|
return context.with(ctx, fn);
|
|
72
50
|
}, "runInContext"),
|
|
73
51
|
enterContext: /* @__PURE__ */ __name(() => {
|
|
74
|
-
var
|
|
75
|
-
|
|
52
|
+
var _a, _b, _c;
|
|
53
|
+
try {
|
|
54
|
+
const contextManager = (_b = (_a = context)._getContextManager) == null ? void 0 : _b.call(_a);
|
|
55
|
+
(_c = contextManager == null ? void 0 : contextManager._asyncLocalStorage) == null ? void 0 : _c.enterWith(ctx);
|
|
56
|
+
} catch {
|
|
57
|
+
}
|
|
76
58
|
}, "enterContext"),
|
|
77
59
|
end: /* @__PURE__ */ __name(() => {
|
|
78
60
|
if (ended) return;
|
|
@@ -90,14 +72,14 @@ const _SpanCollector = class _SpanCollector {
|
|
|
90
72
|
return spans;
|
|
91
73
|
}
|
|
92
74
|
onStart(span) {
|
|
93
|
-
var
|
|
75
|
+
var _a;
|
|
94
76
|
if (!this.enabled) return;
|
|
95
77
|
const ctx = span.spanContext();
|
|
96
78
|
const traceId = ctx.traceId;
|
|
97
79
|
const spanId = ctx.spanId;
|
|
98
80
|
const includedSpans = this.includedSpanIds.get(traceId);
|
|
99
81
|
if (!includedSpans) return;
|
|
100
|
-
const parentSpanId = (
|
|
82
|
+
const parentSpanId = (_a = span.parentSpanContext) == null ? void 0 : _a.spanId;
|
|
101
83
|
if (parentSpanId && includedSpans.has(parentSpanId)) {
|
|
102
84
|
includedSpans.add(spanId);
|
|
103
85
|
}
|
|
@@ -115,11 +97,11 @@ const _SpanCollector = class _SpanCollector {
|
|
|
115
97
|
}
|
|
116
98
|
}
|
|
117
99
|
serializeSpan(span) {
|
|
118
|
-
var
|
|
100
|
+
var _a;
|
|
119
101
|
const ctx = span.spanContext();
|
|
120
102
|
const data = {
|
|
121
103
|
spanId: ctx.spanId,
|
|
122
|
-
parentSpanId: ((
|
|
104
|
+
parentSpanId: ((_a = span.parentSpanContext) == null ? void 0 : _a.spanId) || null,
|
|
123
105
|
name: span.name,
|
|
124
106
|
kind: SpanKind[span.kind] ?? "INTERNAL",
|
|
125
107
|
// HrTime is [seconds, nanoseconds], convert to nanoseconds as string to avoid precision loss
|
|
@@ -169,20 +151,20 @@ const _ApitallySpanProcessor = class _ApitallySpanProcessor {
|
|
|
169
151
|
}
|
|
170
152
|
}
|
|
171
153
|
onStart(span) {
|
|
172
|
-
var
|
|
173
|
-
(
|
|
154
|
+
var _a;
|
|
155
|
+
(_a = this.getCollector()) == null ? void 0 : _a.onStart(span);
|
|
174
156
|
}
|
|
175
157
|
onEnd(span) {
|
|
176
|
-
var
|
|
177
|
-
(
|
|
158
|
+
var _a;
|
|
159
|
+
(_a = this.getCollector()) == null ? void 0 : _a.onEnd(span);
|
|
178
160
|
}
|
|
179
161
|
async shutdown() {
|
|
180
|
-
var
|
|
181
|
-
(
|
|
162
|
+
var _a;
|
|
163
|
+
(_a = this.getCollector()) == null ? void 0 : _a.shutdown();
|
|
182
164
|
}
|
|
183
165
|
async forceFlush() {
|
|
184
|
-
var
|
|
185
|
-
(
|
|
166
|
+
var _a;
|
|
167
|
+
(_a = this.getCollector()) == null ? void 0 : _a.forceFlush();
|
|
186
168
|
}
|
|
187
169
|
};
|
|
188
170
|
__name(_ApitallySpanProcessor, "ApitallySpanProcessor");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/common/spanCollector.ts"],"sourcesContent":["import {\n context,\n type Context,\n SpanKind,\n SpanStatusCode,\n trace,\n type Tracer,\n} from \"@opentelemetry/api\";\nimport { AsyncLocalStorageContextManager as _AsyncLocalStorageContextManager } from \"@opentelemetry/context-async-hooks\";\nimport {\n BasicTracerProvider,\n type ReadableSpan,\n type Span,\n SpanProcessor,\n} from \"@opentelemetry/sdk-trace-base\";\n\nimport { ApitallyClient } from \"./client.js\";\nimport { Logger } from \"./logging.js\";\n\n/**\n * Extends the official AsyncLocalStorageContextManager to add enterWith support\n * for frameworks that need to persist context across hook boundaries (e.g. Elysia).\n */\nclass AsyncLocalStorageContextManager extends _AsyncLocalStorageContextManager {\n enterWith(ctx: Context): void {\n // @ts-expect-error: _asyncLocalStorage is private\n this._asyncLocalStorage.enterWith(ctx);\n }\n}\n\nexport type SpanData = {\n spanId: string;\n parentSpanId: string | null;\n name: string;\n kind: string;\n startTime: string; // bigint as string\n endTime: string; // bigint as string\n status?: string;\n attributes?: Record<string, unknown>;\n};\n\nexport type SpanHandle = {\n traceId?: string;\n setName: (name: string) => void;\n runInContext: <T>(fn: () => T) => T;\n enterContext: () => void;\n end: () => SpanData[] | undefined;\n};\n\nconst TRACE_MAX_AGE = 5 * 60 * 1000; // 5 minutes\n\nexport default class SpanCollector implements SpanProcessor {\n public enabled: boolean;\n private includedSpanIds: Map<string, Set<string>> = new Map();\n private collectedSpans: Map<string, SpanData[]> = new Map();\n private traceStartTimes: Map<string, number> = new Map();\n private maintainIntervalId?: NodeJS.Timeout;\n private contextManager?: AsyncLocalStorageContextManager;\n private tracer?: Tracer;\n private logger?: Logger;\n\n constructor(enabled: boolean, logger?: Logger) {\n this.enabled = enabled;\n this.logger = logger;\n\n if (enabled) {\n this.setupTracerProvider();\n this.maintainIntervalId = setInterval(() => {\n this.maintain();\n }, 60_000);\n }\n }\n\n private setupTracerProvider() {\n this.contextManager = new AsyncLocalStorageContextManager();\n context.setGlobalContextManager(this.contextManager);\n\n const provider = new BasicTracerProvider({\n spanProcessors: [this],\n });\n trace.setGlobalTracerProvider(provider);\n this.tracer = trace.getTracer(\"apitally\");\n }\n\n startSpan(): SpanHandle {\n if (!this.enabled || !this.tracer) {\n return {\n setName: () => void 0,\n runInContext: <T>(fn: () => T): T => {\n return fn();\n },\n enterContext: () => void 0,\n end: () => undefined,\n };\n }\n\n const span = this.tracer.startSpan(\"root\");\n const spanCtx = span.spanContext();\n const traceId = spanCtx.traceId;\n const ctx = trace.setSpan(context.active(), span);\n let ended = false;\n\n this.includedSpanIds.set(traceId, new Set([spanCtx.spanId]));\n this.collectedSpans.set(traceId, []);\n this.traceStartTimes.set(traceId, Date.now());\n\n return {\n traceId,\n setName: (name: string) => {\n span.updateName(name);\n },\n runInContext: <T>(fn: () => T): T => {\n return context.with(ctx, fn);\n },\n enterContext: () => {\n this.contextManager?.enterWith(ctx);\n },\n end: () => {\n if (ended) return;\n span.end();\n ended = true;\n return this.getAndClearSpans(traceId);\n },\n };\n }\n\n private getAndClearSpans(traceId: string): SpanData[] {\n const spans = this.collectedSpans.get(traceId) ?? [];\n this.collectedSpans.delete(traceId);\n this.includedSpanIds.delete(traceId);\n this.traceStartTimes.delete(traceId);\n return spans;\n }\n\n onStart(span: Span): void {\n if (!this.enabled) return;\n\n const ctx = span.spanContext();\n const traceId = ctx.traceId;\n const spanId = ctx.spanId;\n\n const includedSpans = this.includedSpanIds.get(traceId);\n if (!includedSpans) return;\n\n const parentSpanId = span.parentSpanContext?.spanId;\n if (parentSpanId && includedSpans.has(parentSpanId)) {\n includedSpans.add(spanId);\n }\n }\n\n onEnd(span: ReadableSpan): void {\n if (!this.enabled) return;\n\n const ctx = span.spanContext();\n const traceId = ctx.traceId;\n const spanId = ctx.spanId;\n\n const includedSpans = this.includedSpanIds.get(traceId);\n if (!includedSpans || !includedSpans.has(spanId)) return;\n\n const spans = this.collectedSpans.get(traceId);\n if (spans) {\n spans.push(this.serializeSpan(span));\n }\n }\n\n private serializeSpan(span: ReadableSpan): SpanData {\n const ctx = span.spanContext();\n\n const data: SpanData = {\n spanId: ctx.spanId,\n parentSpanId: span.parentSpanContext?.spanId || null,\n name: span.name,\n kind: SpanKind[span.kind] ?? \"INTERNAL\",\n // HrTime is [seconds, nanoseconds], convert to nanoseconds as string to avoid precision loss\n startTime: (\n BigInt(span.startTime[0]) * 1_000_000_000n +\n BigInt(span.startTime[1])\n ).toString(),\n endTime: (\n BigInt(span.endTime[0]) * 1_000_000_000n +\n BigInt(span.endTime[1])\n ).toString(),\n };\n\n if (span.status.code !== SpanStatusCode.UNSET) {\n data.status = SpanStatusCode[span.status.code];\n }\n\n if (span.attributes && Object.keys(span.attributes).length > 0) {\n data.attributes = { ...span.attributes };\n }\n\n return data;\n }\n\n private maintain() {\n const now = Date.now();\n for (const [traceId, startTime] of this.traceStartTimes) {\n if (now - startTime > TRACE_MAX_AGE) {\n this.collectedSpans.delete(traceId);\n this.includedSpanIds.delete(traceId);\n this.traceStartTimes.delete(traceId);\n }\n }\n }\n\n async shutdown(): Promise<void> {\n this.enabled = false;\n this.includedSpanIds.clear();\n this.collectedSpans.clear();\n this.traceStartTimes.clear();\n if (this.maintainIntervalId) {\n clearInterval(this.maintainIntervalId);\n }\n }\n\n async forceFlush(): Promise<void> {\n // Nothing to flush since we collect spans synchronously\n }\n}\n\nexport class ApitallySpanProcessor implements SpanProcessor {\n private getCollector(): SpanCollector | undefined {\n try {\n return ApitallyClient.getInstance().spanCollector;\n } catch {\n return undefined;\n }\n }\n\n onStart(span: Span) {\n this.getCollector()?.onStart(span);\n }\n\n onEnd(span: ReadableSpan) {\n this.getCollector()?.onEnd(span);\n }\n\n async shutdown() {\n this.getCollector()?.shutdown();\n }\n\n async forceFlush() {\n this.getCollector()?.forceFlush();\n }\n}\n"],"mappings":";;AAAA;SACEA,SAEAC,UACAC,gBACAC,aAEK;AACP,SAASC,mCAAmCC,wCAAwC;AACpF,SACEC,2BAIK;AAEP,SAASC,sBAAsB;AAO/B,IAAMH,mCAAN,mBAA8CC,iCAAAA;EAC5CG,UAAUC,KAAoB;AAE5B,SAAKC,mBAAmBF,UAAUC,GAAAA;EACpC;AACF,GAL8CJ,+CAA9C;AA0BA,MAAMM,gBAAgB,IAAI,KAAK;AAE/B,MAAqBC,iBAArB,MAAqBA,eAAAA;EACZC;EACCC,kBAA4C,oBAAIC,IAAAA;EAChDC,iBAA0C,oBAAID,IAAAA;EAC9CE,kBAAuC,oBAAIF,IAAAA;EAC3CG;EACAC;EACAC;EACAC;EAER,YAAYR,SAAkBQ,QAAiB;AAC7C,SAAKR,UAAUA;AACf,SAAKQ,SAASA;AAEd,QAAIR,SAAS;AACX,WAAKS,oBAAmB;AACxB,WAAKJ,qBAAqBK,YAAY,MAAA;AACpC,aAAKC,SAAQ;MACf,GAAG,GAAA;IACL;EACF;EAEQF,sBAAsB;AAC5B,SAAKH,iBAAiB,IAAIf,gCAAAA;AAC1BJ,YAAQyB,wBAAwB,KAAKN,cAAc;AAEnD,UAAMO,WAAW,IAAIpB,oBAAoB;MACvCqB,gBAAgB;QAAC;;IACnB,CAAA;AACAxB,UAAMyB,wBAAwBF,QAAAA;AAC9B,SAAKN,SAASjB,MAAM0B,UAAU,UAAA;EAChC;EAEAC,YAAwB;AACtB,QAAI,CAAC,KAAKjB,WAAW,CAAC,KAAKO,QAAQ;AACjC,aAAO;QACLW,SAAS,6BAAM,QAAN;QACTC,cAAc,wBAAIC,OAAAA;AAChB,iBAAOA,GAAAA;QACT,GAFc;QAGdC,cAAc,6BAAM,QAAN;QACdC,KAAK,6BAAMC,QAAN;MACP;IACF;AAEA,UAAMC,OAAO,KAAKjB,OAAOU,UAAU,MAAA;AACnC,UAAMQ,UAAUD,KAAKE,YAAW;AAChC,UAAMC,UAAUF,QAAQE;AACxB,UAAM/B,MAAMN,MAAMsC,QAAQzC,QAAQ0C,OAAM,GAAIL,IAAAA;AAC5C,QAAIM,QAAQ;AAEZ,SAAK7B,gBAAgB8B,IAAIJ,SAAS,oBAAIK,IAAI;MAACP,QAAQQ;KAAO,CAAA;AAC1D,SAAK9B,eAAe4B,IAAIJ,SAAS,CAAA,CAAE;AACnC,SAAKvB,gBAAgB2B,IAAIJ,SAASO,KAAKC,IAAG,CAAA;AAE1C,WAAO;MACLR;MACAT,SAAS,wBAACkB,SAAAA;AACRZ,aAAKa,WAAWD,IAAAA;MAClB,GAFS;MAGTjB,cAAc,wBAAIC,OAAAA;AAChB,eAAOjC,QAAQmD,KAAK1C,KAAKwB,EAAAA;MAC3B,GAFc;MAGdC,cAAc,6BAAA;AAlHpB,YAAAkB;AAmHQ,SAAAA,MAAA,KAAKjC,mBAAL,gBAAAiC,IAAqB5C,UAAUC;MACjC,GAFc;MAGd0B,KAAK,6BAAA;AACH,YAAIQ,MAAO;AACXN,aAAKF,IAAG;AACRQ,gBAAQ;AACR,eAAO,KAAKU,iBAAiBb,OAAAA;MAC/B,GALK;IAMP;EACF;EAEQa,iBAAiBb,SAA6B;AACpD,UAAMc,QAAQ,KAAKtC,eAAeuC,IAAIf,OAAAA,KAAY,CAAA;AAClD,SAAKxB,eAAewC,OAAOhB,OAAAA;AAC3B,SAAK1B,gBAAgB0C,OAAOhB,OAAAA;AAC5B,SAAKvB,gBAAgBuC,OAAOhB,OAAAA;AAC5B,WAAOc;EACT;EAEAG,QAAQpB,MAAkB;AAtI5B,QAAAe;AAuII,QAAI,CAAC,KAAKvC,QAAS;AAEnB,UAAMJ,MAAM4B,KAAKE,YAAW;AAC5B,UAAMC,UAAU/B,IAAI+B;AACpB,UAAMM,SAASrC,IAAIqC;AAEnB,UAAMY,gBAAgB,KAAK5C,gBAAgByC,IAAIf,OAAAA;AAC/C,QAAI,CAACkB,cAAe;AAEpB,UAAMC,gBAAetB,MAAAA,KAAKuB,sBAALvB,gBAAAA,IAAwBS;AAC7C,QAAIa,gBAAgBD,cAAcG,IAAIF,YAAAA,GAAe;AACnDD,oBAAcI,IAAIhB,MAAAA;IACpB;EACF;EAEAiB,MAAM1B,MAA0B;AAC9B,QAAI,CAAC,KAAKxB,QAAS;AAEnB,UAAMJ,MAAM4B,KAAKE,YAAW;AAC5B,UAAMC,UAAU/B,IAAI+B;AACpB,UAAMM,SAASrC,IAAIqC;AAEnB,UAAMY,gBAAgB,KAAK5C,gBAAgByC,IAAIf,OAAAA;AAC/C,QAAI,CAACkB,iBAAiB,CAACA,cAAcG,IAAIf,MAAAA,EAAS;AAElD,UAAMQ,QAAQ,KAAKtC,eAAeuC,IAAIf,OAAAA;AACtC,QAAIc,OAAO;AACTA,YAAMU,KAAK,KAAKC,cAAc5B,IAAAA,CAAAA;IAChC;EACF;EAEQ4B,cAAc5B,MAA8B;AAtKtD,QAAAe;AAuKI,UAAM3C,MAAM4B,KAAKE,YAAW;AAE5B,UAAM2B,OAAiB;MACrBpB,QAAQrC,IAAIqC;MACZa,gBAActB,MAAAA,KAAKuB,sBAALvB,gBAAAA,IAAwBS,WAAU;MAChDG,MAAMZ,KAAKY;MACXkB,MAAMlE,SAASoC,KAAK8B,IAAI,KAAK;;MAE7BC,YACEC,OAAOhC,KAAK+B,UAAU,CAAA,CAAE,IAAI,cAC5BC,OAAOhC,KAAK+B,UAAU,CAAA,CAAE,GACxBE,SAAQ;MACVC,UACEF,OAAOhC,KAAKkC,QAAQ,CAAA,CAAE,IAAI,cAC1BF,OAAOhC,KAAKkC,QAAQ,CAAA,CAAE,GACtBD,SAAQ;IACZ;AAEA,QAAIjC,KAAKmC,OAAOC,SAASvE,eAAewE,OAAO;AAC7CR,WAAKM,SAAStE,eAAemC,KAAKmC,OAAOC,IAAI;IAC/C;AAEA,QAAIpC,KAAKsC,cAAcC,OAAOC,KAAKxC,KAAKsC,UAAU,EAAEG,SAAS,GAAG;AAC9DZ,WAAKS,aAAa;QAAE,GAAGtC,KAAKsC;MAAW;IACzC;AAEA,WAAOT;EACT;EAEQ1C,WAAW;AACjB,UAAMwB,MAAMD,KAAKC,IAAG;AACpB,eAAW,CAACR,SAAS4B,SAAAA,KAAc,KAAKnD,iBAAiB;AACvD,UAAI+B,MAAMoB,YAAYzD,eAAe;AACnC,aAAKK,eAAewC,OAAOhB,OAAAA;AAC3B,aAAK1B,gBAAgB0C,OAAOhB,OAAAA;AAC5B,aAAKvB,gBAAgBuC,OAAOhB,OAAAA;MAC9B;IACF;EACF;EAEA,MAAMuC,WAA0B;AAC9B,SAAKlE,UAAU;AACf,SAAKC,gBAAgBkE,MAAK;AAC1B,SAAKhE,eAAegE,MAAK;AACzB,SAAK/D,gBAAgB+D,MAAK;AAC1B,QAAI,KAAK9D,oBAAoB;AAC3B+D,oBAAc,KAAK/D,kBAAkB;IACvC;EACF;EAEA,MAAMgE,aAA4B;EAElC;AACF;AAzKqBtE;AAArB,IAAqBA,gBAArB;AA2KO,MAAMuE,yBAAN,MAAMA,uBAAAA;EACHC,eAA0C;AAChD,QAAI;AACF,aAAO7E,eAAe8E,YAAW,EAAGC;IACtC,QAAQ;AACN,aAAOlD;IACT;EACF;EAEAqB,QAAQpB,MAAY;AAvOtB,QAAAe;AAwOI,KAAAA,MAAA,KAAKgC,aAAY,MAAjB,gBAAAhC,IAAqBK,QAAQpB;EAC/B;EAEA0B,MAAM1B,MAAoB;AA3O5B,QAAAe;AA4OI,KAAAA,MAAA,KAAKgC,aAAY,MAAjB,gBAAAhC,IAAqBW,MAAM1B;EAC7B;EAEA,MAAM0C,WAAW;AA/OnB,QAAA3B;AAgPI,KAAAA,MAAA,KAAKgC,aAAY,MAAjB,gBAAAhC,IAAqB2B;EACvB;EAEA,MAAMG,aAAa;AAnPrB,QAAA9B;AAoPI,KAAAA,MAAA,KAAKgC,aAAY,MAAjB,gBAAAhC,IAAqB8B;EACvB;AACF;AAxBaC;AAAN,IAAMA,wBAAN;","names":["context","SpanKind","SpanStatusCode","trace","AsyncLocalStorageContextManager","_AsyncLocalStorageContextManager","BasicTracerProvider","ApitallyClient","enterWith","ctx","_asyncLocalStorage","TRACE_MAX_AGE","SpanCollector","enabled","includedSpanIds","Map","collectedSpans","traceStartTimes","maintainIntervalId","contextManager","tracer","logger","setupTracerProvider","setInterval","maintain","setGlobalContextManager","provider","spanProcessors","setGlobalTracerProvider","getTracer","startSpan","setName","runInContext","fn","enterContext","end","undefined","span","spanCtx","spanContext","traceId","setSpan","active","ended","set","Set","spanId","Date","now","name","updateName","with","_a","getAndClearSpans","spans","get","delete","onStart","includedSpans","parentSpanId","parentSpanContext","has","add","onEnd","push","serializeSpan","data","kind","startTime","BigInt","toString","endTime","status","code","UNSET","attributes","Object","keys","length","shutdown","clear","clearInterval","forceFlush","ApitallySpanProcessor","getCollector","getInstance","spanCollector"]}
|
|
1
|
+
{"version":3,"sources":["../../src/common/spanCollector.ts"],"sourcesContent":["import {\n context,\n SpanKind,\n SpanStatusCode,\n trace,\n type Tracer,\n} from \"@opentelemetry/api\";\nimport {\n type ReadableSpan,\n type Span,\n SpanProcessor,\n} from \"@opentelemetry/sdk-trace-base\";\n\nimport { ApitallyClient } from \"./client.js\";\n\nexport type SpanData = {\n spanId: string;\n parentSpanId: string | null;\n name: string;\n kind: string;\n startTime: string; // bigint as string\n endTime: string; // bigint as string\n status?: string;\n attributes?: Record<string, unknown>;\n};\n\nexport type SpanHandle = {\n traceId?: string;\n setName: (name: string) => void;\n runInContext: <T>(fn: () => T) => T;\n enterContext: () => void;\n end: () => SpanData[] | undefined;\n};\n\nconst TRACE_MAX_AGE = 5 * 60 * 1000; // 5 minutes\n\nexport default class SpanCollector implements SpanProcessor {\n public enabled: boolean;\n private includedSpanIds: Map<string, Set<string>> = new Map();\n private collectedSpans: Map<string, SpanData[]> = new Map();\n private traceStartTimes: Map<string, number> = new Map();\n private maintainIntervalId?: NodeJS.Timeout;\n private tracer?: Tracer;\n\n constructor(enabled: boolean) {\n this.enabled = enabled;\n\n if (enabled) {\n this.tracer = trace.getTracer(\"apitally\");\n this.maintainIntervalId = setInterval(() => {\n this.maintain();\n }, 60_000);\n }\n }\n\n startSpan(): SpanHandle {\n if (!this.enabled || !this.tracer) {\n return {\n setName: () => void 0,\n runInContext: <T>(fn: () => T): T => {\n return fn();\n },\n enterContext: () => void 0,\n end: () => undefined,\n };\n }\n\n const span = this.tracer.startSpan(\"root\");\n const spanCtx = span.spanContext();\n const traceId = spanCtx.traceId;\n const ctx = trace.setSpan(context.active(), span);\n let ended = false;\n\n this.includedSpanIds.set(traceId, new Set([spanCtx.spanId]));\n this.collectedSpans.set(traceId, []);\n this.traceStartTimes.set(traceId, Date.now());\n\n return {\n traceId,\n setName: (name: string) => {\n span.updateName(name);\n },\n runInContext: <T>(fn: () => T): T => {\n return context.with(ctx, fn);\n },\n enterContext: () => {\n try {\n // Access the global context manager's internal AsyncLocalStorage\n const contextManager = (context as any)._getContextManager?.();\n contextManager?._asyncLocalStorage?.enterWith(ctx);\n } catch {\n // Ignore errors accessing internals\n }\n },\n end: () => {\n if (ended) return;\n span.end();\n ended = true;\n return this.getAndClearSpans(traceId);\n },\n };\n }\n\n private getAndClearSpans(traceId: string): SpanData[] {\n const spans = this.collectedSpans.get(traceId) ?? [];\n this.collectedSpans.delete(traceId);\n this.includedSpanIds.delete(traceId);\n this.traceStartTimes.delete(traceId);\n return spans;\n }\n\n onStart(span: Span): void {\n if (!this.enabled) return;\n\n const ctx = span.spanContext();\n const traceId = ctx.traceId;\n const spanId = ctx.spanId;\n\n const includedSpans = this.includedSpanIds.get(traceId);\n if (!includedSpans) return;\n\n const parentSpanId = span.parentSpanContext?.spanId;\n if (parentSpanId && includedSpans.has(parentSpanId)) {\n includedSpans.add(spanId);\n }\n }\n\n onEnd(span: ReadableSpan): void {\n if (!this.enabled) return;\n\n const ctx = span.spanContext();\n const traceId = ctx.traceId;\n const spanId = ctx.spanId;\n\n const includedSpans = this.includedSpanIds.get(traceId);\n if (!includedSpans || !includedSpans.has(spanId)) return;\n\n const spans = this.collectedSpans.get(traceId);\n if (spans) {\n spans.push(this.serializeSpan(span));\n }\n }\n\n private serializeSpan(span: ReadableSpan): SpanData {\n const ctx = span.spanContext();\n\n const data: SpanData = {\n spanId: ctx.spanId,\n parentSpanId: span.parentSpanContext?.spanId || null,\n name: span.name,\n kind: SpanKind[span.kind] ?? \"INTERNAL\",\n // HrTime is [seconds, nanoseconds], convert to nanoseconds as string to avoid precision loss\n startTime: (\n BigInt(span.startTime[0]) * 1_000_000_000n +\n BigInt(span.startTime[1])\n ).toString(),\n endTime: (\n BigInt(span.endTime[0]) * 1_000_000_000n +\n BigInt(span.endTime[1])\n ).toString(),\n };\n\n if (span.status.code !== SpanStatusCode.UNSET) {\n data.status = SpanStatusCode[span.status.code];\n }\n\n if (span.attributes && Object.keys(span.attributes).length > 0) {\n data.attributes = { ...span.attributes };\n }\n\n return data;\n }\n\n private maintain() {\n const now = Date.now();\n for (const [traceId, startTime] of this.traceStartTimes) {\n if (now - startTime > TRACE_MAX_AGE) {\n this.collectedSpans.delete(traceId);\n this.includedSpanIds.delete(traceId);\n this.traceStartTimes.delete(traceId);\n }\n }\n }\n\n async shutdown(): Promise<void> {\n this.enabled = false;\n this.includedSpanIds.clear();\n this.collectedSpans.clear();\n this.traceStartTimes.clear();\n if (this.maintainIntervalId) {\n clearInterval(this.maintainIntervalId);\n }\n }\n\n async forceFlush(): Promise<void> {\n // Nothing to flush since we collect spans synchronously\n }\n}\n\nexport class ApitallySpanProcessor implements SpanProcessor {\n private getCollector(): SpanCollector | undefined {\n try {\n return ApitallyClient.getInstance().spanCollector;\n } catch {\n return undefined;\n }\n }\n\n onStart(span: Span) {\n this.getCollector()?.onStart(span);\n }\n\n onEnd(span: ReadableSpan) {\n this.getCollector()?.onEnd(span);\n }\n\n async shutdown() {\n this.getCollector()?.shutdown();\n }\n\n async forceFlush() {\n this.getCollector()?.forceFlush();\n }\n}\n"],"mappings":"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","names":["context","SpanKind","SpanStatusCode","trace","ApitallyClient","TRACE_MAX_AGE","SpanCollector","enabled","includedSpanIds","Map","collectedSpans","traceStartTimes","maintainIntervalId","tracer","getTracer","setInterval","maintain","startSpan","setName","runInContext","fn","enterContext","end","undefined","span","spanCtx","spanContext","traceId","ctx","setSpan","active","ended","set","Set","spanId","Date","now","name","updateName","with","contextManager","_getContextManager","_asyncLocalStorage","enterWith","getAndClearSpans","spans","get","delete","onStart","includedSpans","parentSpanId","parentSpanContext","has","add","onEnd","push","serializeSpan","data","kind","startTime","BigInt","toString","endTime","status","code","UNSET","attributes","Object","keys","length","shutdown","clear","clearInterval","forceFlush","ApitallySpanProcessor","getCollector","getInstance","spanCollector"]}
|
package/dist/elysia/index.cjs
CHANGED
|
@@ -28,15 +28,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
var elysia_exports = {};
|
|
30
30
|
__export(elysia_exports, {
|
|
31
|
-
ApitallySpanProcessor: () => import_spanCollector.ApitallySpanProcessor,
|
|
32
31
|
apitallyPlugin: () => import_plugin.default
|
|
33
32
|
});
|
|
34
33
|
module.exports = __toCommonJS(elysia_exports);
|
|
35
|
-
var
|
|
36
|
-
var import_plugin = __toESM(require("./plugin.js"), 1);
|
|
34
|
+
var import_plugin = __toESM(require('./plugin.cjs'), 1);
|
|
37
35
|
// Annotate the CommonJS export names for ESM import in node:
|
|
38
36
|
0 && (module.exports = {
|
|
39
|
-
ApitallySpanProcessor,
|
|
40
37
|
apitallyPlugin
|
|
41
38
|
});
|
|
42
39
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/elysia/index.ts"],"sourcesContent":["export
|
|
1
|
+
{"version":3,"sources":["../../src/elysia/index.ts"],"sourcesContent":["export type { ApitallyConfig, ApitallyConsumer } from \"../common/types.js\";\nexport { default as apitallyPlugin } from \"./plugin.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;;;;oBAA0C;","names":[]}
|
package/dist/elysia/index.d.cts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export { ApitallySpanProcessor } from '../common/spanCollector.cjs';
|
|
2
1
|
export { ApitallyConfig, ApitallyConsumer } from '../common/types.cjs';
|
|
3
2
|
export { default as apitallyPlugin } from './plugin.cjs';
|
|
4
|
-
import '@opentelemetry/sdk-trace-base';
|
|
5
3
|
import '../common/logging.cjs';
|
|
6
4
|
import 'winston';
|
|
7
5
|
import '../common/requestLogger.cjs';
|
|
8
6
|
import 'node:buffer';
|
|
9
7
|
import 'node:http';
|
|
8
|
+
import '../common/spanCollector.cjs';
|
|
9
|
+
import '@opentelemetry/sdk-trace-base';
|
|
10
10
|
import '../common/tempGzipFile.cjs';
|
|
11
11
|
import 'elysia';
|
|
12
12
|
import '../common/client.cjs';
|
package/dist/elysia/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export { ApitallySpanProcessor } from '../common/spanCollector.js';
|
|
2
1
|
export { ApitallyConfig, ApitallyConsumer } from '../common/types.js';
|
|
3
2
|
export { default as apitallyPlugin } from './plugin.js';
|
|
4
|
-
import '@opentelemetry/sdk-trace-base';
|
|
5
3
|
import '../common/logging.js';
|
|
6
4
|
import 'winston';
|
|
7
5
|
import '../common/requestLogger.js';
|
|
8
6
|
import 'node:buffer';
|
|
9
7
|
import 'node:http';
|
|
8
|
+
import '../common/spanCollector.js';
|
|
9
|
+
import '@opentelemetry/sdk-trace-base';
|
|
10
10
|
import '../common/tempGzipFile.js';
|
|
11
11
|
import 'elysia';
|
|
12
12
|
import '../common/client.js';
|
package/dist/elysia/index.js
CHANGED
package/dist/elysia/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/elysia/index.ts"],"sourcesContent":["export
|
|
1
|
+
{"version":3,"sources":["../../src/elysia/index.ts"],"sourcesContent":["export type { ApitallyConfig, ApitallyConsumer } from \"../common/types.js\";\nexport { default as apitallyPlugin } from \"./plugin.js\";\n"],"mappings":"AACA,SAAoBA,WAAXC,gBAAiC;","names":["apitallyPlugin","default"]}
|
package/dist/elysia/plugin.cjs
CHANGED
|
@@ -25,13 +25,13 @@ module.exports = __toCommonJS(plugin_exports);
|
|
|
25
25
|
var import_elysia = require("elysia");
|
|
26
26
|
var import_node_async_hooks = require("node:async_hooks");
|
|
27
27
|
var import_node_perf_hooks = require("node:perf_hooks");
|
|
28
|
-
var import_client = require(
|
|
29
|
-
var import_consumerRegistry = require(
|
|
30
|
-
var import_headers = require(
|
|
31
|
-
var import_requestLogger = require(
|
|
32
|
-
var import_response = require(
|
|
33
|
-
var import_loggers = require(
|
|
34
|
-
var import_utils = require(
|
|
28
|
+
var import_client = require('../common/client.cjs');
|
|
29
|
+
var import_consumerRegistry = require('../common/consumerRegistry.cjs');
|
|
30
|
+
var import_headers = require('../common/headers.cjs');
|
|
31
|
+
var import_requestLogger = require('../common/requestLogger.cjs');
|
|
32
|
+
var import_response = require('../common/response.cjs');
|
|
33
|
+
var import_loggers = require('../loggers/index.cjs');
|
|
34
|
+
var import_utils = require('./utils.cjs');
|
|
35
35
|
const START_TIME_SYMBOL = /* @__PURE__ */ Symbol("apitally.startTime");
|
|
36
36
|
const REQUEST_BODY_SYMBOL = /* @__PURE__ */ Symbol("apitally.requestBody");
|
|
37
37
|
const RESPONSE_SYMBOL = /* @__PURE__ */ Symbol("apitally.response");
|
package/dist/elysia/plugin.d.cts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { SpanHandle } from '../common/spanCollector.cjs';
|
|
2
1
|
import { ApitallyConfig, ApitallyConsumer } from '../common/types.cjs';
|
|
3
2
|
import { Elysia } from 'elysia';
|
|
4
3
|
import { ApitallyClient } from '../common/client.cjs';
|
|
5
4
|
import { CapturedResponse } from '../common/response.cjs';
|
|
6
|
-
import '
|
|
5
|
+
import { SpanHandle } from '../common/spanCollector.cjs';
|
|
7
6
|
import '../common/logging.cjs';
|
|
8
7
|
import 'winston';
|
|
9
8
|
import '../common/requestLogger.cjs';
|
|
10
9
|
import 'node:buffer';
|
|
11
10
|
import 'node:http';
|
|
12
11
|
import '../common/tempGzipFile.cjs';
|
|
12
|
+
import '@opentelemetry/sdk-trace-base';
|
|
13
13
|
import '../common/consumerRegistry.cjs';
|
|
14
14
|
import '../common/requestCounter.cjs';
|
|
15
15
|
import '../common/serverErrorCounter.cjs';
|
package/dist/elysia/plugin.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { SpanHandle } from '../common/spanCollector.js';
|
|
2
1
|
import { ApitallyConfig, ApitallyConsumer } from '../common/types.js';
|
|
3
2
|
import { Elysia } from 'elysia';
|
|
4
3
|
import { ApitallyClient } from '../common/client.js';
|
|
5
4
|
import { CapturedResponse } from '../common/response.js';
|
|
6
|
-
import '
|
|
5
|
+
import { SpanHandle } from '../common/spanCollector.js';
|
|
7
6
|
import '../common/logging.js';
|
|
8
7
|
import 'winston';
|
|
9
8
|
import '../common/requestLogger.js';
|
|
10
9
|
import 'node:buffer';
|
|
11
10
|
import 'node:http';
|
|
12
11
|
import '../common/tempGzipFile.js';
|
|
12
|
+
import '@opentelemetry/sdk-trace-base';
|
|
13
13
|
import '../common/consumerRegistry.js';
|
|
14
14
|
import '../common/requestCounter.js';
|
|
15
15
|
import '../common/serverErrorCounter.js';
|
package/dist/elysia/utils.cjs
CHANGED
|
@@ -22,7 +22,7 @@ __export(utils_exports, {
|
|
|
22
22
|
getAppInfo: () => getAppInfo
|
|
23
23
|
});
|
|
24
24
|
module.exports = __toCommonJS(utils_exports);
|
|
25
|
-
var import_packageVersions = require(
|
|
25
|
+
var import_packageVersions = require('../common/packageVersions.cjs');
|
|
26
26
|
function getAppInfo(app, appVersion) {
|
|
27
27
|
const versions = [];
|
|
28
28
|
if (process.versions.node) {
|
package/dist/express/index.cjs
CHANGED
|
@@ -18,16 +18,13 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var express_exports = {};
|
|
20
20
|
__export(express_exports, {
|
|
21
|
-
ApitallySpanProcessor: () => import_spanCollector.ApitallySpanProcessor,
|
|
22
21
|
setConsumer: () => import_middleware.setConsumer,
|
|
23
22
|
useApitally: () => import_middleware.useApitally
|
|
24
23
|
});
|
|
25
24
|
module.exports = __toCommonJS(express_exports);
|
|
26
|
-
var
|
|
27
|
-
var import_middleware = require("./middleware.js");
|
|
25
|
+
var import_middleware = require('./middleware.cjs');
|
|
28
26
|
// Annotate the CommonJS export names for ESM import in node:
|
|
29
27
|
0 && (module.exports = {
|
|
30
|
-
ApitallySpanProcessor,
|
|
31
28
|
setConsumer,
|
|
32
29
|
useApitally
|
|
33
30
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/express/index.ts"],"sourcesContent":["export
|
|
1
|
+
{"version":3,"sources":["../../src/express/index.ts"],"sourcesContent":["export type { ApitallyConfig, ApitallyConsumer } from \"../common/types.js\";\nexport { setConsumer, useApitally } from \"./middleware.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;AACA;;;;;;wBAAyC;","names":[]}
|
package/dist/express/index.d.cts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { ApitallySpanProcessor } from '../common/spanCollector.cjs';
|
|
2
1
|
export { ApitallyConfig, ApitallyConsumer } from '../common/types.cjs';
|
|
3
2
|
export { setConsumer, useApitally } from './middleware.cjs';
|
|
4
|
-
import '@opentelemetry/sdk-trace-base';
|
|
5
3
|
import '../common/logging.cjs';
|
|
6
4
|
import 'winston';
|
|
7
5
|
import '../common/requestLogger.cjs';
|
|
8
6
|
import 'node:buffer';
|
|
9
7
|
import 'node:http';
|
|
8
|
+
import '../common/spanCollector.cjs';
|
|
9
|
+
import '@opentelemetry/sdk-trace-base';
|
|
10
10
|
import '../common/tempGzipFile.cjs';
|
|
11
11
|
import 'express';
|
package/dist/express/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { ApitallySpanProcessor } from '../common/spanCollector.js';
|
|
2
1
|
export { ApitallyConfig, ApitallyConsumer } from '../common/types.js';
|
|
3
2
|
export { setConsumer, useApitally } from './middleware.js';
|
|
4
|
-
import '@opentelemetry/sdk-trace-base';
|
|
5
3
|
import '../common/logging.js';
|
|
6
4
|
import 'winston';
|
|
7
5
|
import '../common/requestLogger.js';
|
|
8
6
|
import 'node:buffer';
|
|
9
7
|
import 'node:http';
|
|
8
|
+
import '../common/spanCollector.js';
|
|
9
|
+
import '@opentelemetry/sdk-trace-base';
|
|
10
10
|
import '../common/tempGzipFile.js';
|
|
11
11
|
import 'express';
|
package/dist/express/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/express/index.ts"],"sourcesContent":["export
|
|
1
|
+
{"version":3,"sources":["../../src/express/index.ts"],"sourcesContent":["export type { ApitallyConfig, ApitallyConsumer } from \"../common/types.js\";\nexport { setConsumer, useApitally } from \"./middleware.js\";\n"],"mappings":"AACA,SAASA,aAAaC,mBAAmB;","names":["setConsumer","useApitally"]}
|
|
@@ -25,13 +25,13 @@ __export(middleware_exports, {
|
|
|
25
25
|
module.exports = __toCommonJS(middleware_exports);
|
|
26
26
|
var import_node_async_hooks = require("node:async_hooks");
|
|
27
27
|
var import_node_perf_hooks = require("node:perf_hooks");
|
|
28
|
-
var import_client = require(
|
|
29
|
-
var import_consumerRegistry = require(
|
|
30
|
-
var import_headers = require(
|
|
31
|
-
var import_packageVersions = require(
|
|
32
|
-
var import_requestLogger = require(
|
|
33
|
-
var import_loggers = require(
|
|
34
|
-
var import_utils = require(
|
|
28
|
+
var import_client = require('../common/client.cjs');
|
|
29
|
+
var import_consumerRegistry = require('../common/consumerRegistry.cjs');
|
|
30
|
+
var import_headers = require('../common/headers.cjs');
|
|
31
|
+
var import_packageVersions = require('../common/packageVersions.cjs');
|
|
32
|
+
var import_requestLogger = require('../common/requestLogger.cjs');
|
|
33
|
+
var import_loggers = require('../loggers/index.cjs');
|
|
34
|
+
var import_utils = require('./utils.cjs');
|
|
35
35
|
function useApitally(app, config) {
|
|
36
36
|
const client = new import_client.ApitallyClient(config);
|
|
37
37
|
const middleware = getMiddleware(app, client);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import '../common/spanCollector.cjs';
|
|
2
1
|
import { ApitallyConsumer, ApitallyConfig } from '../common/types.cjs';
|
|
3
2
|
import { Request, Express, Router } from 'express';
|
|
4
|
-
import '@opentelemetry/sdk-trace-base';
|
|
5
3
|
import '../common/logging.cjs';
|
|
6
4
|
import 'winston';
|
|
7
5
|
import '../common/requestLogger.cjs';
|
|
8
6
|
import 'node:buffer';
|
|
9
7
|
import 'node:http';
|
|
8
|
+
import '../common/spanCollector.cjs';
|
|
9
|
+
import '@opentelemetry/sdk-trace-base';
|
|
10
10
|
import '../common/tempGzipFile.cjs';
|
|
11
11
|
|
|
12
12
|
declare module "express" {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import '../common/spanCollector.js';
|
|
2
1
|
import { ApitallyConsumer, ApitallyConfig } from '../common/types.js';
|
|
3
2
|
import { Request, Express, Router } from 'express';
|
|
4
|
-
import '@opentelemetry/sdk-trace-base';
|
|
5
3
|
import '../common/logging.js';
|
|
6
4
|
import 'winston';
|
|
7
5
|
import '../common/requestLogger.js';
|
|
8
6
|
import 'node:buffer';
|
|
9
7
|
import 'node:http';
|
|
8
|
+
import '../common/spanCollector.js';
|
|
9
|
+
import '@opentelemetry/sdk-trace-base';
|
|
10
10
|
import '../common/tempGzipFile.js';
|
|
11
11
|
|
|
12
12
|
declare module "express" {
|
package/dist/fastify/index.cjs
CHANGED
|
@@ -28,16 +28,13 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
var fastify_exports = {};
|
|
30
30
|
__export(fastify_exports, {
|
|
31
|
-
ApitallySpanProcessor: () => import_spanCollector.ApitallySpanProcessor,
|
|
32
31
|
apitallyPlugin: () => import_plugin.default,
|
|
33
32
|
setConsumer: () => import_plugin.setConsumer
|
|
34
33
|
});
|
|
35
34
|
module.exports = __toCommonJS(fastify_exports);
|
|
36
|
-
var
|
|
37
|
-
var import_plugin = __toESM(require("./plugin.js"), 1);
|
|
35
|
+
var import_plugin = __toESM(require('./plugin.cjs'), 1);
|
|
38
36
|
// Annotate the CommonJS export names for ESM import in node:
|
|
39
37
|
0 && (module.exports = {
|
|
40
|
-
ApitallySpanProcessor,
|
|
41
38
|
apitallyPlugin,
|
|
42
39
|
setConsumer
|
|
43
40
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/fastify/index.ts"],"sourcesContent":["export
|
|
1
|
+
{"version":3,"sources":["../../src/fastify/index.ts"],"sourcesContent":["export type { ApitallyConfig, ApitallyConsumer } from \"../common/types.js\";\nexport { default as apitallyPlugin, setConsumer } from \"./plugin.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;;;;;oBAAuD;","names":[]}
|
package/dist/fastify/index.d.cts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export { ApitallySpanProcessor } from '../common/spanCollector.cjs';
|
|
2
1
|
export { ApitallyConfig, ApitallyConsumer } from '../common/types.cjs';
|
|
3
2
|
export { default as apitallyPlugin, setConsumer } from './plugin.cjs';
|
|
4
|
-
import '@opentelemetry/sdk-trace-base';
|
|
5
3
|
import '../common/logging.cjs';
|
|
6
4
|
import 'winston';
|
|
7
5
|
import '../common/requestLogger.cjs';
|
|
8
6
|
import 'node:buffer';
|
|
9
7
|
import 'node:http';
|
|
8
|
+
import '../common/spanCollector.cjs';
|
|
9
|
+
import '@opentelemetry/sdk-trace-base';
|
|
10
10
|
import '../common/tempGzipFile.cjs';
|
|
11
11
|
import 'fastify';
|
|
12
12
|
import 'node:async_hooks';
|
package/dist/fastify/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export { ApitallySpanProcessor } from '../common/spanCollector.js';
|
|
2
1
|
export { ApitallyConfig, ApitallyConsumer } from '../common/types.js';
|
|
3
2
|
export { default as apitallyPlugin, setConsumer } from './plugin.js';
|
|
4
|
-
import '@opentelemetry/sdk-trace-base';
|
|
5
3
|
import '../common/logging.js';
|
|
6
4
|
import 'winston';
|
|
7
5
|
import '../common/requestLogger.js';
|
|
8
6
|
import 'node:buffer';
|
|
9
7
|
import 'node:http';
|
|
8
|
+
import '../common/spanCollector.js';
|
|
9
|
+
import '@opentelemetry/sdk-trace-base';
|
|
10
10
|
import '../common/tempGzipFile.js';
|
|
11
11
|
import 'fastify';
|
|
12
12
|
import 'node:async_hooks';
|
package/dist/fastify/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/fastify/index.ts"],"sourcesContent":["export
|
|
1
|
+
{"version":3,"sources":["../../src/fastify/index.ts"],"sourcesContent":["export type { ApitallyConfig, ApitallyConsumer } from \"../common/types.js\";\nexport { default as apitallyPlugin, setConsumer } from \"./plugin.js\";\n"],"mappings":"AACA,SAAoBA,WAAXC,UAA2BC,mBAAmB;","names":["apitallyPlugin","default","setConsumer"]}
|
package/dist/fastify/plugin.cjs
CHANGED
|
@@ -36,12 +36,12 @@ __export(plugin_exports, {
|
|
|
36
36
|
module.exports = __toCommonJS(plugin_exports);
|
|
37
37
|
var import_fastify_plugin = __toESM(require("fastify-plugin"), 1);
|
|
38
38
|
var import_node_async_hooks = require("node:async_hooks");
|
|
39
|
-
var import_client = require(
|
|
40
|
-
var import_consumerRegistry = require(
|
|
41
|
-
var import_headers = require(
|
|
42
|
-
var import_packageVersions = require(
|
|
43
|
-
var import_requestLogger = require(
|
|
44
|
-
var import_loggers = require(
|
|
39
|
+
var import_client = require('../common/client.cjs');
|
|
40
|
+
var import_consumerRegistry = require('../common/consumerRegistry.cjs');
|
|
41
|
+
var import_headers = require('../common/headers.cjs');
|
|
42
|
+
var import_packageVersions = require('../common/packageVersions.cjs');
|
|
43
|
+
var import_requestLogger = require('../common/requestLogger.cjs');
|
|
44
|
+
var import_loggers = require('../loggers/index.cjs');
|
|
45
45
|
const LOGS_SYMBOL = /* @__PURE__ */ Symbol("apitally.logs");
|
|
46
46
|
const ASYNC_RESOURCE_SYMBOL = /* @__PURE__ */ Symbol("apitally.asyncResource");
|
|
47
47
|
const SPAN_HANDLE_SYMBOL = /* @__PURE__ */ Symbol("apitally.spanHandle");
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { SpanHandle } from '../common/spanCollector.cjs';
|
|
2
1
|
import { ApitallyConsumer, ApitallyConfig } from '../common/types.cjs';
|
|
3
2
|
import { FastifyError, FastifyPluginAsync, FastifyRequest } from 'fastify';
|
|
4
3
|
import { AsyncResource } from 'node:async_hooks';
|
|
5
4
|
import { LogRecord } from '../common/requestLogger.cjs';
|
|
6
|
-
import '
|
|
5
|
+
import { SpanHandle } from '../common/spanCollector.cjs';
|
|
7
6
|
import '../common/logging.cjs';
|
|
8
7
|
import 'winston';
|
|
9
8
|
import 'node:buffer';
|
|
10
9
|
import 'node:http';
|
|
10
|
+
import '@opentelemetry/sdk-trace-base';
|
|
11
11
|
import '../common/tempGzipFile.cjs';
|
|
12
12
|
|
|
13
13
|
declare const LOGS_SYMBOL: unique symbol;
|
package/dist/fastify/plugin.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { SpanHandle } from '../common/spanCollector.js';
|
|
2
1
|
import { ApitallyConsumer, ApitallyConfig } from '../common/types.js';
|
|
3
2
|
import { FastifyError, FastifyPluginAsync, FastifyRequest } from 'fastify';
|
|
4
3
|
import { AsyncResource } from 'node:async_hooks';
|
|
5
4
|
import { LogRecord } from '../common/requestLogger.js';
|
|
6
|
-
import '
|
|
5
|
+
import { SpanHandle } from '../common/spanCollector.js';
|
|
7
6
|
import '../common/logging.js';
|
|
8
7
|
import 'winston';
|
|
9
8
|
import 'node:buffer';
|
|
10
9
|
import 'node:http';
|
|
10
|
+
import '@opentelemetry/sdk-trace-base';
|
|
11
11
|
import '../common/tempGzipFile.js';
|
|
12
12
|
|
|
13
13
|
declare const LOGS_SYMBOL: unique symbol;
|
package/dist/h3/index.cjs
CHANGED
|
@@ -18,16 +18,13 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var h3_exports = {};
|
|
20
20
|
__export(h3_exports, {
|
|
21
|
-
ApitallySpanProcessor: () => import_spanCollector.ApitallySpanProcessor,
|
|
22
21
|
apitallyPlugin: () => import_plugin.apitallyPlugin,
|
|
23
22
|
setConsumer: () => import_plugin.setConsumer
|
|
24
23
|
});
|
|
25
24
|
module.exports = __toCommonJS(h3_exports);
|
|
26
|
-
var
|
|
27
|
-
var import_plugin = require("./plugin.js");
|
|
25
|
+
var import_plugin = require('./plugin.cjs');
|
|
28
26
|
// Annotate the CommonJS export names for ESM import in node:
|
|
29
27
|
0 && (module.exports = {
|
|
30
|
-
ApitallySpanProcessor,
|
|
31
28
|
apitallyPlugin,
|
|
32
29
|
setConsumer
|
|
33
30
|
});
|
package/dist/h3/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/h3/index.ts"],"sourcesContent":["export
|
|
1
|
+
{"version":3,"sources":["../../src/h3/index.ts"],"sourcesContent":["export type { ApitallyConfig, ApitallyConsumer } from \"../common/types.js\";\nexport { apitallyPlugin, setConsumer } from \"./plugin.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;AACA;;;;;;oBAA4C;","names":[]}
|