fg-tracker-sdk 0.5.0 → 0.7.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.
@@ -1 +1 @@
1
- {"version":3,"file":"aws.js","sourceRoot":"","sources":["../../src/infra/aws.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aws.js","sourceRoot":"","sources":["../../src/infra/aws.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { TrackerCore } from './tracker.js';
2
+ import type { SpanKind } from './types.js';
3
+ /**
4
+ * Span que só existe se o trecho tiver sido lento.
5
+ *
6
+ * `tracker.span()` cria o span sempre: é o certo para um trecho que você
7
+ * escolheu a dedo. Não serve para instrumentar *tudo*, porque um método
8
+ * chamado milhares de vezes por requisição pagaria alocação e id aleatório em
9
+ * toda chamada, e encheria o trace de barras de 0 ms.
10
+ *
11
+ * `measure` inverte isso: na chamada guarda só dois números (o instante e o
12
+ * contexto) e, no fim, descarta o que foi rápido. O que sobra no waterfall é
13
+ * exatamente o que merece atenção — mais um erro, que sempre vira span mesmo
14
+ * quando rápido, porque aí a duração não é o ponto.
15
+ *
16
+ * O preço dessa troca: o span é criado depois que o trecho terminou, então ele
17
+ * não é o pai dos spans criados lá dentro. Uma query feita dentro de um método
18
+ * medido aparece como irmã dele, não aninhada.
19
+ */
20
+ export interface MeasureOptions {
21
+ kind?: SpanKind;
22
+ /** Abaixo disto o trecho não vira span. Default: `autoSpanMinDurationMs` do tracker. */
23
+ minDurationMs?: number;
24
+ attributes?: Record<string, unknown>;
25
+ }
26
+ /**
27
+ * Executa `fn` medindo o tempo. Preserva a natureza da função: o que é
28
+ * síncrono continua síncrono (envolver um método qualquer não pode
29
+ * transformá-lo em Promise).
30
+ */
31
+ export declare function measure<T>(core: TrackerCore, name: string, fn: () => T, options?: MeasureOptions): T;
32
+ //# sourceMappingURL=measure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measure.d.ts","sourceRoot":"","sources":["../src/measure.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,wFAAwF;IACxF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAMD;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,GAAE,cAAmB,GAAG,CAAC,CAgDxG"}
@@ -0,0 +1,57 @@
1
+ import { performance } from 'node:perf_hooks';
2
+ function isThenable(value) {
3
+ return typeof value?.then === 'function';
4
+ }
5
+ /**
6
+ * Executa `fn` medindo o tempo. Preserva a natureza da função: o que é
7
+ * síncrono continua síncrono (envolver um método qualquer não pode
8
+ * transformá-lo em Promise).
9
+ */
10
+ export function measure(core, name, fn, options = {}) {
11
+ const parent = core.currentContext();
12
+ // Fora de uma requisição não há trace a que pendurar o trecho.
13
+ if (!core.enabled || !parent)
14
+ return fn();
15
+ const minDurationMs = options.minDurationMs ?? core.options.autoSpanMinDurationMs;
16
+ const startedAt = new Date();
17
+ const startedPerf = performance.now();
18
+ let settled = false;
19
+ const settle = (error) => {
20
+ if (settled)
21
+ return;
22
+ settled = true;
23
+ const durationMs = Math.round((performance.now() - startedPerf) * 1000) / 1000;
24
+ // Erro sempre vira span: uma falha rápida é tão interessante quanto uma lenta.
25
+ if (durationMs < minDurationMs && error === undefined)
26
+ return;
27
+ core.recordSpan({
28
+ kind: options.kind ?? 'custom',
29
+ name,
30
+ ...(options.attributes ? { attributes: options.attributes } : {}),
31
+ parent,
32
+ startedAt,
33
+ durationMs,
34
+ ...(error === undefined ? {} : { error }),
35
+ });
36
+ };
37
+ let result;
38
+ try {
39
+ result = fn();
40
+ }
41
+ catch (error) {
42
+ settle(error);
43
+ throw error;
44
+ }
45
+ if (isThenable(result)) {
46
+ return result.then((value) => {
47
+ settle();
48
+ return value;
49
+ }, (error) => {
50
+ settle(error);
51
+ throw error;
52
+ });
53
+ }
54
+ settle();
55
+ return result;
56
+ }
57
+ //# sourceMappingURL=measure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measure.js","sourceRoot":"","sources":["../src/measure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA8B9C,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,OAAQ,KAAqC,EAAE,IAAI,KAAK,UAAU,CAAC;AAC5E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAI,IAAiB,EAAE,IAAY,EAAE,EAAW,EAAE,UAA0B,EAAE;IACnG,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IACrC,+DAA+D;IAC/D,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,EAAE,CAAC;IAE1C,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC;IAClF,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACtC,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,MAAM,MAAM,GAAG,CAAC,KAAe,EAAQ,EAAE;QACvC,IAAI,OAAO;YAAE,OAAO;QACpB,OAAO,GAAG,IAAI,CAAC;QACf,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QAC/E,+EAA+E;QAC/E,IAAI,UAAU,GAAG,aAAa,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAC9D,IAAI,CAAC,UAAU,CAAC;YACd,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,QAAQ;YAC9B,IAAI;YACJ,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,MAAM;YACN,SAAS;YACT,UAAU;YACV,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,MAAS,CAAC;IACd,IAAI,CAAC;QACH,MAAM,GAAG,EAAE,EAAE,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,CAAC;QACd,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,OAAQ,MAA+B,CAAC,IAAI,CAC1C,CAAC,KAAK,EAAE,EAAE;YACR,MAAM,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACf,CAAC,EACD,CAAC,KAAc,EAAE,EAAE;YACjB,MAAM,CAAC,KAAK,CAAC,CAAC;YACd,MAAM,KAAK,CAAC;QACd,CAAC,CACG,CAAC;IACT,CAAC;IACD,MAAM,EAAE,CAAC;IACT,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/dist/nest.d.ts ADDED
@@ -0,0 +1,53 @@
1
+ import type { TrackerCore } from './tracker.js';
2
+ /**
3
+ * Spans por método em toda aplicação NestJS, sem decorar nada.
4
+ *
5
+ * Instrumentar à mão só instrumenta o que alguém já suspeitava. O trecho que
6
+ * some do waterfall é justamente aquele em que ninguém pensou — foi assim com
7
+ * `GET /artists/me`, onde 93% do request estava fora de qualquer span.
8
+ *
9
+ * Aqui o container de DI é percorrido e cada método de provider e controller é
10
+ * envolvido por `measure`: mede sempre, vira span só quando passa do limiar.
11
+ * Método trivial chamado mil vezes não deixa rastro; o método que segurou 1,6 s
12
+ * aparece com nome e duração.
13
+ *
14
+ * O container é lido estruturalmente, sem importar `@nestjs/core`: o SDK não
15
+ * ganha peer dependency nem fica preso a uma versão do Nest.
16
+ *
17
+ * ```ts
18
+ * import { ModulesContainer } from '@nestjs/core';
19
+ * tracker.instrumentNest(app.get(ModulesContainer));
20
+ * ```
21
+ */
22
+ /** Forma mínima do `InstanceWrapper` do Nest. */
23
+ interface WrapperLike {
24
+ instance?: unknown;
25
+ name?: unknown;
26
+ }
27
+ /** Forma mínima do `Module` do Nest. */
28
+ interface ModuleLike {
29
+ providers?: Map<unknown, WrapperLike> | undefined;
30
+ controllers?: Map<unknown, WrapperLike> | undefined;
31
+ metatype?: {
32
+ name?: string;
33
+ } | undefined;
34
+ }
35
+ /** Forma mínima do `ModulesContainer` (um `Map` de módulos). */
36
+ export type NestContainerLike = Iterable<[unknown, ModuleLike]> | {
37
+ values(): Iterable<ModuleLike>;
38
+ };
39
+ export interface NestInstrumentationOptions {
40
+ /** Abaixo disto o método não vira span. Default: `autoSpanMinDurationMs` do tracker. */
41
+ minDurationMs?: number;
42
+ /** `false` recusa a classe inteira; recebe o nome da classe e o do módulo. */
43
+ includeClass?: (className: string, moduleName: string) => boolean;
44
+ /** `false` recusa um método específico. */
45
+ includeMethod?: (className: string, methodName: string) => boolean;
46
+ }
47
+ /**
48
+ * Envolve os métodos de providers e controllers do container. Devolve quantos
49
+ * métodos foram instrumentados. Idempotente.
50
+ */
51
+ export declare function instrumentNestContainer(core: TrackerCore, container: NestContainerLike, options?: NestInstrumentationOptions): number;
52
+ export {};
53
+ //# sourceMappingURL=nest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nest.d.ts","sourceRoot":"","sources":["../src/nest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,iDAAiD;AACjD,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wCAAwC;AACxC,UAAU,UAAU;IAClB,SAAS,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC;IAClD,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CAC1C;AAED,gEAAgE;AAChE,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,GAAG;IAAE,MAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAA;CAAE,CAAC;AAErG,MAAM,WAAW,0BAA0B;IACzC,wFAAwF;IACxF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;IAClE,2CAA2C;IAC3C,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;CACpE;AAsED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,GAAE,0BAA+B,GACvC,MAAM,CAiDR"}
package/dist/nest.js ADDED
@@ -0,0 +1,128 @@
1
+ import { measure } from './measure.js';
2
+ /**
3
+ * Métodos que o Nest chama fora de uma requisição. Medi-los não diz nada sobre
4
+ * latência de rota e só sujaria o boot.
5
+ */
6
+ const LIFECYCLE_METHODS = new Set([
7
+ 'onModuleInit',
8
+ 'onModuleDestroy',
9
+ 'onApplicationBootstrap',
10
+ 'onApplicationShutdown',
11
+ 'beforeApplicationShutdown',
12
+ 'configure',
13
+ ]);
14
+ /** Módulos internos do Nest: instrumentá-los mede o framework, não a aplicação. */
15
+ const INTERNAL_MODULES = new Set(['InternalCoreModule']);
16
+ /**
17
+ * Providers do próprio Nest. Não basta pular o `InternalCoreModule`: o
18
+ * framework re-registra os seus em **todo** módulo da aplicação — num app com
19
+ * duas classes, `ApplicationConfig` sozinho traz 28 métodos. Medir o framework
20
+ * não diz nada sobre a latência de uma rota.
21
+ */
22
+ const INTERNAL_CLASSES = new Set([
23
+ 'ApplicationConfig',
24
+ 'DiscoveryService',
25
+ 'ExternalContextCreator',
26
+ 'HttpAdapterHost',
27
+ 'LazyModuleLoader',
28
+ 'MetadataScanner',
29
+ 'ModuleRef',
30
+ 'ModulesContainer',
31
+ 'NestApplicationContext',
32
+ 'Reflector',
33
+ 'SerializedGraph',
34
+ ]);
35
+ const INSTRUMENTED = Symbol.for('fg-tracker.instrumented');
36
+ function modulesOf(container) {
37
+ const modules = [];
38
+ const candidate = container;
39
+ if (typeof candidate.values === 'function') {
40
+ for (const module of candidate.values())
41
+ modules.push(module);
42
+ return modules;
43
+ }
44
+ for (const entry of container) {
45
+ if (Array.isArray(entry) && entry[1])
46
+ modules.push(entry[1]);
47
+ }
48
+ return modules;
49
+ }
50
+ /**
51
+ * Nomes de método próprios do protótipo, ignorando acessores — ler um getter
52
+ * aqui executaria código da aplicação durante a instrumentação.
53
+ */
54
+ function methodNames(instance) {
55
+ const prototype = Object.getPrototypeOf(instance);
56
+ if (!prototype || prototype === Object.prototype)
57
+ return [];
58
+ const names = [];
59
+ for (const name of Object.getOwnPropertyNames(prototype)) {
60
+ if (name === 'constructor' || LIFECYCLE_METHODS.has(name))
61
+ continue;
62
+ const descriptor = Object.getOwnPropertyDescriptor(prototype, name);
63
+ if (!descriptor || typeof descriptor.value !== 'function')
64
+ continue;
65
+ names.push(name);
66
+ }
67
+ return names;
68
+ }
69
+ /**
70
+ * Envolve os métodos de providers e controllers do container. Devolve quantos
71
+ * métodos foram instrumentados. Idempotente.
72
+ */
73
+ export function instrumentNestContainer(core, container, options = {}) {
74
+ if (!core.enabled)
75
+ return 0;
76
+ let wrapped = 0;
77
+ for (const module of modulesOf(container)) {
78
+ const moduleName = module?.metatype?.name ?? '';
79
+ if (INTERNAL_MODULES.has(moduleName))
80
+ continue;
81
+ for (const collection of [module?.providers, module?.controllers]) {
82
+ if (!collection || typeof collection.values !== 'function')
83
+ continue;
84
+ for (const item of collection.values()) {
85
+ const instance = item?.instance;
86
+ if (!instance || typeof instance !== 'object')
87
+ continue;
88
+ const className = instance.constructor?.name ?? '';
89
+ // Classe anônima ou do próprio Nest: não é código da aplicação.
90
+ if (!className || INTERNAL_CLASSES.has(className))
91
+ continue;
92
+ if (options.includeClass && !options.includeClass(className, moduleName))
93
+ continue;
94
+ for (const methodName of methodNames(instance)) {
95
+ if (options.includeMethod && !options.includeMethod(className, methodName))
96
+ continue;
97
+ const original = instance[methodName];
98
+ if (typeof original !== 'function')
99
+ continue;
100
+ // Um provider aparece em vários módulos; instrumentar duas vezes
101
+ // criaria spans aninhados do mesmo método.
102
+ if (original[INSTRUMENTED])
103
+ continue;
104
+ const name = `${className}.${methodName}`;
105
+ const fn = original;
106
+ const instrumented = function instrumentedMethod(...args) {
107
+ return measure(core, name, () => fn.apply(this, args), {
108
+ ...(options.minDurationMs === undefined ? {} : { minDurationMs: options.minDurationMs }),
109
+ });
110
+ };
111
+ Object.defineProperty(instrumented, 'name', { value: methodName, configurable: true });
112
+ Object.defineProperty(instrumented, INSTRUMENTED, { value: true });
113
+ // Escrito na instância: o protótipo (e as outras instâncias da
114
+ // classe) continuam intactos.
115
+ Object.defineProperty(instance, methodName, {
116
+ value: instrumented,
117
+ writable: true,
118
+ configurable: true,
119
+ enumerable: false,
120
+ });
121
+ wrapped += 1;
122
+ }
123
+ }
124
+ }
125
+ }
126
+ return wrapped;
127
+ }
128
+ //# sourceMappingURL=nest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nest.js","sourceRoot":"","sources":["../src/nest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type TrackerCore } from './tracker.js';
2
+ /**
3
+ * Instrumenta a saída HTTP do processo. Idempotente por tracker; devolve a
4
+ * função que cancela as inscrições.
5
+ */
6
+ export declare function instrumentNodeHttp(core: TrackerCore): () => void;
7
+ //# sourceMappingURL=node-http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-http.d.ts","sourceRoot":"","sources":["../src/node-http.ts"],"names":[],"mappings":"AAIA,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AA0DjE;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,IAAI,CAkFhE"}
@@ -0,0 +1,115 @@
1
+ import { subscribe, unsubscribe } from 'node:diagnostics_channel';
2
+ import { formatTraceparent, TRACEPARENT_HEADER } from './context.js';
3
+ import { normalizePath } from './normalize.js';
4
+ import { shouldPropagate } from './tracker.js';
5
+ const CREATED = 'http.client.request.created';
6
+ const RESPONSE = 'http.client.response.finish';
7
+ const ERROR = 'http.client.request.error';
8
+ /**
9
+ * URL absoluta da requisição. `request.path` traz caminho + query, e o header
10
+ * `host` traz host + porta — juntos reconstroem a origem sem depender de
11
+ * campos internos do agente.
12
+ */
13
+ function requestUrl(request) {
14
+ const protocol = request.protocol ?? 'http:';
15
+ const hostHeader = request.getHeader('host');
16
+ const host = typeof hostHeader === 'string' && hostHeader ? hostHeader : request.host;
17
+ if (!host)
18
+ return null;
19
+ try {
20
+ return new URL(`${protocol}//${host}${request.path ?? '/'}`);
21
+ }
22
+ catch {
23
+ return null;
24
+ }
25
+ }
26
+ /**
27
+ * Instrumenta a saída HTTP do processo. Idempotente por tracker; devolve a
28
+ * função que cancela as inscrições.
29
+ */
30
+ export function instrumentNodeHttp(core) {
31
+ // O span vive preso ao ClientRequest: `response.finish` e `error` chegam
32
+ // depois, possivelmente noutro contexto assíncrono. WeakMap para um request
33
+ // que nunca termina não segurar memória.
34
+ const spans = new WeakMap();
35
+ const finish = (request, apply) => {
36
+ const span = spans.get(request);
37
+ if (!span)
38
+ return;
39
+ // Uma única finalização por request: `close` sempre vem depois de
40
+ // `response.finish`/`error` e não pode fechar o span duas vezes.
41
+ spans.delete(request);
42
+ try {
43
+ apply(span);
44
+ }
45
+ finally {
46
+ span.end();
47
+ }
48
+ };
49
+ const onCreated = (message) => {
50
+ const request = message.request;
51
+ if (!request || typeof request.setHeader !== 'function')
52
+ return;
53
+ // Fora de um request instrumentado não há trace a que pendurar a chamada.
54
+ if (!core.enabled || !core.currentContext())
55
+ return;
56
+ const url = requestUrl(request);
57
+ if (!url)
58
+ return;
59
+ // Nunca instrumentar a entrega ao próprio coletor: daria loop de ingestão.
60
+ if (`${url.origin}${url.pathname}`.startsWith(core.options.endpoint))
61
+ return;
62
+ const method = (request.method ?? 'GET').toUpperCase();
63
+ const span = core.startSpan('http.client', `${method} ${url.origin}${normalizePath(url.pathname)}`, {
64
+ url: url.origin + url.pathname + url.search,
65
+ host: url.host,
66
+ });
67
+ span.method = method;
68
+ span.route = normalizePath(url.pathname);
69
+ spans.set(request, span);
70
+ // `created` é publicado antes dos headers irem para a rede; `start` já é tarde.
71
+ if (!request.headersSent && !request.getHeader(TRACEPARENT_HEADER) && shouldPropagate(core.options.propagateTraceTo, url)) {
72
+ try {
73
+ request.setHeader(TRACEPARENT_HEADER, formatTraceparent({ traceId: span.traceId, spanId: span.spanId, sampled: span.sampled }));
74
+ span.setAttribute('propagated', true);
75
+ }
76
+ catch {
77
+ // Header já enviado por uma corrida qualquer: a chamada continua, sem propagação.
78
+ }
79
+ }
80
+ // Rede de segurança: requisição abortada ou destruída sem resposta nem erro
81
+ // não pode deixar o span aberto para sempre.
82
+ try {
83
+ request.once('close', () => finish(request, (open) => open.setAttribute('aborted', true)));
84
+ }
85
+ catch {
86
+ // `once` indisponível: o span ainda fecha por `response.finish` ou `error`.
87
+ }
88
+ };
89
+ const onResponse = (message) => {
90
+ const { request, response } = message;
91
+ if (!request || !response)
92
+ return;
93
+ finish(request, (span) => {
94
+ const status = response.statusCode ?? null;
95
+ span.statusCode = status;
96
+ if (status !== null && status >= 500)
97
+ span.setError({ name: 'HttpError', message: `HTTP ${status}` });
98
+ });
99
+ };
100
+ const onError = (message) => {
101
+ const { request, error } = message;
102
+ if (!request)
103
+ return;
104
+ finish(request, (span) => span.setError(error));
105
+ };
106
+ subscribe(CREATED, onCreated);
107
+ subscribe(RESPONSE, onResponse);
108
+ subscribe(ERROR, onError);
109
+ return () => {
110
+ unsubscribe(CREATED, onCreated);
111
+ unsubscribe(RESPONSE, onResponse);
112
+ unsubscribe(ERROR, onError);
113
+ };
114
+ }
115
+ //# sourceMappingURL=node-http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-http.js","sourceRoot":"","sources":["../src/node-http.ts"],"names":[],"mappings":"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"}
package/dist/pg.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pg.d.ts","sourceRoot":"","sources":["../src/pg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAuB7C;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAwDpF"}
1
+ {"version":3,"file":"pg.d.ts","sourceRoot":"","sources":["../src/pg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAuB7C;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CA0DpF"}
package/dist/pg.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { databaseHost } from './database.js';
1
2
  import { normalizeSql } from './normalize.js';
2
3
  const PATCHED = Symbol.for('fg-tracker.pg.patched');
3
4
  /** Marca usada pelo `stread-track-sdk` ≤ 0.3: evita instrumentar duas vezes quando as duas versões convivem. */
@@ -34,13 +35,15 @@ export function instrumentPgPool(core, pool) {
34
35
  return pool;
35
36
  }
36
37
  const original = pool.query.bind(pool);
38
+ const poolOptions = pool.options;
39
+ const host = databaseHost(poolOptions?.host) ?? databaseHost(poolOptions?.connectionString);
37
40
  target.query = function fgTrackerQuery(...args) {
38
41
  if (!core.enabled || !core.currentContext())
39
42
  return original(...args);
40
43
  const sql = extractSql(args[0]);
41
44
  if (!sql)
42
45
  return original(...args);
43
- const span = core.startSpan('db.query', normalizeSql(sql), { rows: null, db: 'postgres' });
46
+ const span = core.startSpan('db.query', normalizeSql(sql), { rows: null, db: 'postgres', 'db.system': 'postgresql', ...(host ? { 'db.host': host } : {}) });
44
47
  const last = args[args.length - 1];
45
48
  if (typeof last === 'function') {
46
49
  const cb = last;
package/dist/pg.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pg.js","sourceRoot":"","sources":["../src/pg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pg.js","sourceRoot":"","sources":["../src/pg.ts"],"names":[],"mappings":"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"}
package/dist/tracker.d.ts CHANGED
@@ -22,6 +22,9 @@ export interface ResolvedOptions {
22
22
  fetch: typeof globalThis.fetch;
23
23
  infraEnabled: boolean;
24
24
  infraIdleIntervalMs: number;
25
+ autoSpanMinDurationMs: number;
26
+ measureEventLoopLag: boolean;
27
+ eventLoopLagThresholdMs: number;
25
28
  }
26
29
  /** Release detectada do ambiente (CONTRATO.md §15): `${serviceName}@${sha}` para SHAs de CI/hosting. */
27
30
  export declare function detectRelease(serviceName: string | undefined, env?: NodeJS.ProcessEnv): string | undefined;
@@ -56,6 +59,8 @@ export declare class TrackerCore {
56
59
  liveIntervalMs: number;
57
60
  /** Callbacks de encerramento (reporters, timers de pool). */
58
61
  private readonly disposers;
62
+ /** Atraso do event loop durante cada requisição; `null` quando desligado. */
63
+ private readonly eventLoop;
59
64
  constructor(options: TrackerOptions);
60
65
  get enabled(): boolean;
61
66
  currentContext(): SpanContext | undefined;
@@ -70,6 +75,17 @@ export declare class TrackerCore {
70
75
  * para as métricas por requisição continuarem contando este serviço.
71
76
  */
72
77
  startRemoteRoot(kind: SpanKind, name: string, attributes: Record<string, unknown>, remote: SpanContext): ActiveSpanImpl;
78
+ /**
79
+ * Uma requisição abriu: liga a amostragem do event loop enquanto ela durar.
80
+ * Chamado pelo próprio `ActiveSpanImpl` quando o span nasce sem pai local.
81
+ */
82
+ openRootSpan(): void;
83
+ /**
84
+ * A requisição fechou: desliga a amostragem e, se o loop travou de verdade
85
+ * durante ela, grava quanto. Abaixo do limiar nada é gravado — um atributo
86
+ * em todo span raiz só engordaria o payload sem dizer nada.
87
+ */
88
+ closeRootSpan(span: ActiveSpanImpl, fromPerf: number, toPerf: number): void;
73
89
  /** Span aberto correspondente ao contexto assíncrono atual (se houver). */
74
90
  currentSpan(): ActiveSpanImpl | undefined;
75
91
  /** Span raiz local do contexto atual (sobe pelos pais ainda abertos). */
@@ -78,6 +94,26 @@ export declare class TrackerCore {
78
94
  traceHeaders(): Record<string, string>;
79
95
  /** Chamado por ActiveSpanImpl.end(): amostragem, ignoreErrors, scrubbing e beforeSend. */
80
96
  finishSpan(span: ActiveSpanImpl, payload: Span): void;
97
+ /**
98
+ * Registra um span que já terminou, sem ter existido um `ActiveSpanImpl`
99
+ * durante a execução.
100
+ *
101
+ * É o que permite instrumentar método a método sem pagar alocação e id
102
+ * aleatório em toda chamada: mede-se o tempo (dois números) e só o que passou
103
+ * do limiar vira span. Sem pai não há span — como no fetch e no node:http,
104
+ * nada vira trace órfão.
105
+ */
106
+ recordSpan(input: {
107
+ kind: SpanKind;
108
+ name: string;
109
+ attributes?: Record<string, unknown>;
110
+ parent: SpanContext;
111
+ startedAt: Date;
112
+ durationMs: number;
113
+ error?: unknown;
114
+ }): void;
115
+ /** ignoreErrors, scrubbing e beforeSend antes de entrar na fila. */
116
+ private emit;
81
117
  /** Executa `fn` com `span` como contexto pai das operações internas. */
82
118
  runInSpan<T>(span: ActiveSpanImpl, fn: () => T): T;
83
119
  enqueue(span: Span): void;