fg-tracker-sdk 0.13.0 → 0.15.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/CHANGELOG.md +34 -0
- package/README.md +31 -5
- package/dist/context.d.ts +39 -2
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +59 -5
- package/dist/context.js.map +1 -1
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +3 -1
- package/dist/database.js.map +1 -1
- package/dist/express.d.ts +6 -1
- package/dist/express.d.ts.map +1 -1
- package/dist/express.js +20 -6
- package/dist/express.js.map +1 -1
- package/dist/fetch.d.ts.map +1 -1
- package/dist/fetch.js +156 -9
- package/dist/fetch.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/infra/aws.d.ts +7 -4
- package/dist/infra/aws.d.ts.map +1 -1
- package/dist/infra/aws.js +38 -7
- package/dist/infra/aws.js.map +1 -1
- package/dist/infra/lambda.d.ts +2 -0
- package/dist/infra/lambda.d.ts.map +1 -1
- package/dist/infra/lambda.js +6 -3
- package/dist/infra/lambda.js.map +1 -1
- package/dist/infra/messaging.d.ts +10 -2
- package/dist/infra/messaging.d.ts.map +1 -1
- package/dist/infra/messaging.js +22 -3
- package/dist/infra/messaging.js.map +1 -1
- package/dist/logs/shipper.d.ts.map +1 -1
- package/dist/logs/shipper.js +15 -4
- package/dist/logs/shipper.js.map +1 -1
- package/dist/logs/types.d.ts +8 -0
- package/dist/logs/types.d.ts.map +1 -1
- package/dist/monitors.d.ts.map +1 -1
- package/dist/monitors.js +3 -1
- package/dist/monitors.js.map +1 -1
- package/dist/next.d.ts.map +1 -1
- package/dist/next.js +8 -3
- package/dist/next.js.map +1 -1
- package/dist/node-http.d.ts.map +1 -1
- package/dist/node-http.js +12 -3
- package/dist/node-http.js.map +1 -1
- package/dist/normalize.d.ts +58 -8
- package/dist/normalize.d.ts.map +1 -1
- package/dist/normalize.js +383 -79
- package/dist/normalize.js.map +1 -1
- package/dist/pg.d.ts +12 -2
- package/dist/pg.d.ts.map +1 -1
- package/dist/pg.js +464 -213
- package/dist/pg.js.map +1 -1
- package/dist/scrub.d.ts +62 -4
- package/dist/scrub.d.ts.map +1 -1
- package/dist/scrub.js +656 -11
- package/dist/scrub.js.map +1 -1
- package/dist/tracker.d.ts +45 -5
- package/dist/tracker.d.ts.map +1 -1
- package/dist/tracker.js +93 -17
- package/dist/tracker.js.map +1 -1
- package/dist/types.d.ts +44 -8
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -1
package/dist/fetch.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { performance } from 'node:perf_hooks';
|
|
2
|
-
import { TRACEPARENT_HEADER, TRACESTATE_HEADER, traceContextHeaders } from './context.js';
|
|
2
|
+
import { BAGGAGE_HEADER, TRACEPARENT_HEADER, TRACESTATE_HEADER, traceContextHeaders } from './context.js';
|
|
3
3
|
import { matchGenAiTarget } from './genai/config.js';
|
|
4
4
|
import { failHttpGenAiCall, observeHttpGenAiResponse, startHttpGenAiCall } from './genai/http.js';
|
|
5
5
|
import { httpClientSemconv, normalizePath } from './normalize.js';
|
|
@@ -27,24 +27,144 @@ function describe(input, init) {
|
|
|
27
27
|
/**
|
|
28
28
|
* Acrescenta `traceparent` (e `tracestate`, quando o trace veio com um) ao request sem perder
|
|
29
29
|
* headers já definidos (Request, Headers, array ou objeto). Um `traceparent` já presente vence.
|
|
30
|
+
* Devolve também os headers que o SDK acrescentou (só esses são revistos a cada redirect).
|
|
30
31
|
*/
|
|
31
32
|
function withTraceContext(input, init, values) {
|
|
33
|
+
const injected = {};
|
|
32
34
|
const apply = (headers) => {
|
|
33
35
|
headers.set(TRACEPARENT_HEADER, values[TRACEPARENT_HEADER]);
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
injected[TRACEPARENT_HEADER] = values[TRACEPARENT_HEADER];
|
|
37
|
+
for (const name of [TRACESTATE_HEADER, BAGGAGE_HEADER]) {
|
|
38
|
+
if (values[name] && !headers.has(name)) {
|
|
39
|
+
headers.set(name, values[name]);
|
|
40
|
+
injected[name] = values[name];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
36
43
|
};
|
|
37
44
|
if (input instanceof Request && !init?.headers) {
|
|
38
45
|
if (input.headers.has(TRACEPARENT_HEADER))
|
|
39
|
-
return { input, init };
|
|
46
|
+
return { input, init, injected };
|
|
40
47
|
const headers = new Headers(input.headers);
|
|
41
48
|
apply(headers);
|
|
42
|
-
return { input: new Request(input, { headers }), init };
|
|
49
|
+
return { input: new Request(input, { headers }), init, injected };
|
|
43
50
|
}
|
|
44
51
|
const headers = new Headers(init?.headers ?? (input instanceof Request ? input.headers : undefined));
|
|
45
52
|
if (!headers.has(TRACEPARENT_HEADER))
|
|
46
53
|
apply(headers);
|
|
47
|
-
return { input, init: { ...init, headers } };
|
|
54
|
+
return { input, init: { ...init, headers }, injected };
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Corpo que pode ser reenviado a cada redirect: texto, `Blob` (imutáveis) e `URLSearchParams`,
|
|
58
|
+
* `ArrayBuffer` e views, que são copiados no início (`frozenBody`). Stream e `FormData` ficam com
|
|
59
|
+
* o fetch nativo.
|
|
60
|
+
*/
|
|
61
|
+
function replayableBody(body) {
|
|
62
|
+
return (body === undefined ||
|
|
63
|
+
body === null ||
|
|
64
|
+
typeof body === 'string' ||
|
|
65
|
+
body instanceof URLSearchParams ||
|
|
66
|
+
body instanceof ArrayBuffer ||
|
|
67
|
+
ArrayBuffer.isView(body) ||
|
|
68
|
+
(typeof Blob !== 'undefined' && body instanceof Blob));
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Retrato do corpo no momento da chamada, como o fetch nativo faz: a aplicação pode alterar ou
|
|
72
|
+
* reutilizar o objeto enquanto a requisição está em voo, e todos os saltos levam os mesmos bytes.
|
|
73
|
+
*/
|
|
74
|
+
function frozenBody(body) {
|
|
75
|
+
if (body instanceof URLSearchParams)
|
|
76
|
+
return new URLSearchParams(body);
|
|
77
|
+
if (body instanceof ArrayBuffer)
|
|
78
|
+
return body.slice(0);
|
|
79
|
+
if (ArrayBuffer.isView(body))
|
|
80
|
+
return new Uint8Array(body.buffer.slice(body.byteOffset, body.byteOffset + body.byteLength));
|
|
81
|
+
return body;
|
|
82
|
+
}
|
|
83
|
+
/** Opções do `RequestInit` que o salto manual reproduz em cada redirect; com qualquer outra, o fetch nativo segue. */
|
|
84
|
+
const MANUAL_FOLLOW_INIT = new Set(['method', 'headers', 'body', 'signal', 'redirect']);
|
|
85
|
+
/**
|
|
86
|
+
* O salto manual (`followRedirects`) só vale para a chamada simples, em que refazer cada redirect
|
|
87
|
+
* como um fetch novo dá o mesmo que o fetch nativo: URL, ou `Request` sem corpo e com as opções
|
|
88
|
+
* padrão, e um `init` só com método, headers, corpo reenviável, `signal` e `redirect`. Qualquer outra
|
|
89
|
+
* coisa (`mode`, `referrer`, `cache`, `integrity`, `credentials`, corpo em stream ou herdado do
|
|
90
|
+
* `Request`…) muda o redirect de um jeito que ele não reproduz: aí o `baggage` não vai e o fetch
|
|
91
|
+
* nativo segue o redirect como sempre.
|
|
92
|
+
*/
|
|
93
|
+
function manualFollowSafe(input, init) {
|
|
94
|
+
if (input instanceof Request) {
|
|
95
|
+
const plain = input.body === null &&
|
|
96
|
+
input.cache === 'default' &&
|
|
97
|
+
input.credentials === 'same-origin' &&
|
|
98
|
+
input.mode === 'cors' &&
|
|
99
|
+
(input.referrer === 'about:client' || input.referrer === '') &&
|
|
100
|
+
input.referrerPolicy === '' &&
|
|
101
|
+
input.integrity === '' &&
|
|
102
|
+
!input.keepalive;
|
|
103
|
+
if (!plain)
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
if (!init)
|
|
107
|
+
return true;
|
|
108
|
+
for (const [key, value] of Object.entries(init)) {
|
|
109
|
+
if (value !== undefined && !MANUAL_FOLLOW_INIT.has(key))
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
return replayableBody(init.body);
|
|
113
|
+
}
|
|
114
|
+
const REDIRECT_STATUS = new Set([301, 302, 303, 307, 308]);
|
|
115
|
+
const MAX_REDIRECTS = 20;
|
|
116
|
+
const BODY_HEADERS = ['content-type', 'content-length', 'content-encoding', 'content-language', 'content-location'];
|
|
117
|
+
const CROSS_ORIGIN_DROPPED = ['authorization', 'proxy-authorization', 'cookie', 'host'];
|
|
118
|
+
/**
|
|
119
|
+
* `redirect: 'follow'` feito aqui, salto a salto, quando o SDK acrescentou `baggage`: o fetch nativo
|
|
120
|
+
* mantém headers próprios num redirect para outra origem, e o `baggage` (ids de usuário e tenant)
|
|
121
|
+
* chegaria a um destino fora de `propagateBaggageTo`. Em cada salto, `traceparent`/`tracestate`
|
|
122
|
+
* seguem `propagateTraceTo` e o `baggage` segue as duas listas; o resto é o que o fetch faria:
|
|
123
|
+
* 301/302 com POST e 303 viram GET sem corpo, outra origem perde `authorization`, `cookie` e afins,
|
|
124
|
+
* no máximo 20 saltos. A resposta final tem a URL do último salto (`redirected` fica `false`).
|
|
125
|
+
*/
|
|
126
|
+
async function followRedirects(send, first, start, injected, allow) {
|
|
127
|
+
let res = await send(first.input, { ...first.init, redirect: 'manual' });
|
|
128
|
+
const headers = new Headers(first.init?.headers ?? (first.input instanceof Request ? first.input.headers : undefined));
|
|
129
|
+
const { body: _body, headers: _headers, method: _method, redirect: _redirect, ...rest } = first.init ?? {};
|
|
130
|
+
const signal = first.init?.signal ?? (first.input instanceof Request ? first.input.signal : undefined);
|
|
131
|
+
let { url, method, body } = start;
|
|
132
|
+
for (let hops = 0; REDIRECT_STATUS.has(res.status); hops += 1) {
|
|
133
|
+
const location = res.headers.get('location');
|
|
134
|
+
if (!location)
|
|
135
|
+
return res;
|
|
136
|
+
let next = null;
|
|
137
|
+
try {
|
|
138
|
+
next = new URL(location, url);
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
next = null;
|
|
142
|
+
}
|
|
143
|
+
await res.body?.cancel().catch(() => undefined);
|
|
144
|
+
if (!next || (next.protocol !== 'http:' && next.protocol !== 'https:'))
|
|
145
|
+
throw new TypeError('fetch failed', { cause: new Error(`redirect para URL inválida: ${location}`) });
|
|
146
|
+
if (hops >= MAX_REDIRECTS)
|
|
147
|
+
throw new TypeError('fetch failed', { cause: new Error('redirect count exceeded') });
|
|
148
|
+
if (((res.status === 301 || res.status === 302) && method === 'POST') || (res.status === 303 && method !== 'GET' && method !== 'HEAD')) {
|
|
149
|
+
method = 'GET';
|
|
150
|
+
body = undefined;
|
|
151
|
+
for (const name of BODY_HEADERS)
|
|
152
|
+
headers.delete(name);
|
|
153
|
+
}
|
|
154
|
+
if (next.origin !== url.origin)
|
|
155
|
+
for (const name of CROSS_ORIGIN_DROPPED)
|
|
156
|
+
headers.delete(name);
|
|
157
|
+
const allowed = allow(next);
|
|
158
|
+
for (const [name, value] of Object.entries(injected)) {
|
|
159
|
+
if (name === BAGGAGE_HEADER ? allowed.baggage : allowed.trace)
|
|
160
|
+
headers.set(name, value);
|
|
161
|
+
else
|
|
162
|
+
headers.delete(name);
|
|
163
|
+
}
|
|
164
|
+
url = next;
|
|
165
|
+
res = await send(next.href, { ...rest, method, headers, body, signal, redirect: 'manual' });
|
|
166
|
+
}
|
|
167
|
+
return res;
|
|
48
168
|
}
|
|
49
169
|
/**
|
|
50
170
|
* Retorna um `fetch` que cria spans `http.client` nomeados
|
|
@@ -56,9 +176,16 @@ export function createInstrumentedFetch(core, fetchImpl = globalThis.fetch) {
|
|
|
56
176
|
const base = fetchImpl;
|
|
57
177
|
const ownEndpoint = core.options.endpoint;
|
|
58
178
|
return async function fgTrackerFetch(input, init) {
|
|
59
|
-
|
|
179
|
+
// Dentro de uma chamada do AWS SDK (handler de fetch), o span dela já cobre este HTTP (S08).
|
|
180
|
+
const parent = core.currentContext();
|
|
181
|
+
if (!core.enabled || !parent)
|
|
60
182
|
return base(input, init);
|
|
61
183
|
const { method, url, raw } = describe(input, init);
|
|
184
|
+
if (parent.httpCovered) {
|
|
185
|
+
if (url)
|
|
186
|
+
core.noteCoveredHttp(url);
|
|
187
|
+
return base(input, init);
|
|
188
|
+
}
|
|
62
189
|
if (!url || raw.startsWith(ownEndpoint))
|
|
63
190
|
return base(input, init);
|
|
64
191
|
const name = `${method} ${url.origin}${normalizePath(url.pathname)}`;
|
|
@@ -79,14 +206,34 @@ export function createInstrumentedFetch(core, fetchImpl = globalThis.fetch) {
|
|
|
79
206
|
}
|
|
80
207
|
}
|
|
81
208
|
let request = { input, init };
|
|
209
|
+
let follow = null;
|
|
82
210
|
if (shouldPropagate(core.options.propagateTraceTo, url)) {
|
|
83
|
-
|
|
211
|
+
const headers = traceContextHeaders(span.context());
|
|
212
|
+
const redirect = init?.redirect ?? (input instanceof Request ? input.redirect : 'follow');
|
|
213
|
+
// `baggage` só para quem também está em `propagateBaggageTo` (padrão: ninguém). Com redirect
|
|
214
|
+
// automático, os saltos são conferidos um a um (`followRedirects`), e só na chamada simples
|
|
215
|
+
// (`manualFollowSafe`); nos outros casos o `baggage` não vai e o fetch nativo segue o redirect.
|
|
216
|
+
const simple = manualFollowSafe(input, init);
|
|
217
|
+
if (span.baggage && shouldPropagate(core.options.propagateBaggageTo, url) && (redirect !== 'follow' || simple)) {
|
|
218
|
+
headers[BAGGAGE_HEADER] = span.baggage;
|
|
219
|
+
}
|
|
220
|
+
const prepared = withTraceContext(input, init, headers);
|
|
221
|
+
request = prepared;
|
|
222
|
+
if (redirect === 'follow' && prepared.injected[BAGGAGE_HEADER] !== undefined) {
|
|
223
|
+
// O corpo é congelado agora (antes de qualquer `await`), e o mesmo retrato vai em todos os saltos.
|
|
224
|
+
const body = frozenBody(init?.body);
|
|
225
|
+
const first = init && 'body' in init ? { input: prepared.input, init: { ...prepared.init, body } } : prepared;
|
|
226
|
+
follow = () => followRedirects(base, first, { url, method, body }, prepared.injected, (next) => {
|
|
227
|
+
const trace = shouldPropagate(core.options.propagateTraceTo, next);
|
|
228
|
+
return { trace, baggage: trace && shouldPropagate(core.options.propagateBaggageTo, next) };
|
|
229
|
+
});
|
|
230
|
+
}
|
|
84
231
|
span.setAttribute('propagated', true);
|
|
85
232
|
}
|
|
86
233
|
let handedOff = false;
|
|
87
234
|
const signal = init?.signal ?? (input instanceof Request ? input.signal : undefined);
|
|
88
235
|
try {
|
|
89
|
-
const res = await core.runInSpan(span, () => base(request.input, request.init));
|
|
236
|
+
const res = await core.runInSpan(span, () => (follow ? follow() : base(request.input, request.init)));
|
|
90
237
|
span.statusCode = res.status;
|
|
91
238
|
if (res.status >= 500)
|
|
92
239
|
span.error = { name: 'HttpError', message: `HTTP ${res.status}` };
|
package/dist/fetch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export type { DatabaseInstrumentationOptions, DatabaseOperation, PostgresSqlLike } from "./database.js";
|
|
2
2
|
import type { Tracker, TrackerOptions } from './types.js';
|
|
3
|
-
export type { ActiveSpan, CheckInHandle, CheckInOptions, ExpressErrorMiddleware, ExpressLikeRequest, ExpressLikeResponse, ExpressMiddleware, ExpressOptions, InfraOptions, NextRouteHandler, PgPoolLike, PropagationTargets, RegisterReleaseInput, ReleaseCommitInput, SamplingContext, Span, SpanError, SpanKind, Tracker, TrackerOptions, UserRef, } from './types.js';
|
|
3
|
+
export type { ActiveSpan, CheckInHandle, CheckInOptions, ExpressErrorMiddleware, ExpressLikeRequest, ExpressLikeResponse, ExpressMiddleware, ExpressOptions, InfraOptions, NextRouteHandler, PgPoolLike, PropagationTargets, RegisterReleaseInput, ReleaseCommitInput, SamplingContext, Span, SpanError, SpanKind, Tracker, TrackerOptions, UpstreamSamplingOrigin, UpstreamSamplingPolicy, UserRef, } from './types.js';
|
|
4
4
|
export type { MeasureOptions } from './measure.js';
|
|
5
5
|
export type { NestContainerLike, NestInstrumentationOptions } from './nest.js';
|
|
6
6
|
export { MIN_POOL_WAIT_MS } from './pool-wait.js';
|
|
7
7
|
export { normalizePath, normalizeSql } from './normalize.js';
|
|
8
8
|
export { detectEnvironment, detectRelease, shouldPropagate } from './tracker.js';
|
|
9
|
-
export { formatTraceparent, parseTraceContext, parseTraceparent, TRACEPARENT_HEADER, TRACESTATE_HEADER } from './context.js';
|
|
10
|
-
export { DEFAULT_SCRUB_FIELDS, scrubAttributes } from './scrub.js';
|
|
9
|
+
export { BAGGAGE_HEADER, formatTraceparent, parseTraceContext, parseTraceparent, sanitizeBaggage, TRACEPARENT_HEADER, TRACESTATE_HEADER } from './context.js';
|
|
10
|
+
export { DEFAULT_SCRUB_FIELDS, scrubAttributes, scrubText, scrubUrl } from './scrub.js';
|
|
11
11
|
export { API_KEY_HEADER, DEFAULT_ENDPOINT, readEnv } from './constants.js';
|
|
12
12
|
export { InfraAggregator, detectArchitecture, infraKey } from './infra/aggregator.js';
|
|
13
13
|
export type { InfraAggregate, InfraAggregatorOptions, InfraKind, InfraResourceRef } from './infra/aggregator.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,8BAA8B,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAiBxG,OAAO,KAAK,EAAsE,OAAO,EAAE,cAAc,EAAW,MAAM,YAAY,CAAC;AAEvI,YAAY,EACV,UAAU,EACV,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,OAAO,EACP,cAAc,EACd,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -17,8 +17,8 @@ import { wrapLambdaHandler } from './infra/lambda.js';
|
|
|
17
17
|
export { MIN_POOL_WAIT_MS } from './pool-wait.js';
|
|
18
18
|
export { normalizePath, normalizeSql } from './normalize.js';
|
|
19
19
|
export { detectEnvironment, detectRelease, shouldPropagate } from './tracker.js';
|
|
20
|
-
export { formatTraceparent, parseTraceContext, parseTraceparent, TRACEPARENT_HEADER, TRACESTATE_HEADER } from './context.js';
|
|
21
|
-
export { DEFAULT_SCRUB_FIELDS, scrubAttributes } from './scrub.js';
|
|
20
|
+
export { BAGGAGE_HEADER, formatTraceparent, parseTraceContext, parseTraceparent, sanitizeBaggage, TRACEPARENT_HEADER, TRACESTATE_HEADER } from './context.js';
|
|
21
|
+
export { DEFAULT_SCRUB_FIELDS, scrubAttributes, scrubText, scrubUrl } from './scrub.js';
|
|
22
22
|
export { API_KEY_HEADER, DEFAULT_ENDPOINT, readEnv } from './constants.js';
|
|
23
23
|
export { InfraAggregator, detectArchitecture, infraKey } from './infra/aggregator.js';
|
|
24
24
|
export { parseArn, sqsQueueRef } from './infra/aws.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAErH,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAmD,MAAM,gBAAgB,CAAC;AACzH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/infra/aws.d.ts
CHANGED
|
@@ -46,10 +46,13 @@ export interface AwsInstrumentationOptions {
|
|
|
46
46
|
propagation?: boolean;
|
|
47
47
|
/**
|
|
48
48
|
* Limite de bytes por mensagem SQS usado para decidir se o contexto cabe. Default 1 MiB (cota do
|
|
49
|
-
* SQS). Use o `MaximumMessageSize` da fila se ele for menor; mesmo sem isso,
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
49
|
+
* SQS). Use o `MaximumMessageSize` da fila se ele for menor; mesmo sem isso, uma recusa por
|
|
50
|
+
* tamanho com o contexto é repetida sem ele (o pedido inteiro ou, na fila padrão, as entradas
|
|
51
|
+
* recusadas do lote). Em `SendMessageBatch` para fila FIFO (`.fifo`), sem esta opção o contexto só
|
|
52
|
+
* vai em mensagens de até 1 KiB (o menor `MaximumMessageSize` possível) e uma entrada recusada não
|
|
53
|
+
* é reenviada sozinha (mudaria a ordem do grupo); o SQS real recusa o lote FIFO inteiro (HTTP 400),
|
|
54
|
+
* que é repetido inteiro sem o contexto, na ordem. O `SendMessage` avulso, inclusive FIFO, usa este
|
|
55
|
+
* limite: a recusa não publica nada e o pedido é repetido sem o contexto.
|
|
53
56
|
*/
|
|
54
57
|
sqsMaxMessageBytes?: number;
|
|
55
58
|
/** Limite do pedido `PutEvents` (soma das entradas). Default 1 MiB. */
|
package/dist/infra/aws.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aws.d.ts","sourceRoot":"","sources":["../../src/infra/aws.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAA8B,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAUL,gBAAgB,EAWjB,MAAM,gBAAgB,CAAC;AAExB;;;GAGG;AAEH,iGAAiG;AACjG,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE;QACf,GAAG,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,KAAK,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;KAC/H,CAAC;IACF,MAAM,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7E;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE5J,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AA2ED,gFAAgF;AAChF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAIlG;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAgBpF;
|
|
1
|
+
{"version":3,"file":"aws.d.ts","sourceRoot":"","sources":["../../src/infra/aws.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAA8B,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAUL,gBAAgB,EAWjB,MAAM,gBAAgB,CAAC;AAExB;;;GAGG;AAEH,iGAAiG;AACjG,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE;QACf,GAAG,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,KAAK,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;KAC/H,CAAC;IACF,MAAM,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7E;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE5J,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AA2ED,gFAAgF;AAChF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAIlG;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAgBpF;AA6PD,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;OASG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uEAAuE;IACvE,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC;AAID,kHAAkH;AAClH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,gBAAgB,CAOpE;AAoBD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAYlD;AAuJD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,GAAE,yBAA8B,GAAG,CAAC,CAyQrI;AAED,wGAAwG;AACxG,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEtC,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,CA6D5I"}
|
package/dist/infra/aws.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { performance } from 'node:perf_hooks';
|
|
2
|
+
import { als } from '../context.js';
|
|
2
3
|
import { isBedrockRuntime, startBedrockCall } from '../genai/bedrock.js';
|
|
3
4
|
import { EVENTBRIDGE_MAX_REQUEST_BYTES, eventBridgeEntryBytes, injectEventBridgeContext, injectSqsContext, isValidationCode, isValidationError, metaContext, planReceive, readSqsMessage, ReceivedMessages, SQS_MAX_BATCH_BYTES, SQS_MAX_MESSAGE_BYTES, SQS_MIN_MESSAGE_BYTES, sqsAttributesMd5, sqsMessageBytes, stripReceivedMessage, uniqueLinks, } from './messaging.js';
|
|
4
5
|
const PATCHED = Symbol.for('fg-tracker.aws.patched');
|
|
@@ -363,6 +364,11 @@ function httpStatus(value) {
|
|
|
363
364
|
const status = obj(obj(value).$metadata).httpStatusCode;
|
|
364
365
|
return typeof status === 'number' ? status : null;
|
|
365
366
|
}
|
|
367
|
+
/** Tentativas do retry do AWS SDK (`$metadata.attempts`): sem os spans `node:http` filhos, é o que mostra os retries. */
|
|
368
|
+
function attemptsOf(value) {
|
|
369
|
+
const attempts = obj(obj(value).$metadata).attempts;
|
|
370
|
+
return typeof attempts === 'number' && Number.isFinite(attempts) ? attempts : 1;
|
|
371
|
+
}
|
|
366
372
|
const received = new WeakMap();
|
|
367
373
|
/** Mensagens recebidas por clients instrumentados deste tracker (contexto lido antes de retirar os atributos). */
|
|
368
374
|
export function receivedMessages(core) {
|
|
@@ -395,11 +401,13 @@ export function isFifoQueue(queue) {
|
|
|
395
401
|
function sqsPublishPlan(args, operation, ref, configured) {
|
|
396
402
|
const input = obj(args.input);
|
|
397
403
|
const queueName = ref?.resourceName ?? str(input.QueueUrl) ?? 'queue';
|
|
398
|
-
// FIFO: reenviar uma entrada recusada depois das aceitas mudaria a ordem do grupo. Sem o
|
|
399
|
-
// da fila declarado, o contexto só entra onde nenhuma fila o recusa (o mínimo do SQS,
|
|
400
|
-
// e entradas de lote recusadas não são reenviadas fora de ordem.
|
|
404
|
+
// FIFO em lote: reenviar uma entrada recusada depois das aceitas mudaria a ordem do grupo. Sem o
|
|
405
|
+
// limite da fila declarado, o contexto só entra onde nenhuma fila o recusa (o mínimo do SQS,
|
|
406
|
+
// 1 KiB), e entradas de lote recusadas não são reenviadas fora de ordem. O `SendMessage` avulso
|
|
407
|
+
// não tem esse risco (a recusa não publica nada e o pedido é repetido sem o contexto) e usa o
|
|
408
|
+
// limite configurado (O2).
|
|
401
409
|
const fifo = isFifoQueue(str(input.QueueUrl) ?? queueName);
|
|
402
|
-
const
|
|
410
|
+
const batchLimits = { messageBytes: fifo && !configured.declared ? SQS_MIN_MESSAGE_BYTES : configured.messageBytes };
|
|
403
411
|
const base = {
|
|
404
412
|
'messaging.system': 'aws_sqs',
|
|
405
413
|
'messaging.operation.type': 'send',
|
|
@@ -412,7 +420,7 @@ function sqsPublishPlan(args, operation, ref, configured) {
|
|
|
412
420
|
name: `SQS publish ${queueName}`,
|
|
413
421
|
attributes: base,
|
|
414
422
|
inject(ctx) {
|
|
415
|
-
const result = injectSqsContext(input, ctx, { messageBytes:
|
|
423
|
+
const result = injectSqsContext(input, ctx, { messageBytes: configured.messageBytes, budgetBytes: Number.POSITIVE_INFINITY });
|
|
416
424
|
return {
|
|
417
425
|
args: result.injected ? { ...args, input: result.entry } : args,
|
|
418
426
|
injected: new Set(result.injected ? ['message'] : []),
|
|
@@ -444,7 +452,7 @@ function sqsPublishPlan(args, operation, ref, configured) {
|
|
|
444
452
|
const injected = new Set();
|
|
445
453
|
const skipped = [];
|
|
446
454
|
const next = entries.map((entry) => {
|
|
447
|
-
const result = injectSqsContext(entry, ctx, { messageBytes:
|
|
455
|
+
const result = injectSqsContext(entry, ctx, { messageBytes: batchLimits.messageBytes, budgetBytes: Math.max(0, remaining) });
|
|
448
456
|
if (result.injected) {
|
|
449
457
|
remaining -= result.addedBytes;
|
|
450
458
|
injected.add(String(entry.Id));
|
|
@@ -648,10 +656,15 @@ export function instrumentAwsClient(core, client, options = {}) {
|
|
|
648
656
|
}
|
|
649
657
|
let handedOff = false;
|
|
650
658
|
try {
|
|
659
|
+
// O HTTP da operação (node:http ou fetch) é coberto por este span no `fgTrackerHttpCovered`,
|
|
660
|
+
// depois da assinatura: a busca de credenciais (ECS, IMDS) continua com o próprio span.
|
|
651
661
|
const result = span ? await core.runInSpan(span, () => next(finalArgs)) : await next(finalArgs);
|
|
652
662
|
const output = obj(result?.output);
|
|
653
663
|
if (span) {
|
|
654
664
|
span.statusCode = httpStatus(output) ?? 200;
|
|
665
|
+
const attempts = attemptsOf(output);
|
|
666
|
+
if (attempts > 1)
|
|
667
|
+
span.setAttribute('aws.attempts', attempts);
|
|
655
668
|
try {
|
|
656
669
|
decorate?.(span, output);
|
|
657
670
|
}
|
|
@@ -673,6 +686,9 @@ export function instrumentAwsClient(core, client, options = {}) {
|
|
|
673
686
|
catch (err) {
|
|
674
687
|
if (span) {
|
|
675
688
|
span.statusCode = httpStatus(err);
|
|
689
|
+
const attempts = attemptsOf(err);
|
|
690
|
+
if (attempts > 1)
|
|
691
|
+
span.setAttribute('aws.attempts', attempts);
|
|
676
692
|
if (genAi) {
|
|
677
693
|
handedOff = true;
|
|
678
694
|
try {
|
|
@@ -830,6 +846,18 @@ export function instrumentAwsClient(core, client, options = {}) {
|
|
|
830
846
|
}
|
|
831
847
|
};
|
|
832
848
|
client.middlewareStack.add(middleware, { step: 'initialize', name: 'fgTrackerInfra', override: true, tags: ['FG_TRACKER'] });
|
|
849
|
+
// S08: o envio da operação (cada tentativa: o retry fica por fora, com prioridade alta) já é o span
|
|
850
|
+
// `http.client` aberto acima. O node:http e o fetch instrumentado não criam outro span nem injetam
|
|
851
|
+
// `traceparent`, só passam o host real para ele. Fica depois da assinatura e da resolução de
|
|
852
|
+
// credenciais: o HTTP do provedor de credenciais não é confundido com o da operação.
|
|
853
|
+
const covered = (next) => (args) => {
|
|
854
|
+
const ctx = core.currentContext();
|
|
855
|
+
const span = core.currentSpan();
|
|
856
|
+
if (!ctx || ctx.httpCovered || !span || span.kind !== 'http.client' || span.attributes['aws.service'] === undefined)
|
|
857
|
+
return next(args);
|
|
858
|
+
return als.run({ ...ctx, httpCovered: true }, () => next(args));
|
|
859
|
+
};
|
|
860
|
+
client.middlewareStack.add(covered, { step: 'finalizeRequest', priority: 'low', name: 'fgTrackerHttpCovered', override: true, tags: ['FG_TRACKER'] });
|
|
833
861
|
return client;
|
|
834
862
|
}
|
|
835
863
|
/**
|
|
@@ -883,7 +911,10 @@ export async function trackQueueMessage(core, queue, fn, record) {
|
|
|
883
911
|
// Lote de mensagens de produtores diferentes: a invocação fica no próprio trace, como link.
|
|
884
912
|
if (current)
|
|
885
913
|
attributes.links = [{ traceId: current.traceId, spanId: current.spanId }];
|
|
886
|
-
|
|
914
|
+
// A raiz da mensagem é aberta pelo SDK dentro da execução da invocação: as queries dela podem
|
|
915
|
+
// usar a transação de lote dessa invocação quando as decisões coincidem (parâmetro explícito;
|
|
916
|
+
// entradas HTTP e Lambda nunca herdam a execução).
|
|
917
|
+
span = core.startRemoteRoot('custom', name, attributes, remote, { origin: 'messaging', ...(current ? { execution: current } : {}) });
|
|
887
918
|
}
|
|
888
919
|
else {
|
|
889
920
|
span = core.startSpan('custom', name, attributes);
|