Skip to content
Cisco AI Defense logo
CiscoAI Security

OTel spec — DefenseClaw

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/.

NameKindUnitDescriptionSource
defenseclaw.activity.diff_entriesHistogram{entry}telemetry/metrics.go
defenseclaw.activity.totalCounter{activity}telemetry/metrics.go
defenseclaw.admission.decisionsCounter{decision}telemetry/metrics.go
defenseclaw.alert.countCounter{alert}telemetry/metrics.go
defenseclaw.approval.countCounter{request}telemetry/metrics.go
defenseclaw.audit.db.errorsCounter{error}telemetry/metrics.go
defenseclaw.audit.events.totalCounter{event}telemetry/metrics.go
defenseclaw.audit.sink.batches.deliveredCounter{batch}telemetry/metrics.go
defenseclaw.audit.sink.batches.droppedCounter{batch}telemetry/metrics.go
defenseclaw.audit.sink.circuit.stateUpDownCounter1telemetry/metrics.go
defenseclaw.audit.sink.delivery.latencyHistogrammstelemetry/metrics.go
defenseclaw.audit.sink.failuresCounter{failure}telemetry/metrics.go
defenseclaw.audit.sink.queue.depthUpDownCounter{event}telemetry/metrics.go
defenseclaw.cisco.errorsCounter{error}telemetry/metrics.go
defenseclaw.cisco_inspect.latencyHistogrammstelemetry/metrics.go
defenseclaw.config.load.errorsCounter{error}telemetry/metrics.go
defenseclaw.egress.eventsCounter{event}telemetry/metrics.go
defenseclaw.gateway.errorsCounter{error}telemetry/metrics.go
defenseclaw.gateway.events.emittedCounter{event}telemetry/metrics.go
defenseclaw.gateway.judge.errorsCounter{error}telemetry/metrics.go
defenseclaw.gateway.judge.invocationsCounter{invocation}telemetry/metrics.go
defenseclaw.gateway.judge.latencyHistogrammstelemetry/metrics.go
defenseclaw.gateway.verdictsCounter{verdict}telemetry/metrics.go
defenseclaw.guardrail.cache.hitsCounter{hit}telemetry/metrics.go
defenseclaw.guardrail.cache.missesCounter{miss}telemetry/metrics.go
defenseclaw.guardrail.evaluationsCounter{evaluation}telemetry/metrics.go
defenseclaw.guardrail.judge.latencyHistogrammstelemetry/metrics.go
defenseclaw.guardrail.latencyHistogrammstelemetry/metrics.go
defenseclaw.http.auth.failuresCounter{failure}telemetry/metrics.go
defenseclaw.http.rate_limit.breachesCounter{breach}telemetry/metrics.go
defenseclaw.http.request.countCounter{request}telemetry/metrics.go
defenseclaw.http.request.durationHistogrammstelemetry/metrics.go
defenseclaw.inspect.evaluationsCounter{evaluation}telemetry/metrics.go
defenseclaw.inspect.latencyHistogrammstelemetry/metrics.go
defenseclaw.judge.semaphore.depthUpDownCounter{slot}telemetry/metrics.go
defenseclaw.judge.semaphore.dropsCounter{drop}telemetry/metrics.go
defenseclaw.llm_bridge.latencyHistogrammstelemetry/metrics.go
defenseclaw.openshell.exitCounter{exit}telemetry/metrics.go
defenseclaw.panics.totalCounter{panic}telemetry/metrics.go
defenseclaw.policy.evaluationsCounter{evaluation}telemetry/metrics.go
defenseclaw.policy.latencyHistogrammstelemetry/metrics.go
defenseclaw.policy.reloadsCounter{reload}telemetry/metrics.go
defenseclaw.process.uptime_secondsGaugestelemetry/metrics.go
defenseclaw.provenance.bumpsCounter{bump}telemetry/metrics.go
defenseclaw.quarantine.actionsCounter{action}telemetry/metrics.go
defenseclaw.queue.depthGauge{item}telemetry/metrics.go
defenseclaw.queue.dropsCounter{drop}telemetry/metrics.go
defenseclaw.redaction.appliedCounter{redaction}telemetry/metrics.go
defenseclaw.runtime.fd.in_useGauge{fd}telemetry/metrics.go
defenseclaw.runtime.gc.pauseHistogramnstelemetry/metrics.go
defenseclaw.runtime.goroutinesGauge{goroutine}telemetry/metrics.go
defenseclaw.runtime.heap.allocGaugeBytelemetry/metrics.go
defenseclaw.runtime.heap.objectsGauge{object}telemetry/metrics.go
defenseclaw.scan.countCounter{scan}telemetry/metrics.go
defenseclaw.scan.durationHistogrammstelemetry/metrics.go
defenseclaw.scan.errorsCounter{error}telemetry/metrics.go
defenseclaw.scan.findingsCounter{finding}telemetry/metrics.go
defenseclaw.scan.findings.by_ruleCounter{finding}telemetry/metrics.go
defenseclaw.scan.findings.gaugeUpDownCounter{finding}telemetry/metrics.go
defenseclaw.scanner.queue.depthUpDownCounter{scan}telemetry/metrics.go
defenseclaw.schema.violationsCounter{event}telemetry/metrics.go
defenseclaw.slo.block.latencyHistogrammstelemetry/metrics.go
defenseclaw.slo.tui.refreshHistogrammstelemetry/metrics.go
defenseclaw.sqlite.busy_retriesCounter{event}telemetry/metrics.go
defenseclaw.sqlite.checkpoint.durationHistogrammstelemetry/metrics.go
defenseclaw.sqlite.db.bytesGaugeBytelemetry/metrics.go
defenseclaw.sqlite.freelist_countGauge{page}telemetry/metrics.go
defenseclaw.sqlite.page_countGauge{page}telemetry/metrics.go
defenseclaw.sqlite.wal.bytesGaugeBytelemetry/metrics.go
defenseclaw.stream.bytes_sentHistogramBytelemetry/metrics.go
defenseclaw.stream.duration_msHistogrammstelemetry/metrics.go
defenseclaw.stream.lifecycleCounter{transition}telemetry/metrics.go
defenseclaw.telemetry.exporter.errorsCounter{error}telemetry/metrics.go
defenseclaw.telemetry.exporter.last_export_tsGaugestelemetry/metrics.go
defenseclaw.tool.callsCounter{call}telemetry/metrics.go
defenseclaw.tool.durationHistogrammstelemetry/metrics.go
defenseclaw.tool.errorsCounter{error}telemetry/metrics.go
defenseclaw.tui.filter.appliedCounter{filter}telemetry/metrics.go
defenseclaw.watcher.errorsCounter{error}telemetry/metrics.go
defenseclaw.watcher.eventsCounter{event}telemetry/metrics.go
defenseclaw.watcher.restartsCounter{restart}telemetry/metrics.go
defenseclaw.webhook.circuit_breakerCounter{transition}telemetry/metrics.go
defenseclaw.webhook.cooldown.suppressedCounter{event}telemetry/metrics.go
defenseclaw.webhook.dispatchesCounter{dispatch}telemetry/metrics.go
defenseclaw.webhook.failuresCounter{failure}telemetry/metrics.go
defenseclaw.webhook.latencyHistogrammstelemetry/metrics.go
gen_ai.client.operation.durationHistogramstelemetry/metrics.go
gen_ai.client.token.usageHistogram{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

Related