/** * Metrics recording operations * @module */ import type { RSCRequestKind } from "./types.js"; /** * Increment request counter * * @example * ```ts * await incRequest() * ``` */ export declare function incRequest(): Promise; /** * Record HTTP request statistics * * @param resolved - Number of resolved requests * @param blocked - Number of blocked requests * @param fetchMsTotal - Total fetch time in milliseconds * * @example * ```ts * recordHttp(10, 2, 150) * ``` */ export declare function recordHttp(resolved: number, blocked: number, fetchMsTotal: number): void; /** * Record cache get operation * * @param hit - Whether the cache hit or missed * * @example * ```ts * recordCacheGet(true) // cache hit * recordCacheGet(false) // cache miss * ``` */ export declare function recordCacheGet(hit: boolean): void; /** * Record cache set operation * * @example * ```ts * recordCacheSet() * ``` */ export declare function recordCacheSet(): void; /** * Record cache invalidation * * @param n - Number of entries invalidated * * @example * ```ts * recordCacheInvalidate(5) * ``` */ export declare function recordCacheInvalidate(n: number): void; export type ModuleServeStatus = "ok" | "not_found" | "error"; export declare function recordModuleServe(status: ModuleServeStatus): void; export declare function recordModuleTransform(durationMs: number): void; export declare function recordRouteManifestLookup(hit: boolean): void; /** * Record SSR render duration * * @param durationMs - Duration in milliseconds * * @example * ```ts * recordSSR(150) * ``` */ export declare function recordSSR(durationMs: number): void; /** * Record RSC stream duration * * @param durationMs - Duration in milliseconds * * @example * ```ts * recordRSCStreamDuration(200) * ``` */ export declare function recordRSCStreamDuration(durationMs: number): void; /** * Record RSC endpoint request * * @param kind - Type of RSC request * * @example * ```ts * recordRSC('page') * recordRSC('manifest') * ``` */ export declare function recordRSC(kind: RSCRequestKind): void; /** * Record CORS rejection * * @example * ```ts * recordCorsRejection() * ``` */ export declare function recordCorsRejection(): void; /** * Record that SSR answered 404 because a project's published source could not * be read, as opposed to an ordinary route miss. * * This is the alertable replacement for the per-request error report that the * same condition used to raise while it was misclassified as a render fault. * A deleted project moves it a bounded number of times and then stops; an * API-side regression that 404s every read moves it continuously, which is the * shape worth alerting on. * * @example * ```ts * recordSSRSourceUnavailable() * ``` */ export declare function recordSSRSourceUnavailable(): void; /** * Record security headers application * * @example * ```ts * recordSecurityHeaders() * ``` */ export declare function recordSecurityHeaders(): void; export declare function recordApiRequest(status: number): void; export declare function recordApiRetry(): void; export type ContentCacheLayer = "request" | "persistent" | "filelist"; /** * Record a content cache hit at the specified layer * * @param layer - Which cache layer served the content * * @example * ```ts * recordContentCacheHit("request") // L1 request-scoped cache * recordContentCacheHit("persistent") // L2 persistent cache * recordContentCacheHit("filelist") // L3 file list cache * ``` */ export declare function recordContentCacheHit(layer: ContentCacheLayer): void; /** * Record a content network fetch with timing * * @param durationMs - Time taken for the network fetch * @param isPreview - Whether this is a preview mode request * * @example * ```ts * recordContentNetworkFetch(150, true) // preview mode fetch * recordContentNetworkFetch(80, false) // production mode fetch * ``` */ export declare function recordContentNetworkFetch(durationMs: number, isPreview: boolean): void; //# sourceMappingURL=metrics-recorder.d.ts.map