complete performance and reliability follow-ups

This commit is contained in:
2026-08-09 23:04:36 +05:30
parent 8f19a5eb2b
commit 232d8e6734
31 changed files with 525 additions and 726 deletions
+5 -1
View File
@@ -2,6 +2,7 @@ import type { MetricPoint } from "./metrics.ts";
import type { LogRecord } from "./logging.ts";
import type { MetricExporter } from "./server.ts";
import type { SpanExporter, SpanRecord, TraceContext } from "./trace.ts";
import { reportObservabilityFailure, type ObservabilityDiagnostic } from "./diagnostics.ts";
export type FrameworkSpanKind =
"database" | "cache" | "queue" | "realtime" | "server-action" | "application";
@@ -26,6 +27,7 @@ export function createOperationTracer(
context?: () => Partial<TraceContext>;
now?: () => number;
onExportError?: (error: unknown) => void;
diagnostic?: ObservabilityDiagnostic;
} = {},
): OperationTracer {
const now = options.now ?? Date.now;
@@ -66,7 +68,9 @@ export function createOperationTracer(
try {
await options.exporter?.export([record]);
} catch (error) {
options.onExportError?.(error);
if (options.onExportError) options.onExportError(error);
else
reportObservabilityFailure("operation span export failed", error, options.diagnostic);
}
}
},