//! 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();}
//! 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();
}