pub struct WorkerTelemetry {
pub level: TelemetryLevel,
pub writer: Option<TelemetryWriter>,
pub parent_session_id: Option<String>,
pub parent_runtime_session_id: Option<String>,
pub agent: Option<String>,
pub handle: Option<String>,
}Expand description
The parent session’s telemetry, handed to the subagents it spawns.
Workers record at the parent’s level and enqueue onto the parent’s
session writer instead of starting their own: the writer owns its log
files from a single thread, so a writer per worker would race rotation.
See Runtime::inherit_telemetry.
Fields§
§level: TelemetryLevel§writer: Option<TelemetryWriter>The parent’s session writer. None when the parent records nothing.
parent_session_id: Option<String>The parent’s persisted conversation id (the
~/.synaps-cli/sessions/<id>.json id), stamped on the worker’s
records as parent_session_id. None when the parent is unkeyed.
parent_runtime_session_id: Option<String>The parent’s runtime trace session id (session-<pid>-<ms>-<seq>),
stamped as parent_runtime_session_id.
agent: Option<String>Set per spawn by Self::for_worker: the agent name.
handle: Option<String>Set per spawn by Self::for_worker: the subagent handle (sa_N).
Implementations§
Source§impl WorkerTelemetry
impl WorkerTelemetry
Sourcepub fn for_worker(self, agent: &str, handle: &str) -> Self
pub fn for_worker(self, agent: &str, handle: &str) -> Self
This telemetry, labelled for one spawned worker.
Sourcepub fn worker_writer(&self) -> Option<TelemetryWriter>
pub fn worker_writer(&self) -> Option<TelemetryWriter>
The parent’s writer, re-stamped for this worker: every record the
worker enqueues carries its identity and its parent’s ids, and NOT
the parent’s own session_id.
Trait Implementations§
Source§impl Clone for WorkerTelemetry
impl Clone for WorkerTelemetry
Source§impl Debug for WorkerTelemetry
impl Debug for WorkerTelemetry
Auto Trait Implementations§
impl Freeze for WorkerTelemetry
impl RefUnwindSafe for WorkerTelemetry
impl Send for WorkerTelemetry
impl Sync for WorkerTelemetry
impl Unpin for WorkerTelemetry
impl UnsafeUnpin for WorkerTelemetry
impl UnwindSafe for WorkerTelemetry
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.