pub struct CopilotShutdownData {
pub model_metrics: BTreeMap<String, CopilotModelMetric>,
pub current_model: String,
}Expand description
session.shutdown payload — authoritative per-model token usage.
The map key is the model name (e.g. "claude-sonnet-4.6"). Copilot CLI
writes this event on graceful shutdown after totalling up every API
interaction in the session, which is the only place that carries input
tokens (individual assistant.message events only carry outputTokens).
Fields§
§model_metrics: BTreeMap<String, CopilotModelMetric>Per-model token metrics, keyed by model name.
current_model: StringModel that was active when the session shut down.
Trait Implementations§
Source§impl Clone for CopilotShutdownData
impl Clone for CopilotShutdownData
Source§fn clone(&self) -> CopilotShutdownData
fn clone(&self) -> CopilotShutdownData
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CopilotShutdownData
impl Debug for CopilotShutdownData
Source§impl<'de> Deserialize<'de> for CopilotShutdownData
impl<'de> Deserialize<'de> for CopilotShutdownData
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for CopilotShutdownData
impl RefUnwindSafe for CopilotShutdownData
impl Send for CopilotShutdownData
impl Sync for CopilotShutdownData
impl Unpin for CopilotShutdownData
impl UnsafeUnpin for CopilotShutdownData
impl UnwindSafe for CopilotShutdownData
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more