Skip to content

PipelineMetrics

reference
1 min readUpdated

Kind: Interface

Source: atloria-monorepo/packages/doc-automation/src/v2/utils/pipeline-metrics.ts

Pipeline Metrics Collector

Collects comprehensive metrics across all pipeline stages for post-run analysis. Persisted to documentation_jobs.metrics as JSONB.

Categories tracked:

  • Token usage per stage and total
  • Screenshot mapping/capture/failure breakdown
  • Quality gate + verification scores per document
  • Business context extraction stats
  • InteractionMap discovery stats
  • Stage timing with timestamps
  • Document-level metrics (word count, section count)

Properties

PropertyType
tokens`{
total: { input: number; output: number; cost?: number };
byStage: Record<string, { input: number; output: number; calls: number }>;

}| |screenshots|{ totalPlaceholders: number; mapped: number; unmapped: number; captured: number; failed: number; replaced: number; /** Breakdown by mapping source / mappingSources: { interactionMap: number; siteMap: number; aiFallback: number; }; /* Capture types breakdown / captureTypes: Record<string, number>; /* Failed capture reasons / failureReasons: { url: string; reason: string }[]; /* State-guided captures attempted/succeeded / stateGuided: { attempted: number; succeeded: number }; /* Workflow sequences detected / workflowSequences: number; }| |quality|{ /* Quality gate scores / qualityGate: { totalScored: number; passed: number; failed: number; regenerated: number; averageScore: number; scores: { docId: string; title: string; score: number; passed: boolean }[]; }; /* Verification scores / verification: { totalVerified: number; passed: number; failed: number; averageAccuracy: number; scores: { docId: string; title: string; accuracy: number; claims: number; flagged: number }[]; }; /* Grounding scores / grounding: { averageScore: number; belowThreshold: number; scores: { docId: string; score: number }[]; }; }| |extraction|{ /* InteractionMap stats / interactionMap: { totalRoutes: number; routesWithModals: number; routesWithTabs: number; routesWithForms: number; totalModals: number; totalTabs: number; totalFormFields: number; totalPermissions: number; } | null; /* Business context extraction / businessContext: { sourcesProcessed: number; personas: number; features: number; glossaryTerms: number; workflows: number; extracted: boolean; } | null; /* Route mappings from Stage 1 */ routeMappings: { totalRoutes: number; framework: string; withComponents: number; withTemplates: number; } | null; }| |timing|{ pipelineStartedAt: string; pipelineEndedAt: string; totalDurationMs: number; stages: { name: string; startedAt: string; endedAt: string; durationMs: number; status: 'success' | 'failed' | 'skipped'; }[]; }| |documents|{ total: number; byType: Record<string, number>; averageWordCount: number; averageSections: number; totalWordCount: number; }` |

Was this page helpful?

Download as PDF