Section navigation

Public namespace Rowles.LeanCorpus.Diagnostics

Classes

Public class DefaultMetricsCollector

Lock-free metrics collector using Interlocked operations.

Public class FileSystemDiagnostics

Process-wide counters for low-level filesystem operations.

Public class IndexSizeCalculator

Calculates and reports the on-disk size of an index and its segments.

Public class IndexSizeReport

Overall index size report.

Public class MeterMetricsCollector

IMetricsCollector backed by Meter. Instruments are published under the meter name Rowles.LeanCorpus and can be consumed by any MeterListener — including OpenTelemetry OTLP exporters.

Public class MetricsSnapshot

Point-in-time snapshot of operational metrics.

Public class NullMetricsCollector

No-op metrics collector — the default when no metrics are configured.

Public class SearchAnalytics

Thread-safe ring buffer of per-search events. Events are captured in Search(Query, int) when wired via SearchAnalytics.

Public class SearchEvent

A single search event captured by SearchAnalytics.

Public class SegmentSizeReport

Per-segment size breakdown.

Public class SlowQueryLog

Logs individual queries that exceed a configurable latency threshold. Output is one JSON object per line (JSON Lines format). Writes are offloaded to a background channel consumer so slow disk I/O never blocks the search hot path.

Structs

Public struct FileSystemDiagnosticsSnapshot

Point-in-time process-wide filesystem counters.

Interfaces

Public interface IMetricsCollector

Interface for collecting operational metrics from IndexSearcher, IndexWriter, and QueryCache.