# `SnakeBridge.Telemetry.Handlers.Metrics`
[🔗](https://github.com/nshkrdotcom/snakebridge/blob/v0.16.0/lib/snakebridge/telemetry/handlers/metrics.ex#L1)

Metric definitions for SnakeBridge telemetry.

This module provides metric definitions compatible with TelemetryMetrics
and reporters like TelemetryMetricsPrometheus.

## Usage

    # In your application with TelemetryMetricsPrometheus
    TelemetryMetricsPrometheus.Core.attach(
      SnakeBridge.Telemetry.Handlers.Metrics.metrics()
    )

## Metrics

### Compilation
- `snakebridge.compile.duration` - Distribution of compilation times
- `snakebridge.compile.symbols_generated` - Sum of symbols generated
- `snakebridge.compile.total` - Counter of compilations

### Scanning
- `snakebridge.scan.duration` - Distribution of scan times
- `snakebridge.scan.files_scanned` - Sum of files scanned
- `snakebridge.scan.symbols_found` - Sum of symbols found

### Introspection
- `snakebridge.introspect.duration` - Distribution of introspection times
- `snakebridge.introspect.symbols_introspected` - Sum of symbols introspected
- `snakebridge.introspect.cache_hits` - Sum of cache hits

### Generation
- `snakebridge.generate.duration` - Distribution of generation times
- `snakebridge.generate.bytes_written` - Sum of bytes written

### Documentation
- `snakebridge.docs.fetch.duration` - Distribution of doc fetch times
- `snakebridge.docs.fetch.total` - Counter of doc fetches

# `metrics`

```elixir
@spec metrics() :: [struct()]
```

Returns a list of Telemetry.Metrics definitions.

These can be used with any TelemetryMetrics-compatible reporter.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
