Skip to content

feat(classifiers): implement ClassifierMetrics with p50/p95 latency ring buffer #2249

@bug-ops

Description

@bug-ops

Context

Identified during Phase 2 (#2200) impl-critique as M2 (non-blocking).

Problem

Phase 2 architecture spec (section 6.3) called for a ClassifierMetrics struct with per-task-type p50/p95 latency ring buffers, emitted as structured tracing spans. Currently, only tracing::debug! latency logging is implemented — no ring buffer, no percentile aggregation, not surfaced in TUI metrics panel.

Expected

  • ClassifierMetrics struct with per-ClassifierTask ring buffer (configurable size, default 100)
  • p50 and p95 computed on demand from ring buffer
  • Metrics emitted via tracing::info! with structured fields for TUI consumption
  • TUI metrics panel shows classifier latency alongside existing LLM/memory metrics

Metadata

Metadata

Assignees

Labels

P3Research — medium-high complexityenhancementNew feature or requestllmzeph-llm crate (Ollama, Claude)

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions