@davidilie/telemetry-next 0.2.0 → 0.3.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/README.md +3 -2
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/node.cjs +2 -2
- package/dist/node.mjs +2 -2
- package/dist/{request-error-6cvJ4jpq.mjs → request-error-BWohGji2.mjs} +6 -5
- package/dist/{request-error-CtYIz296.cjs → request-error-DR7VrDk_.cjs} +6 -5
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -168,7 +168,8 @@ reaches VictoriaLogs with active `trace_id`, `span_id`, service, and release.
|
|
|
168
168
|
|
|
169
169
|
In long-running Next server processes the framework owns the provider
|
|
170
170
|
lifecycle. Do not call `shutdown()` during an ordinary request. Use `flush()`
|
|
171
|
-
only
|
|
172
|
-
|
|
171
|
+
only when queued telemetry must leave before returning or exiting. It drains
|
|
172
|
+
core sends and invokes public `forceFlush()` on registered trace, log, and
|
|
173
|
+
metric providers when supported. It does not shut down the framework provider.
|
|
173
174
|
|
|
174
175
|
See the [web adapter](https://www.npmjs.com/package/@davidilie/telemetry-web), [Node adapter](https://www.npmjs.com/package/@davidilie/telemetry-node), [project onboarding](https://github.com/DavidIlie/davidapps-telemetry/blob/main/docs/adding-a-project.md), and [troubleshooting](https://github.com/DavidIlie/davidapps-telemetry/blob/main/docs/troubleshooting.md).
|
package/dist/index.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_request_error = require("./request-error-
|
|
2
|
+
const require_request_error = require("./request-error-DR7VrDk_.cjs");
|
|
3
3
|
exports.createNextRequestErrorHandler = require_request_error.createNextRequestErrorHandler;
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as createNextRequestErrorHandler } from "./request-error-
|
|
1
|
+
import { t as createNextRequestErrorHandler } from "./request-error-BWohGji2.mjs";
|
|
2
2
|
export { createNextRequestErrorHandler };
|
package/dist/node.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_request_error = require("./request-error-
|
|
3
|
-
let _vercel_otel = require("@vercel/otel");
|
|
2
|
+
const require_request_error = require("./request-error-DR7VrDk_.cjs");
|
|
4
3
|
let _davidilie_telemetry_core = require("@davidilie/telemetry-core");
|
|
4
|
+
let _vercel_otel = require("@vercel/otel");
|
|
5
5
|
let _davidilie_telemetry_node = require("@davidilie/telemetry-node");
|
|
6
6
|
let _opentelemetry_sdk_trace_base = require("@opentelemetry/sdk-trace-base");
|
|
7
7
|
//#region src/node.ts
|
package/dist/node.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as createNextRequestErrorHandler } from "./request-error-
|
|
2
|
-
import { registerOTel } from "@vercel/otel";
|
|
1
|
+
import { t as createNextRequestErrorHandler } from "./request-error-BWohGji2.mjs";
|
|
3
2
|
import { sanitizeResource } from "@davidilie/telemetry-core";
|
|
3
|
+
import { registerOTel } from "@vercel/otel";
|
|
4
4
|
import { DynamicTelemetrySampler, NodeTelemetryClient, telemetryResourceAttributes } from "@davidilie/telemetry-node";
|
|
5
5
|
import { ParentBasedSampler, TraceIdRatioBasedSampler } from "@opentelemetry/sdk-trace-base";
|
|
6
6
|
//#region src/node.ts
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { sanitizeAttributes, sanitizeUrl } from "@davidilie/telemetry-core";
|
|
1
2
|
//#region src/request-error.ts
|
|
2
3
|
async function reportFailure(config, error, stage) {
|
|
3
4
|
try {
|
|
@@ -15,20 +16,20 @@ function createNextRequestErrorHandler(config) {
|
|
|
15
16
|
await reportFailure(config, hookError, "beforeCapture");
|
|
16
17
|
return;
|
|
17
18
|
}
|
|
18
|
-
const digest = errorDigest(error);
|
|
19
19
|
try {
|
|
20
|
-
|
|
20
|
+
const digest = errorDigest(error);
|
|
21
|
+
config.telemetry.captureException(error, sanitizeAttributes({
|
|
21
22
|
...config.attributes,
|
|
22
23
|
"http.request.method": request.method,
|
|
23
|
-
"url.path": request.path,
|
|
24
|
+
"url.path": sanitizeUrl(request.path),
|
|
24
25
|
"next.router.kind": context.routerKind,
|
|
25
|
-
"next.route.path": context.routePath,
|
|
26
|
+
"next.route.path": sanitizeUrl(context.routePath),
|
|
26
27
|
"next.route.type": context.routeType,
|
|
27
28
|
...context.renderSource ? { "next.render.source": context.renderSource } : {},
|
|
28
29
|
...context.revalidateReason ? { "next.revalidate.reason": context.revalidateReason } : {},
|
|
29
30
|
...context.renderType ? { "next.render.type": context.renderType } : {},
|
|
30
31
|
...digest ? { "next.error.digest": digest } : {}
|
|
31
|
-
});
|
|
32
|
+
}));
|
|
32
33
|
} catch (captureError) {
|
|
33
34
|
await reportFailure(config, captureError, "capture");
|
|
34
35
|
return;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
let _davidilie_telemetry_core = require("@davidilie/telemetry-core");
|
|
1
2
|
//#region src/request-error.ts
|
|
2
3
|
async function reportFailure(config, error, stage) {
|
|
3
4
|
try {
|
|
@@ -15,20 +16,20 @@ function createNextRequestErrorHandler(config) {
|
|
|
15
16
|
await reportFailure(config, hookError, "beforeCapture");
|
|
16
17
|
return;
|
|
17
18
|
}
|
|
18
|
-
const digest = errorDigest(error);
|
|
19
19
|
try {
|
|
20
|
-
|
|
20
|
+
const digest = errorDigest(error);
|
|
21
|
+
config.telemetry.captureException(error, (0, _davidilie_telemetry_core.sanitizeAttributes)({
|
|
21
22
|
...config.attributes,
|
|
22
23
|
"http.request.method": request.method,
|
|
23
|
-
"url.path": request.path,
|
|
24
|
+
"url.path": (0, _davidilie_telemetry_core.sanitizeUrl)(request.path),
|
|
24
25
|
"next.router.kind": context.routerKind,
|
|
25
|
-
"next.route.path": context.routePath,
|
|
26
|
+
"next.route.path": (0, _davidilie_telemetry_core.sanitizeUrl)(context.routePath),
|
|
26
27
|
"next.route.type": context.routeType,
|
|
27
28
|
...context.renderSource ? { "next.render.source": context.renderSource } : {},
|
|
28
29
|
...context.revalidateReason ? { "next.revalidate.reason": context.revalidateReason } : {},
|
|
29
30
|
...context.renderType ? { "next.render.type": context.renderType } : {},
|
|
30
31
|
...digest ? { "next.error.digest": digest } : {}
|
|
31
|
-
});
|
|
32
|
+
}));
|
|
32
33
|
} catch (captureError) {
|
|
33
34
|
await reportFailure(config, captureError, "capture");
|
|
34
35
|
return;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@davidilie/telemetry-next",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Runtime-safe Next.js telemetry backed by @vercel/otel.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"analytics",
|
|
@@ -66,8 +66,8 @@
|
|
|
66
66
|
"clean": "rm -rf dist coverage"
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
69
|
-
"@davidilie/telemetry-core": "0.
|
|
70
|
-
"@davidilie/telemetry-node": "0.
|
|
69
|
+
"@davidilie/telemetry-core": "0.3.0",
|
|
70
|
+
"@davidilie/telemetry-node": "0.3.0",
|
|
71
71
|
"@opentelemetry/sdk-trace-base": "2.10.0",
|
|
72
72
|
"@vercel/otel": "2.1.3"
|
|
73
73
|
},
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"devDependencies": {
|
|
84
84
|
"@opentelemetry/api": "1.9.0",
|
|
85
85
|
"@types/node": "25.0.10",
|
|
86
|
-
"next": "16.3.
|
|
86
|
+
"next": "16.3.5"
|
|
87
87
|
},
|
|
88
88
|
"publishConfig": {
|
|
89
89
|
"access": "public",
|