---
title: progress_tracker | CodeWeaver Docs
description: API reference for codeweaver.engine.managers.progress_tracker
url: "https://docs.knitli.com/api/engine/managers/progress_tracker"
type: static
generatedAt: "2026-04-17T17:21:08.539Z"
---

# progress_tracker
       [Open in ChatGPT](https://chatgpt.com/?q=Read%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fmanagers%2Fprogress_tracker%2F.%20I%20want%20to%20ask%20questions%20about%20it.)[Open in Claude](https://claude.ai/new?q=Read%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fmanagers%2Fprogress_tracker%2F.%20I%20want%20to%20ask%20questions%20about%20it.)[View in Markdown](/codeweaver/api/engine/managers/progress_tracker.md)       [Share on LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fmanagers%2Fprogress_tracker%2F)[Share on X](https://x.com/intent/tweet?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fmanagers%2Fprogress_tracker%2F&text=progress_tracker)[Share on Threads](https://threads.net/intent/post?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fmanagers%2Fprogress_tracker%2F&text=progress_tracker)[Share on Bluesky](https://bsky.app/intent/compose?text=progress_tracker%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fmanagers%2Fprogress_tracker%2F)[Share on Facebook](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fmanagers%2Fprogress_tracker%2F)[Share on Reddit](https://reddit.com/submit?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fmanagers%2Fprogress_tracker%2F&title=progress_tracker)[Share on Hacker News](https://news.ycombinator.com/submitlink?u=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fmanagers%2Fprogress_tracker%2F&t=progress_tracker)[Share on Email](mailto:?subject=progress_tracker&body=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fmanagers%2Fprogress_tracker%2F)[Share on WhatsApp](https://wa.me/?text=progress_tracker%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fmanagers%2Fprogress_tracker%2F)[Share on Telegram](https://t.me/share/url?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fmanagers%2Fprogress_tracker%2F&text=progress_tracker)
# `codeweaver.engine.managers.progress_tracker`
[Section titled “codeweaver.engine.managers.progress_tracker”](#codeweaverenginemanagersprogress_tracker)
Module for tracking indexing progress and statistics.

PURE state management and reporting. No UI dependencies.

## Class: `IndexingErrorDict`
[Section titled “Class: IndexingErrorDict”](#class-indexingerrordict)
Structured error information for failed file indexing.

## Class: `IndexingPhase`
[Section titled “Class: IndexingPhase”](#class-indexingphase)
Enum representing different phases of the indexing process.

## Class: `IndexingProgressTracker`
[Section titled “Class: IndexingProgressTracker”](#class-indexingprogresstracker)
Pure state tracker for indexing progress.

No UI code. Maintains IndexingStats and phase.

### Method: `get_stats`
[Section titled “Method: get_stats”](#method-get_stats)

**

```
get_stats()
```

Return the current stats.

### Method: `update_phase`
[Section titled “Method: update_phase”](#method-update_phase)

**

```
update_phase()
```

Update the current indexing phase.

## Class: `IndexingStats`
[Section titled “Class: IndexingStats”](#class-indexingstats)
Statistics tracking for indexing progress.

### Method: `add_error`
[Section titled “Method: add_error”](#method-add_error)

**

```
add_error()
```

Add a structured error to the tracking system.

### Method: `elapsed_time`
[Section titled “Method: elapsed_time”](#method-elapsed_time)

**

```
elapsed_time()
```

Calculate elapsed time since indexing started.

### Method: `get_error_summary`
[Section titled “Method: get_error_summary”](#method-get_error_summary)

**

```
get_error_summary()
```

Get summary of errors by phase and type.

### Method: `human_elapsed_time`
[Section titled “Method: human_elapsed_time”](#method-human_elapsed_time)

**

```
human_elapsed_time()
```

Get human-readable elapsed time.

### Method: `processing_rate`
[Section titled “Method: processing_rate”](#method-processing_rate)

**

```
processing_rate()
```

Files processed per second.

### Method: `total_errors`
[Section titled “Method: total_errors”](#method-total_errors)

**

```
total_errors()
```

Total number of files with errors.