fg-tracker-sdk 0.9.0 → 0.11.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 +36 -0
- package/README.md +83 -10
- package/dist/context.d.ts +16 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +27 -0
- package/dist/context.js.map +1 -1
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +34 -5
- package/dist/database.js.map +1 -1
- package/dist/exit-hooks.d.ts +23 -0
- package/dist/exit-hooks.d.ts.map +1 -0
- package/dist/exit-hooks.js +88 -0
- package/dist/exit-hooks.js.map +1 -0
- package/dist/express.js +2 -2
- package/dist/express.js.map +1 -1
- package/dist/fetch.d.ts.map +1 -1
- package/dist/fetch.js +16 -8
- package/dist/fetch.js.map +1 -1
- package/dist/global-errors.d.ts +8 -5
- package/dist/global-errors.d.ts.map +1 -1
- package/dist/global-errors.js +59 -10
- package/dist/global-errors.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -7
- package/dist/index.js.map +1 -1
- package/dist/infra/aggregator.d.ts +5 -0
- package/dist/infra/aggregator.d.ts.map +1 -1
- package/dist/infra/aggregator.js.map +1 -1
- package/dist/infra/aws.d.ts +45 -3
- package/dist/infra/aws.d.ts.map +1 -1
- package/dist/infra/aws.js +419 -29
- package/dist/infra/aws.js.map +1 -1
- package/dist/infra/lambda.d.ts +19 -0
- package/dist/infra/lambda.d.ts.map +1 -1
- package/dist/infra/lambda.js +63 -10
- package/dist/infra/lambda.js.map +1 -1
- package/dist/infra/messaging.d.ts +133 -0
- package/dist/infra/messaging.d.ts.map +1 -0
- package/dist/infra/messaging.js +366 -0
- package/dist/infra/messaging.js.map +1 -0
- package/dist/logs/shipper.d.ts +5 -4
- package/dist/logs/shipper.d.ts.map +1 -1
- package/dist/logs/shipper.js +170 -52
- package/dist/logs/shipper.js.map +1 -1
- package/dist/logs/types.d.ts +18 -2
- package/dist/logs/types.d.ts.map +1 -1
- package/dist/next.js +2 -2
- package/dist/next.js.map +1 -1
- package/dist/node-http.d.ts.map +1 -1
- package/dist/node-http.js +7 -3
- package/dist/node-http.js.map +1 -1
- package/dist/normalize.d.ts +32 -0
- package/dist/normalize.d.ts.map +1 -1
- package/dist/normalize.js +165 -10
- package/dist/normalize.js.map +1 -1
- package/dist/pg.d.ts +8 -3
- package/dist/pg.d.ts.map +1 -1
- package/dist/pg.js +512 -41
- package/dist/pg.js.map +1 -1
- package/dist/scrub.d.ts +5 -0
- package/dist/scrub.d.ts.map +1 -1
- package/dist/scrub.js +17 -1
- package/dist/scrub.js.map +1 -1
- package/dist/tracker.d.ts +109 -7
- package/dist/tracker.d.ts.map +1 -1
- package/dist/tracker.js +502 -95
- package/dist/tracker.js.map +1 -1
- package/dist/transport.d.ts +115 -0
- package/dist/transport.d.ts.map +1 -0
- package/dist/transport.js +323 -0
- package/dist/transport.js.map +1 -0
- package/dist/types.d.ts +61 -8
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -1
package/dist/fetch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAwCjE;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,GAAE,OAAO,UAAU,CAAC,KAAwB,GAAG,OAAO,UAAU,CAAC,KAAK,CA6BzI"}
|
package/dist/fetch.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { normalizePath } from './normalize.js';
|
|
1
|
+
import { TRACEPARENT_HEADER, TRACESTATE_HEADER, traceContextHeaders } from './context.js';
|
|
2
|
+
import { httpClientSemconv, normalizePath } from './normalize.js';
|
|
3
3
|
import { shouldPropagate } from './tracker.js';
|
|
4
4
|
function describe(input, init) {
|
|
5
5
|
let raw;
|
|
@@ -21,18 +21,26 @@ function describe(input, init) {
|
|
|
21
21
|
}
|
|
22
22
|
return { method: (method ?? 'GET').toUpperCase(), url, raw };
|
|
23
23
|
}
|
|
24
|
-
/**
|
|
25
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Acrescenta `traceparent` (e `tracestate`, quando o trace veio com um) ao request sem perder
|
|
26
|
+
* headers já definidos (Request, Headers, array ou objeto). Um `traceparent` já presente vence.
|
|
27
|
+
*/
|
|
28
|
+
function withTraceContext(input, init, values) {
|
|
29
|
+
const apply = (headers) => {
|
|
30
|
+
headers.set(TRACEPARENT_HEADER, values[TRACEPARENT_HEADER]);
|
|
31
|
+
if (values[TRACESTATE_HEADER] && !headers.has(TRACESTATE_HEADER))
|
|
32
|
+
headers.set(TRACESTATE_HEADER, values[TRACESTATE_HEADER]);
|
|
33
|
+
};
|
|
26
34
|
if (input instanceof Request && !init?.headers) {
|
|
27
35
|
if (input.headers.has(TRACEPARENT_HEADER))
|
|
28
36
|
return { input, init };
|
|
29
37
|
const headers = new Headers(input.headers);
|
|
30
|
-
headers
|
|
38
|
+
apply(headers);
|
|
31
39
|
return { input: new Request(input, { headers }), init };
|
|
32
40
|
}
|
|
33
41
|
const headers = new Headers(init?.headers ?? (input instanceof Request ? input.headers : undefined));
|
|
34
42
|
if (!headers.has(TRACEPARENT_HEADER))
|
|
35
|
-
headers
|
|
43
|
+
apply(headers);
|
|
36
44
|
return { input, init: { ...init, headers } };
|
|
37
45
|
}
|
|
38
46
|
/**
|
|
@@ -51,12 +59,12 @@ export function createInstrumentedFetch(core, fetchImpl = globalThis.fetch) {
|
|
|
51
59
|
if (!url || raw.startsWith(ownEndpoint))
|
|
52
60
|
return base(input, init);
|
|
53
61
|
const name = `${method} ${url.origin}${normalizePath(url.pathname)}`;
|
|
54
|
-
const span = core.startSpan('http.client', name, { url: url.origin + url.pathname + url.search, host: url.host });
|
|
62
|
+
const span = core.startSpan('http.client', name, { url: url.origin + url.pathname + url.search, host: url.host, ...httpClientSemconv(url) });
|
|
55
63
|
span.method = method;
|
|
56
64
|
span.route = normalizePath(url.pathname);
|
|
57
65
|
let request = { input, init };
|
|
58
66
|
if (shouldPropagate(core.options.propagateTraceTo, url)) {
|
|
59
|
-
request =
|
|
67
|
+
request = withTraceContext(input, init, traceContextHeaders(span.context()));
|
|
60
68
|
span.setAttribute('propagated', true);
|
|
61
69
|
}
|
|
62
70
|
try {
|
package/dist/fetch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
|
package/dist/global-errors.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import type { TrackerCore } from './tracker.js';
|
|
2
|
+
/** Prazo do envio antes de encerrar por exceção não tratada. */
|
|
3
|
+
export declare const FATAL_FLUSH_TIMEOUT_MS = 2000;
|
|
2
4
|
/**
|
|
3
5
|
* Captura global de erros do processo (opcional, `captureGlobalErrors: true`):
|
|
4
|
-
* - `uncaughtExceptionMonitor`
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* - `uncaughtExceptionMonitor` registra o erro como span `custom` (`process.uncaughtException`);
|
|
7
|
+
* - sem outro listener de `uncaughtException`, o Node encerraria antes de o envio terminar: o SDK
|
|
8
|
+
* envia a fila com prazo de 2 s (limitado a `shutdownTimeoutMs`), escreve o erro no stderr e sai
|
|
9
|
+
* com código 1, como o Node. Com outro listener, quem decide o destino do processo é ele;
|
|
10
|
+
* - `unhandledRejection` é registrado e, se este for o único listener, o erro é relançado no
|
|
11
|
+
* próximo tick para preservar o comportamento padrão do Node (e cai no caso acima).
|
|
9
12
|
*/
|
|
10
13
|
export declare function installGlobalErrorCapture(core: TrackerCore): () => void;
|
|
11
14
|
//# sourceMappingURL=global-errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-errors.d.ts","sourceRoot":"","sources":["../src/global-errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD
|
|
1
|
+
{"version":3,"file":"global-errors.d.ts","sourceRoot":"","sources":["../src/global-errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,gEAAgE;AAChE,eAAO,MAAM,sBAAsB,OAAO,CAAC;AA0D3C;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,IAAI,CAkCvE"}
|
package/dist/global-errors.js
CHANGED
|
@@ -1,12 +1,47 @@
|
|
|
1
|
+
/** Prazo do envio antes de encerrar por exceção não tratada. */
|
|
2
|
+
export const FATAL_FLUSH_TIMEOUT_MS = 2000;
|
|
3
|
+
const REGISTRY_KEY = Symbol.for('fg-tracker.global-errors.v1');
|
|
4
|
+
function registry() {
|
|
5
|
+
const holder = globalThis;
|
|
6
|
+
const existing = holder[REGISTRY_KEY];
|
|
7
|
+
if (existing)
|
|
8
|
+
return existing;
|
|
9
|
+
const created = {
|
|
10
|
+
cores: new Set(),
|
|
11
|
+
fatal: false,
|
|
12
|
+
rejectionHandlers: new Set(),
|
|
13
|
+
rethrownPromises: new WeakSet(),
|
|
14
|
+
onFatal: (err) => {
|
|
15
|
+
// Outro listener (da aplicação, inclusive `process.once`) decide o destino do processo. O
|
|
16
|
+
// `onFatal` fica na frente da lista (`prependListener`): quando ele roda, um `once` da
|
|
17
|
+
// aplicação ainda não foi removido pelo EventEmitter.
|
|
18
|
+
if (process.listeners('uncaughtException').some((listener) => listener !== created.onFatal))
|
|
19
|
+
return;
|
|
20
|
+
if (created.fatal)
|
|
21
|
+
return;
|
|
22
|
+
created.fatal = true;
|
|
23
|
+
const now = Date.now();
|
|
24
|
+
const flushes = [...created.cores].map((core) => core.flushForExit(now + Math.min(FATAL_FLUSH_TIMEOUT_MS, core.options.shutdownTimeoutMs)));
|
|
25
|
+
void Promise.allSettled(flushes).finally(() => {
|
|
26
|
+
process.stderr.write(`${err instanceof Error && err.stack ? err.stack : String(err)}\n`);
|
|
27
|
+
process.exit(1);
|
|
28
|
+
});
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
holder[REGISTRY_KEY] = created;
|
|
32
|
+
return created;
|
|
33
|
+
}
|
|
1
34
|
/**
|
|
2
35
|
* Captura global de erros do processo (opcional, `captureGlobalErrors: true`):
|
|
3
|
-
* - `uncaughtExceptionMonitor`
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
36
|
+
* - `uncaughtExceptionMonitor` registra o erro como span `custom` (`process.uncaughtException`);
|
|
37
|
+
* - sem outro listener de `uncaughtException`, o Node encerraria antes de o envio terminar: o SDK
|
|
38
|
+
* envia a fila com prazo de 2 s (limitado a `shutdownTimeoutMs`), escreve o erro no stderr e sai
|
|
39
|
+
* com código 1, como o Node. Com outro listener, quem decide o destino do processo é ele;
|
|
40
|
+
* - `unhandledRejection` é registrado e, se este for o único listener, o erro é relançado no
|
|
41
|
+
* próximo tick para preservar o comportamento padrão do Node (e cai no caso acima).
|
|
8
42
|
*/
|
|
9
43
|
export function installGlobalErrorCapture(core) {
|
|
44
|
+
const state = registry();
|
|
10
45
|
const record = (name, err) => {
|
|
11
46
|
if (!core.enabled)
|
|
12
47
|
return;
|
|
@@ -17,19 +52,33 @@ export function installGlobalErrorCapture(core) {
|
|
|
17
52
|
void core.flush();
|
|
18
53
|
};
|
|
19
54
|
const onException = (err) => record('process.uncaughtException', err);
|
|
20
|
-
const onRejection = (reason) => {
|
|
55
|
+
const onRejection = (reason, promise) => {
|
|
21
56
|
record('process.unhandledRejection', reason);
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
57
|
+
// Só listeners do SDK (um por tracker): relança uma vez por promessa, como o Node faria sem eles.
|
|
58
|
+
if (!process.listeners('unhandledRejection').every((listener) => state.rejectionHandlers.has(listener)))
|
|
59
|
+
return;
|
|
60
|
+
if (promise && typeof promise === 'object') {
|
|
61
|
+
if (state.rethrownPromises.has(promise))
|
|
62
|
+
return;
|
|
63
|
+
state.rethrownPromises.add(promise);
|
|
26
64
|
}
|
|
65
|
+
process.nextTick(() => {
|
|
66
|
+
throw reason;
|
|
67
|
+
});
|
|
27
68
|
};
|
|
69
|
+
state.rejectionHandlers.add(onRejection);
|
|
28
70
|
process.on('uncaughtExceptionMonitor', onException);
|
|
29
71
|
process.on('unhandledRejection', onRejection);
|
|
72
|
+
if (state.cores.size === 0)
|
|
73
|
+
process.prependListener('uncaughtException', state.onFatal);
|
|
74
|
+
state.cores.add(core);
|
|
30
75
|
return () => {
|
|
31
76
|
process.off('uncaughtExceptionMonitor', onException);
|
|
32
77
|
process.off('unhandledRejection', onRejection);
|
|
78
|
+
state.rejectionHandlers.delete(onRejection);
|
|
79
|
+
state.cores.delete(core);
|
|
80
|
+
if (state.cores.size === 0)
|
|
81
|
+
process.off('uncaughtException', state.onFatal);
|
|
33
82
|
};
|
|
34
83
|
}
|
|
35
84
|
//# sourceMappingURL=global-errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-errors.js","sourceRoot":"","sources":["../src/global-errors.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"global-errors.js","sourceRoot":"","sources":["../src/global-errors.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,13 +6,15 @@ 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, parseTraceparent, TRACEPARENT_HEADER } from './context.js';
|
|
9
|
+
export { formatTraceparent, parseTraceContext, parseTraceparent, TRACEPARENT_HEADER, TRACESTATE_HEADER } from './context.js';
|
|
10
10
|
export { DEFAULT_SCRUB_FIELDS, scrubAttributes } 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';
|
|
14
14
|
export { parseArn, sqsQueueRef } from './infra/aws.js';
|
|
15
|
-
export type { AwsClientLike, AwsHandlerContext, AwsNextHandler } from './infra/aws.js';
|
|
15
|
+
export type { AwsClientLike, AwsHandlerContext, AwsInstrumentationOptions, AwsNextHandler, QueueMessageLike, TrackMessageOptions } from './infra/aws.js';
|
|
16
|
+
export { EVENTBRIDGE_MAX_REQUEST_BYTES, MAX_LINKS, SQS_MAX_BATCH_BYTES, SQS_MAX_MESSAGE_ATTRIBUTES, SQS_MAX_MESSAGE_BYTES, SQS_MIN_MESSAGE_BYTES, sqsAttributesMd5, } from './infra/messaging.js';
|
|
17
|
+
export type { SpanLink } from './infra/messaging.js';
|
|
16
18
|
export type { PgPoolMonitorOptions, PgPoolStatsLike } from './infra/db-pool.js';
|
|
17
19
|
export type { InfraReporter, InfraReporterOptions } from './infra/ecs.js';
|
|
18
20
|
export { hasLambdaExtension, LAMBDA_EXTENSION_PATH } from './infra/lambda.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,gBAAgB,EAAE,kBAAkB,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,11 +17,12 @@ 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, parseTraceparent, TRACEPARENT_HEADER } from './context.js';
|
|
20
|
+
export { formatTraceparent, parseTraceContext, parseTraceparent, TRACEPARENT_HEADER, TRACESTATE_HEADER } from './context.js';
|
|
21
21
|
export { DEFAULT_SCRUB_FIELDS, scrubAttributes } 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';
|
|
25
|
+
export { EVENTBRIDGE_MAX_REQUEST_BYTES, MAX_LINKS, SQS_MAX_BATCH_BYTES, SQS_MAX_MESSAGE_ATTRIBUTES, SQS_MAX_MESSAGE_BYTES, SQS_MIN_MESSAGE_BYTES, sqsAttributesMd5, } from './infra/messaging.js';
|
|
25
26
|
export { hasLambdaExtension, LAMBDA_EXTENSION_PATH } from './infra/lambda.js';
|
|
26
27
|
/**
|
|
27
28
|
* Cria um tracker do FG Tracker.
|
|
@@ -47,8 +48,7 @@ export function createTracker(options) {
|
|
|
47
48
|
// Ligado por default: a saída HTTP que não passa pelo `fetch` (AWS SDK, axios,
|
|
48
49
|
// got, node-fetch 2, gaxios, web-push) é invisível sem isto.
|
|
49
50
|
const uninstrumentNodeHttp = options.instrumentNodeHttp !== false && core.enabled ? instrumentNodeHttp(core) : undefined;
|
|
50
|
-
|
|
51
|
-
installGlobalErrorCapture(core);
|
|
51
|
+
const uninstallGlobalErrors = options.captureGlobalErrors && core.enabled ? installGlobalErrorCapture(core) : undefined;
|
|
52
52
|
const tracker = {
|
|
53
53
|
express: (expressOptions) => createExpressMiddleware(core, expressOptions),
|
|
54
54
|
expressErrorHandler: () => createExpressErrorHandler(core),
|
|
@@ -129,8 +129,14 @@ export function createTracker(options) {
|
|
|
129
129
|
checkIn: (slug, fn, checkInOptions) => runCheckIn(core, slug, fn, checkInOptions),
|
|
130
130
|
monitor: (slug, checkInOptions) => createMonitor(core, slug, checkInOptions),
|
|
131
131
|
registerRelease: (input) => registerRelease(core, input),
|
|
132
|
-
instrumentAws: (client) => instrumentAwsClient(core, client),
|
|
133
|
-
trackMessage: (queue,
|
|
132
|
+
instrumentAws: (client, awsOptions) => instrumentAwsClient(core, client, awsOptions),
|
|
133
|
+
trackMessage: (queue, second, third) => {
|
|
134
|
+
if (typeof second === 'function')
|
|
135
|
+
return trackQueueMessage(core, queue, second, third?.record);
|
|
136
|
+
if (typeof third !== 'function')
|
|
137
|
+
return Promise.reject(new TypeError('trackMessage(queue, record, fn): fn precisa ser uma função'));
|
|
138
|
+
return trackQueueMessage(core, queue, third, second);
|
|
139
|
+
},
|
|
134
140
|
instrumentPgPool: (pool, poolOptions) => monitorPgPool(core, pool, poolOptions),
|
|
135
141
|
startInfraReporter: (reporterOptions) => startInfraReporter(core, reporterOptions),
|
|
136
142
|
wrapLambda: (handler, lambdaOptions) => wrapLambdaHandler(core, handler, lambdaOptions),
|
|
@@ -143,9 +149,10 @@ export function createTracker(options) {
|
|
|
143
149
|
flush: () => core.flush(),
|
|
144
150
|
// As inscrições em `diagnostics_channel` são do processo, não do tracker:
|
|
145
151
|
// sem cancelar, um tracker desligado continuaria instrumentando requisições.
|
|
146
|
-
shutdown: async () => {
|
|
152
|
+
shutdown: async (shutdownOptions) => {
|
|
147
153
|
uninstrumentNodeHttp?.();
|
|
148
|
-
await core.shutdown();
|
|
154
|
+
await core.shutdown(shutdownOptions);
|
|
155
|
+
uninstallGlobalErrors?.();
|
|
149
156
|
},
|
|
150
157
|
};
|
|
151
158
|
return tracker;
|
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,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,11 @@
|
|
|
9
9
|
export type InfraKind = 'lambda' | 'ecs_task' | 'sqs' | 'sns' | 'eventbridge' | 'kinesis' | 'dynamodb' | 'db_pool' | 'sfn';
|
|
10
10
|
/** Agregado enviado em `POST /v1/ingest` → `infra[]`. */
|
|
11
11
|
export interface InfraAggregate {
|
|
12
|
+
/**
|
|
13
|
+
* Id estável do agregado (`<emissor>:<sequência>`), atribuído pelo tracker quando a janela fecha.
|
|
14
|
+
* O reenvio usa o mesmo id e a API não grava de novo (CONTRATO.md §27.4).
|
|
15
|
+
*/
|
|
16
|
+
id?: string;
|
|
12
17
|
kind: InfraKind;
|
|
13
18
|
resourceArn?: string;
|
|
14
19
|
resourceName?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregator.d.ts","sourceRoot":"","sources":["../../src/infra/aggregator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,KAAK,CAAC;AAE3H,yDAAyD;AACzD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,yGAAyG;IACzG,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CAC1C;AAED,yFAAyF;AACzF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAQD,MAAM,WAAW,sBAAsB;IACrC,yGAAyG;IACzG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mGAAmG;IACnG,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAID,wBAAgB,QAAQ,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAEtD;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,iEAAiE;IACjE,OAAO,SAAK;IACZ,0FAA0F;IAC1F,SAAS,EAAE,MAAM,GAAG,SAAS,CAAmD;gBAEpE,OAAO,GAAE,sBAA2B;IAKhD,OAAO,CAAC,KAAK;IAiBb,0CAA0C;IAC1C,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,IAAI;IAQ3D,qDAAqD;IACrD,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ/D,4DAA4D;IAC5D,IAAI,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAOzE,8EAA8E;IAC9E,KAAK,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI;IAIlC,uFAAuF;IACvF,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAM3C,OAAO,IAAI,OAAO;IAIlB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,0FAA0F;IAC1F,KAAK,CAAC,GAAG,GAAE,MAAmB,GAAG,cAAc,EAAE;CAmBlD;AAED,+DAA+D;AAC/D,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,MAAqB,GAAG,MAAM,CAItE"}
|
|
1
|
+
{"version":3,"file":"aggregator.d.ts","sourceRoot":"","sources":["../../src/infra/aggregator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,KAAK,CAAC;AAE3H,yDAAyD;AACzD,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,yGAAyG;IACzG,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CAC1C;AAED,yFAAyF;AACzF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAQD,MAAM,WAAW,sBAAsB;IACrC,yGAAyG;IACzG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mGAAmG;IACnG,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAID,wBAAgB,QAAQ,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAEtD;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,iEAAiE;IACjE,OAAO,SAAK;IACZ,0FAA0F;IAC1F,SAAS,EAAE,MAAM,GAAG,SAAS,CAAmD;gBAEpE,OAAO,GAAE,sBAA2B;IAKhD,OAAO,CAAC,KAAK;IAiBb,0CAA0C;IAC1C,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,IAAI;IAQ3D,qDAAqD;IACrD,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ/D,4DAA4D;IAC5D,IAAI,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAOzE,8EAA8E;IAC9E,KAAK,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI;IAIlC,uFAAuF;IACvF,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAM3C,OAAO,IAAI,OAAO;IAIlB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,0FAA0F;IAC1F,KAAK,CAAC,GAAG,GAAE,MAAmB,GAAG,cAAc,EAAE;CAmBlD;AAED,+DAA+D;AAC/D,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,MAAqB,GAAG,MAAM,CAItE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregator.js","sourceRoot":"","sources":["../../src/infra/aggregator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"aggregator.js","sourceRoot":"","sources":["../../src/infra/aggregator.ts"],"names":[],"mappings":"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"}
|
package/dist/infra/aws.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { TrackerCore } from '../tracker.js';
|
|
2
2
|
import type { InfraResourceRef } from './aggregator.js';
|
|
3
|
+
import { ReceivedMessages } from './messaging.js';
|
|
3
4
|
/**
|
|
4
5
|
* Instrumentação do AWS SDK v3 por middleware (CONTRATO.md §27.8).
|
|
5
6
|
* Tipos estruturais: o SDK não depende de `@aws-sdk/*`.
|
|
@@ -36,16 +37,57 @@ export declare function parseArn(arn: string): {
|
|
|
36
37
|
* Também aceita um ARN pronto.
|
|
37
38
|
*/
|
|
38
39
|
export declare function sqsQueueRef(queue: string, fallbackRegion?: string): InfraResourceRef;
|
|
40
|
+
export interface AwsInstrumentationOptions {
|
|
41
|
+
/**
|
|
42
|
+
* Propaga o contexto do trace nas mensagens: `traceparent`/`tracestate` em `MessageAttributes`
|
|
43
|
+
* (SQS `SendMessage`/`SendMessageBatch`) e no `Detail` (EventBridge `PutEvents`), e pede esses
|
|
44
|
+
* atributos no `ReceiveMessage`. Default `true` (salvo `propagateTraceTo: false` no tracker).
|
|
45
|
+
*/
|
|
46
|
+
propagation?: boolean;
|
|
47
|
+
/**
|
|
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, numa fila padrão,
|
|
50
|
+
* uma recusa por tamanho com o contexto é repetida sem ele. Em fila FIFO (`.fifo`), sem esta
|
|
51
|
+
* opção o contexto só vai em mensagens de até 1 KiB (o menor `MaximumMessageSize` possível):
|
|
52
|
+
* reenviar uma entrada recusada do lote depois das aceitas mudaria a ordem do grupo.
|
|
53
|
+
*/
|
|
54
|
+
sqsMaxMessageBytes?: number;
|
|
55
|
+
/** Limite do pedido `PutEvents` (soma das entradas). Default 1 MiB. */
|
|
56
|
+
eventBridgeMaxRequestBytes?: number;
|
|
57
|
+
}
|
|
58
|
+
/** Mensagens recebidas por clients instrumentados deste tracker (contexto lido antes de retirar os atributos). */
|
|
59
|
+
export declare function receivedMessages(core: TrackerCore): ReceivedMessages;
|
|
60
|
+
/**
|
|
61
|
+
* Fila FIFO pelo nome (o sufixo `.fifo` é do QueueName): último segmento do caminho da URL (com ou
|
|
62
|
+
* sem barra final, query ou fragmento) ou do ARN. Na dúvida (URL que não dá para ler), o nome cru.
|
|
63
|
+
*/
|
|
64
|
+
export declare function isFifoQueue(queue: string): boolean;
|
|
39
65
|
/**
|
|
40
66
|
* Adiciona o middleware `fgTrackerInfra` (step `initialize`) ao client.
|
|
41
67
|
* - Agregados de infra (§27.4) para SQS, SNS, EventBridge, Kinesis, DynamoDB e Step Functions — nunca amostrados.
|
|
42
68
|
* - Span `http.client` por chamada (qualquer serviço) quando há um trace em andamento; respeita amostragem.
|
|
43
69
|
* - DynamoDB: injeta `ReturnConsumedCapacity: 'TOTAL'` quando não informado.
|
|
70
|
+
* - SQS/EventBridge (§16.1): span `custom` `SQS publish <fila>`/`EventBridge publish <barramento>` com o
|
|
71
|
+
* contexto propagado nas mensagens; `ReceiveMessage` pede o contexto e o guarda para o `trackMessage`.
|
|
44
72
|
*/
|
|
45
|
-
export declare function instrumentAwsClient<T extends AwsClientLike>(core: TrackerCore, client: T): T;
|
|
73
|
+
export declare function instrumentAwsClient<T extends AwsClientLike>(core: TrackerCore, client: T, options?: AwsInstrumentationOptions): T;
|
|
74
|
+
/** Forma da mensagem aceita pelo `trackMessage`: record do evento da Lambda ou `Message` do AWS SDK. */
|
|
75
|
+
export type QueueMessageLike = object;
|
|
76
|
+
export interface TrackMessageOptions {
|
|
77
|
+
/**
|
|
78
|
+
* A mensagem processada (record do evento SQS da Lambda ou `Message` do `ReceiveMessage`): o
|
|
79
|
+
* processamento continua o trace do produtor (pai remoto da própria mensagem), com o atraso de
|
|
80
|
+
* fila e as tentativas. Sem ela, o processamento é medido só localmente.
|
|
81
|
+
*/
|
|
82
|
+
record?: QueueMessageLike;
|
|
83
|
+
}
|
|
46
84
|
/**
|
|
47
85
|
* Mede o processamento de uma mensagem consumida (`processingMsSum`, `processingMsMax`, `errors`)
|
|
48
|
-
* e cria um span `custom` para os spans internos (AWS, db, fetch) formarem um trace.
|
|
86
|
+
* e cria um span `custom` `SQS process <fila>` para os spans internos (AWS, db, fetch) formarem um trace.
|
|
87
|
+
*
|
|
88
|
+
* Com `record`, o span continua o trace do produtor: raiz local com `remoteParentSpanId` (ou filho
|
|
89
|
+
* do span atual quando ele já está no mesmo trace, como no `wrapLambda` de uma mensagem só). Cada
|
|
90
|
+
* chamada tem o próprio contexto, inclusive em `Promise.all`; o contexto da invocação vira link.
|
|
49
91
|
*/
|
|
50
|
-
export declare function trackQueueMessage<T>(core: TrackerCore, queue: string, fn: () => T | Promise<T
|
|
92
|
+
export declare function trackQueueMessage<T>(core: TrackerCore, queue: string, fn: () => T | Promise<T>, record?: QueueMessageLike): Promise<T>;
|
|
51
93
|
//# sourceMappingURL=aws.d.ts.map
|
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":"
|
|
1
|
+
{"version":3,"file":"aws.d.ts","sourceRoot":"","sources":["../../src/infra/aws.ts"],"names":[],"mappings":"AACA,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;AAuPD,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;OAMG;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;AAqJD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,GAAE,yBAA8B,GAAG,CAAC,CA0NrI;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,CA0D5I"}
|