# MetricsCollector

**Kind:** Class

**Source:** [`atloria-monorepo/packages/doc-automation/src/v2/utils/pipeline-metrics.ts`](https://github.com/sherkety/atloria/blob/main/atloria-monorepo/packages/doc-automation/src/v2/utils/pipeline-metrics.ts#L134)

Mutable collector that stages push data into during the run.
Call `toJSON()` at the end to get the final snapshot.

## Methods

| Method | Signature | Returns |
|---|---|---|
| `stageStart` | `stageStart(name: string)` | `void` |
| `stageEnd` | `stageEnd(name: string, status: 'success' | 'failed' | 'skipped')` | `void` |
| `addTokenUsage` | `addTokenUsage(stage: string, input: number, output: number)` | `void` |
| `addScreenshotFailure` | `addScreenshotFailure(url: string, reason: string)` | `void` |
| `addQualityScore` | `addQualityScore(docId: string, title: string, score: number, passed: boolean)` | `void` |
| `addVerificationScore` | `addVerificationScore(docId: string, title: string, accuracy: number, claims: number, flagged: number)` | `void` |
| `toJSON` | `toJSON()` | `PipelineMetrics` |

## Properties

| Property | Type |
|---|---|
| `tokens` | `PipelineMetrics['tokens']` |
| `screenshots` | `PipelineMetrics['screenshots']` |
| `quality` | `PipelineMetrics['quality']` |
| `extraction` | `PipelineMetrics['extraction']` |
| `documents` | `PipelineMetrics['documents']` |
