@prisma-next/middleware-telemetry 0.4.1 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +4 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -5
- package/src/telemetry-middleware.ts +3 -1
package/dist/index.d.mts
CHANGED
|
@@ -13,7 +13,10 @@ interface TelemetryEvent {
|
|
|
13
13
|
interface TelemetryMiddlewareOptions {
|
|
14
14
|
readonly onEvent?: (event: TelemetryEvent) => void;
|
|
15
15
|
}
|
|
16
|
-
declare function createTelemetryMiddleware(options?: TelemetryMiddlewareOptions): RuntimeMiddleware
|
|
16
|
+
declare function createTelemetryMiddleware(options?: TelemetryMiddlewareOptions): RuntimeMiddleware & {
|
|
17
|
+
readonly familyId?: undefined;
|
|
18
|
+
readonly targetId?: undefined;
|
|
19
|
+
};
|
|
17
20
|
//#endregion
|
|
18
21
|
export { type TelemetryEvent, type TelemetryMiddlewareOptions, createTelemetryMiddleware };
|
|
19
22
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/telemetry-middleware.ts"],"sourcesContent":[],"mappings":";;;UAOiB,cAAA;;EAAA,SAAA,IAAA,EAAA,MAAc;EAUd,SAAA,MAAA,EAAA,MAAA;EAID,SAAA,WAAA,EAAA,MAAyB;;;;;UAJxB,0BAAA;6BACY;;iBAGb,yBAAA,
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/telemetry-middleware.ts"],"sourcesContent":[],"mappings":";;;UAOiB,cAAA;;EAAA,SAAA,IAAA,EAAA,MAAc;EAUd,SAAA,MAAA,EAAA,MAAA;EAID,SAAA,WAAA,EAAA,MAAyB;;;;;UAJxB,0BAAA;6BACY;;iBAGb,yBAAA,WACJ,6BACT"}
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../src/telemetry-middleware.ts"],"sourcesContent":["import type { PlanMeta } from '@prisma-next/contract/types';\nimport type {\n AfterExecuteResult,\n RuntimeMiddleware,\n RuntimeMiddlewareContext,\n} from '@prisma-next/framework-components/runtime';\n\nexport interface TelemetryEvent {\n readonly phase: 'beforeExecute' | 'afterExecute';\n readonly lane: string;\n readonly target: string;\n readonly storageHash: string;\n readonly rowCount?: number;\n readonly latencyMs?: number;\n readonly completed?: boolean;\n}\n\nexport interface TelemetryMiddlewareOptions {\n readonly onEvent?: (event: TelemetryEvent) => void;\n}\n\nexport function createTelemetryMiddleware(options?: TelemetryMiddlewareOptions): RuntimeMiddleware {\n const emit = (event: TelemetryEvent, ctx: RuntimeMiddlewareContext) => {\n try {\n if (options?.onEvent) {\n options.onEvent(event);\n } else {\n ctx.log.info(event);\n }\n } catch (error) {\n ctx.log.warn({ message: 'telemetry sink error', error, event });\n }\n };\n\n return {\n name: 'telemetry',\n async beforeExecute(plan: { readonly meta: PlanMeta }, ctx: RuntimeMiddlewareContext) {\n emit(\n {\n phase: 'beforeExecute',\n lane: plan.meta.lane,\n target: plan.meta.target,\n storageHash: plan.meta.storageHash,\n },\n ctx,\n );\n },\n async afterExecute(\n plan: { readonly meta: PlanMeta },\n result: AfterExecuteResult,\n ctx: RuntimeMiddlewareContext,\n ) {\n emit(\n {\n phase: 'afterExecute',\n lane: plan.meta.lane,\n target: plan.meta.target,\n storageHash: plan.meta.storageHash,\n rowCount: result.rowCount,\n latencyMs: result.latencyMs,\n completed: result.completed,\n },\n ctx,\n );\n },\n };\n}\n"],"mappings":";AAqBA,SAAgB,
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../src/telemetry-middleware.ts"],"sourcesContent":["import type { PlanMeta } from '@prisma-next/contract/types';\nimport type {\n AfterExecuteResult,\n RuntimeMiddleware,\n RuntimeMiddlewareContext,\n} from '@prisma-next/framework-components/runtime';\n\nexport interface TelemetryEvent {\n readonly phase: 'beforeExecute' | 'afterExecute';\n readonly lane: string;\n readonly target: string;\n readonly storageHash: string;\n readonly rowCount?: number;\n readonly latencyMs?: number;\n readonly completed?: boolean;\n}\n\nexport interface TelemetryMiddlewareOptions {\n readonly onEvent?: (event: TelemetryEvent) => void;\n}\n\nexport function createTelemetryMiddleware(\n options?: TelemetryMiddlewareOptions,\n): RuntimeMiddleware & { readonly familyId?: undefined; readonly targetId?: undefined } {\n const emit = (event: TelemetryEvent, ctx: RuntimeMiddlewareContext) => {\n try {\n if (options?.onEvent) {\n options.onEvent(event);\n } else {\n ctx.log.info(event);\n }\n } catch (error) {\n ctx.log.warn({ message: 'telemetry sink error', error, event });\n }\n };\n\n return {\n name: 'telemetry',\n async beforeExecute(plan: { readonly meta: PlanMeta }, ctx: RuntimeMiddlewareContext) {\n emit(\n {\n phase: 'beforeExecute',\n lane: plan.meta.lane,\n target: plan.meta.target,\n storageHash: plan.meta.storageHash,\n },\n ctx,\n );\n },\n async afterExecute(\n plan: { readonly meta: PlanMeta },\n result: AfterExecuteResult,\n ctx: RuntimeMiddlewareContext,\n ) {\n emit(\n {\n phase: 'afterExecute',\n lane: plan.meta.lane,\n target: plan.meta.target,\n storageHash: plan.meta.storageHash,\n rowCount: result.rowCount,\n latencyMs: result.latencyMs,\n completed: result.completed,\n },\n ctx,\n );\n },\n };\n}\n"],"mappings":";AAqBA,SAAgB,0BACd,SACsF;CACtF,MAAM,QAAQ,OAAuB,QAAkC;AACrE,MAAI;AACF,OAAI,SAAS,QACX,SAAQ,QAAQ,MAAM;OAEtB,KAAI,IAAI,KAAK,MAAM;WAEd,OAAO;AACd,OAAI,IAAI,KAAK;IAAE,SAAS;IAAwB;IAAO;IAAO,CAAC;;;AAInE,QAAO;EACL,MAAM;EACN,MAAM,cAAc,MAAmC,KAA+B;AACpF,QACE;IACE,OAAO;IACP,MAAM,KAAK,KAAK;IAChB,QAAQ,KAAK,KAAK;IAClB,aAAa,KAAK,KAAK;IACxB,EACD,IACD;;EAEH,MAAM,aACJ,MACA,QACA,KACA;AACA,QACE;IACE,OAAO;IACP,MAAM,KAAK,KAAK;IAChB,QAAQ,KAAK,KAAK;IAClB,aAAa,KAAK,KAAK;IACvB,UAAU,OAAO;IACjB,WAAW,OAAO;IAClB,WAAW,OAAO;IACnB,EACD,IACD;;EAEJ"}
|
package/package.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prisma-next/middleware-telemetry",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"description": "Generic telemetry middleware for Prisma Next runtimes",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@prisma-next/contract": "0.4.
|
|
9
|
-
"@prisma-next/framework-components": "0.4.
|
|
8
|
+
"@prisma-next/contract": "0.4.3",
|
|
9
|
+
"@prisma-next/framework-components": "0.4.3"
|
|
10
10
|
},
|
|
11
11
|
"devDependencies": {
|
|
12
12
|
"tsdown": "0.18.4",
|
|
13
13
|
"typescript": "5.9.3",
|
|
14
14
|
"vitest": "4.0.17",
|
|
15
|
-
"@prisma-next/
|
|
16
|
-
"@prisma-next/
|
|
15
|
+
"@prisma-next/tsdown": "0.0.0",
|
|
16
|
+
"@prisma-next/tsconfig": "0.0.0"
|
|
17
17
|
},
|
|
18
18
|
"files": [
|
|
19
19
|
"dist",
|
|
@@ -19,7 +19,9 @@ export interface TelemetryMiddlewareOptions {
|
|
|
19
19
|
readonly onEvent?: (event: TelemetryEvent) => void;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
export function createTelemetryMiddleware(
|
|
22
|
+
export function createTelemetryMiddleware(
|
|
23
|
+
options?: TelemetryMiddlewareOptions,
|
|
24
|
+
): RuntimeMiddleware & { readonly familyId?: undefined; readonly targetId?: undefined } {
|
|
23
25
|
const emit = (event: TelemetryEvent, ctx: RuntimeMiddlewareContext) => {
|
|
24
26
|
try {
|
|
25
27
|
if (options?.onEvent) {
|