44 lines · 1.4 KB · Zig
RawDownload
//! Local diagnostic collection used by `/trace`.//!//! This is intentionally separate from `debug_trace.zig`: trace is an opt-in,//! low-level event log, while diagnostics are small in-memory summaries that//! make the user-initiated trace report useful without requiring tracing. const network_metrics = @import("network_metrics.zig");const tool_call_metrics = @import("tool_call_metrics.zig"); pub const NetworkCall = network_metrics.NetworkCall;pub const NetworkCallKind = network_metrics.NetworkCallKind;pub const ToolCallMetric = tool_call_metrics.ToolCallMetric;pub const ToolCallRecord = tool_call_metrics.ToolCallRecord;pub const network_ring_capacity = network_metrics.ring_capacity;pub const tool_call_ring_capacity = tool_call_metrics.ring_capacity; pub fn recordNetworkCall(call: NetworkCall) void {    network_metrics.record(call);} pub fn snapshotNetworkCalls(out: []NetworkCall) usize {    return network_metrics.snapshot(out);} pub fn recordToolCall(call: ToolCallMetric) void {    tool_call_metrics.record(call);} pub fn recordToolCallResult(input: ToolCallRecord) void {    tool_call_metrics.recordResult(input);} pub fn snapshotToolCalls(out: []ToolCallMetric) usize {    return tool_call_metrics.snapshot(out);} pub fn resetSession() void {    network_metrics.reset();    tool_call_metrics.reset();} pub fn resetForTest() void {    resetSession();}