pub struct ProcessTurnStates {
pub main_stream: Option<ProcessStateTime>,
pub side_stream: Option<ProcessStateTime>,
pub tool: Option<ProcessStateTime>,
pub agent_tool: Option<ProcessStateTime>,
pub first_event_wait: Option<ProcessStateTime>,
pub before_first_request: Option<ProcessStateTime>,
pub between_requests: Option<ProcessStateTime>,
pub after_last_request: Option<ProcessStateTime>,
}Expand description
ResultMessage::process_turn_states — the turn’s process CPU and wall
time split among mutually exclusive states (CLI 2.1.317+). A state says
what was open, not what the time was spent on. Where several were open,
the first of main_stream, side_stream, tool, agent_tool,
first_event_wait names the state; with nothing open, the state is
named after the turn’s main-conversation model calls.
Fields§
§main_stream: Option<ProcessStateTime>A response stream of a main-conversation request was open.
side_stream: Option<ProcessStateTime>Any other model request’s stream was open (a subagent’s, a compaction’s).
tool: Option<ProcessStateTime>A call of any tool but Agent was open, permission prompt included.
agent_tool: Option<ProcessStateTime>A call of the Agent tool was open.
first_event_wait: Option<ProcessStateTime>A main-conversation request was sent and no stream of it was open yet.
before_first_request: Option<ProcessStateTime>Nothing open, and no main-conversation model call sent yet.
between_requests: Option<ProcessStateTime>Nothing open, between two main-conversation model calls.
after_last_request: Option<ProcessStateTime>Nothing open, after the last main-conversation model call.