Overview
DefenseClaw emits OpenTelemetry traces, metrics, and logs when the
otel: block is enabled in config. The spec here is the live inventory
generated by walking internal/telemetry/ and related packages.
Use defenseclaw setup observability add <preset> to write the
exporter config.
Metrics
88 metric instruments registered across internal/telemetry/, internal/gateway/, internal/watcher/, internal/audit/, internal/guardrail/.
| Name | Kind | Unit | Description | Source |
|---|---|---|---|---|
defenseclaw.activity.diff_entries | Histogram | {entry} | telemetry/metrics.go | |
defenseclaw.activity.total | Counter | {activity} | telemetry/metrics.go | |
defenseclaw.admission.decisions | Counter | {decision} | telemetry/metrics.go | |
defenseclaw.alert.count | Counter | {alert} | telemetry/metrics.go | |
defenseclaw.approval.count | Counter | {request} | telemetry/metrics.go | |
defenseclaw.audit.db.errors | Counter | {error} | telemetry/metrics.go | |
defenseclaw.audit.events.total | Counter | {event} | telemetry/metrics.go | |
defenseclaw.audit.sink.batches.delivered | Counter | {batch} | telemetry/metrics.go | |
defenseclaw.audit.sink.batches.dropped | Counter | {batch} | telemetry/metrics.go | |
defenseclaw.audit.sink.circuit.state | UpDownCounter | 1 | telemetry/metrics.go | |
defenseclaw.audit.sink.delivery.latency | Histogram | ms | telemetry/metrics.go | |
defenseclaw.audit.sink.failures | Counter | {failure} | telemetry/metrics.go | |
defenseclaw.audit.sink.queue.depth | UpDownCounter | {event} | telemetry/metrics.go | |
defenseclaw.cisco.errors | Counter | {error} | telemetry/metrics.go | |
defenseclaw.cisco_inspect.latency | Histogram | ms | telemetry/metrics.go | |
defenseclaw.config.load.errors | Counter | {error} | telemetry/metrics.go | |
defenseclaw.egress.events | Counter | {event} | telemetry/metrics.go | |
defenseclaw.gateway.errors | Counter | {error} | telemetry/metrics.go | |
defenseclaw.gateway.events.emitted | Counter | {event} | telemetry/metrics.go | |
defenseclaw.gateway.judge.errors | Counter | {error} | telemetry/metrics.go | |
defenseclaw.gateway.judge.invocations | Counter | {invocation} | telemetry/metrics.go | |
defenseclaw.gateway.judge.latency | Histogram | ms | telemetry/metrics.go | |
defenseclaw.gateway.verdicts | Counter | {verdict} | telemetry/metrics.go | |
defenseclaw.guardrail.cache.hits | Counter | {hit} | telemetry/metrics.go | |
defenseclaw.guardrail.cache.misses | Counter | {miss} | telemetry/metrics.go | |
defenseclaw.guardrail.evaluations | Counter | {evaluation} | telemetry/metrics.go | |
defenseclaw.guardrail.judge.latency | Histogram | ms | telemetry/metrics.go | |
defenseclaw.guardrail.latency | Histogram | ms | telemetry/metrics.go | |
defenseclaw.http.auth.failures | Counter | {failure} | telemetry/metrics.go | |
defenseclaw.http.rate_limit.breaches | Counter | {breach} | telemetry/metrics.go | |
defenseclaw.http.request.count | Counter | {request} | telemetry/metrics.go | |
defenseclaw.http.request.duration | Histogram | ms | telemetry/metrics.go | |
defenseclaw.inspect.evaluations | Counter | {evaluation} | telemetry/metrics.go | |
defenseclaw.inspect.latency | Histogram | ms | telemetry/metrics.go | |
defenseclaw.judge.semaphore.depth | UpDownCounter | {slot} | telemetry/metrics.go | |
defenseclaw.judge.semaphore.drops | Counter | {drop} | telemetry/metrics.go | |
defenseclaw.llm_bridge.latency | Histogram | ms | telemetry/metrics.go | |
defenseclaw.openshell.exit | Counter | {exit} | telemetry/metrics.go | |
defenseclaw.panics.total | Counter | {panic} | telemetry/metrics.go | |
defenseclaw.policy.evaluations | Counter | {evaluation} | telemetry/metrics.go | |
defenseclaw.policy.latency | Histogram | ms | telemetry/metrics.go | |
defenseclaw.policy.reloads | Counter | {reload} | telemetry/metrics.go | |
defenseclaw.process.uptime_seconds | Gauge | s | telemetry/metrics.go | |
defenseclaw.provenance.bumps | Counter | {bump} | telemetry/metrics.go | |
defenseclaw.quarantine.actions | Counter | {action} | telemetry/metrics.go | |
defenseclaw.queue.depth | Gauge | {item} | telemetry/metrics.go | |
defenseclaw.queue.drops | Counter | {drop} | telemetry/metrics.go | |
defenseclaw.redaction.applied | Counter | {redaction} | telemetry/metrics.go | |
defenseclaw.runtime.fd.in_use | Gauge | {fd} | telemetry/metrics.go | |
defenseclaw.runtime.gc.pause | Histogram | ns | telemetry/metrics.go | |
defenseclaw.runtime.goroutines | Gauge | {goroutine} | telemetry/metrics.go | |
defenseclaw.runtime.heap.alloc | Gauge | By | telemetry/metrics.go | |
defenseclaw.runtime.heap.objects | Gauge | {object} | telemetry/metrics.go | |
defenseclaw.scan.count | Counter | {scan} | telemetry/metrics.go | |
defenseclaw.scan.duration | Histogram | ms | telemetry/metrics.go | |
defenseclaw.scan.errors | Counter | {error} | telemetry/metrics.go | |
defenseclaw.scan.findings | Counter | {finding} | telemetry/metrics.go | |
defenseclaw.scan.findings.by_rule | Counter | {finding} | telemetry/metrics.go | |
defenseclaw.scan.findings.gauge | UpDownCounter | {finding} | telemetry/metrics.go | |
defenseclaw.scanner.queue.depth | UpDownCounter | {scan} | telemetry/metrics.go | |
defenseclaw.schema.violations | Counter | {event} | telemetry/metrics.go | |
defenseclaw.slo.block.latency | Histogram | ms | telemetry/metrics.go | |
defenseclaw.slo.tui.refresh | Histogram | ms | telemetry/metrics.go | |
defenseclaw.sqlite.busy_retries | Counter | {event} | telemetry/metrics.go | |
defenseclaw.sqlite.checkpoint.duration | Histogram | ms | telemetry/metrics.go | |
defenseclaw.sqlite.db.bytes | Gauge | By | telemetry/metrics.go | |
defenseclaw.sqlite.freelist_count | Gauge | {page} | telemetry/metrics.go | |
defenseclaw.sqlite.page_count | Gauge | {page} | telemetry/metrics.go | |
defenseclaw.sqlite.wal.bytes | Gauge | By | telemetry/metrics.go | |
defenseclaw.stream.bytes_sent | Histogram | By | telemetry/metrics.go | |
defenseclaw.stream.duration_ms | Histogram | ms | telemetry/metrics.go | |
defenseclaw.stream.lifecycle | Counter | {transition} | telemetry/metrics.go | |
defenseclaw.telemetry.exporter.errors | Counter | {error} | telemetry/metrics.go | |
defenseclaw.telemetry.exporter.last_export_ts | Gauge | s | telemetry/metrics.go | |
defenseclaw.tool.calls | Counter | {call} | telemetry/metrics.go | |
defenseclaw.tool.duration | Histogram | ms | telemetry/metrics.go | |
defenseclaw.tool.errors | Counter | {error} | telemetry/metrics.go | |
defenseclaw.tui.filter.applied | Counter | {filter} | telemetry/metrics.go | |
defenseclaw.watcher.errors | Counter | {error} | telemetry/metrics.go | |
defenseclaw.watcher.events | Counter | {event} | telemetry/metrics.go | |
defenseclaw.watcher.restarts | Counter | {restart} | telemetry/metrics.go | |
defenseclaw.webhook.circuit_breaker | Counter | {transition} | telemetry/metrics.go | |
defenseclaw.webhook.cooldown.suppressed | Counter | {event} | telemetry/metrics.go | |
defenseclaw.webhook.dispatches | Counter | {dispatch} | telemetry/metrics.go | |
defenseclaw.webhook.failures | Counter | {failure} | telemetry/metrics.go | |
defenseclaw.webhook.latency | Histogram | ms | telemetry/metrics.go | |
gen_ai.client.operation.duration | Histogram | s | telemetry/metrics.go | |
gen_ai.client.token.usage | Histogram | {token} | telemetry/metrics.go |
Spans
3 span names defined across internal/telemetry/, internal/gateway/, internal/watcher/, internal/audit/, internal/guardrail/.
| Span name |
|---|
defenseclaw.guardrail.judge |
defenseclaw.tui.filter |
defenseclaw/startup |