

# query_timer

`utils.query_timer`

Query timing utility.

## Classes

| Name | Description |
|----|----|
| [QueryTimer](#nova_fde.utils.query_timer.QueryTimer) | Utility for tracking and reporting query execution times. |

### QueryTimer

``` python
utils.query_timer.QueryTimer(self, console=None)
```

Utility for tracking and reporting query execution times.

#### Methods

| Name | Description |
|----|----|
| [add_query](#nova_fde.utils.query_timer.QueryTimer.add_query) | Add a query execution record. |
| [end_query](#nova_fde.utils.query_timer.QueryTimer.end_query) | End timing a query and record stats. |
| [get_statistics](#nova_fde.utils.query_timer.QueryTimer.get_statistics) | Get query execution statistics. |
| [get_total_duration](#nova_fde.utils.query_timer.QueryTimer.get_total_duration) | Get the total duration of all queries. |
| [print_summary](#nova_fde.utils.query_timer.QueryTimer.print_summary) | Print query execution summary table. |
| [start_query](#nova_fde.utils.query_timer.QueryTimer.start_query) | Start timing a query. |

##### add_query

``` python
utils.query_timer.QueryTimer.add_query(name, duration, rows)
```

Add a query execution record.

###### Parameters

| Name     | Type  | Description               | Default    |
|----------|-------|---------------------------|------------|
| name     | str   | Query name                | *required* |
| duration | float | Execution time in seconds | *required* |
| rows     | int   | Number of rows returned   | *required* |

##### end_query

``` python
utils.query_timer.QueryTimer.end_query(row_count)
```

End timing a query and record stats.

###### Parameters

| Name      | Type | Description                          | Default    |
|-----------|------|--------------------------------------|------------|
| row_count | int  | Number of rows returned by the query | *required* |

##### get_statistics

``` python
utils.query_timer.QueryTimer.get_statistics()
```

Get query execution statistics.

###### Returns

| Name | Type | Description                      |
|------|------|----------------------------------|
|      | Dict | Dictionary with query statistics |

##### get_total_duration

``` python
utils.query_timer.QueryTimer.get_total_duration()
```

Get the total duration of all queries.

###### Returns

| Name | Type | Description |
|----|----|----|
|  | float | Total execution time in seconds for all queries. Returns 0.0 if no queries have been recorded. |

##### print_summary

``` python
utils.query_timer.QueryTimer.print_summary()
```

Print query execution summary table.

##### start_query

``` python
utils.query_timer.QueryTimer.start_query(query_name)
```

Start timing a query.

###### Parameters

| Name       | Type | Description                      | Default    |
|------------|------|----------------------------------|------------|
| query_name | str  | Name of the query being executed | *required* |
