Added enriched metrics (#2432)

This commit is contained in:
sunghyunkang1111
2026-03-25 10:50:57 -05:00
committed by GitHub
parent 8e1b041e3b
commit c42e35f97a
6 changed files with 186 additions and 81 deletions

View File

@@ -7,10 +7,39 @@ export enum MetricScenario {
DatabaseLoad = "DatabaseLoad",
}
export interface WebVitals {
lcp?: number; // Largest Contentful Paint
inp?: number; // Interaction to Next Paint
cls?: number; // Cumulative Layout Shift
fcp?: number; // First Contentful Paint
ttfb?: number; // Time to First Byte
}
export interface PhaseTimings {
endTimeISO: string; // When the phase completed
durationMs: number; // Duration from scenario start to phase completion
}
// Generic metric emission event describing scenario outcome.
export interface MetricEvent {
// === Existing required fields (unchanged) ===
readonly platform: Platform;
readonly api: ApiType;
readonly scenario: MetricScenario;
readonly healthy: boolean;
// === New optional fields ===
readonly durationMs?: number;
readonly timedOut?: boolean;
readonly documentHidden?: boolean;
readonly hasExpectedFailure?: boolean;
readonly completedPhases?: string[];
readonly failedPhases?: string[];
readonly phaseTimings?: Record<string, PhaseTimings>;
readonly startTimeISO?: string;
readonly endTimeISO?: string;
readonly vitals?: WebVitals;
}