pub struct OpenedTelemetry {
pub consent: ConsentStore,
pub install_id: Option<InstallId>,
pub reporter: Rc<DynamicReporter>,
pub recent_log: Arc<InMemoryEventQueue>,
pub policy: PrivacyPolicy,
pub event_schema_version: u32,
}Expand description
Outcome of TelemetryBundle::open. Cheap to clone (every contained
service is Rc/Arc-shaped). Registered into app_state by
TeksiloAppBuilder::install_telemetry.
Fields§
§consent: ConsentStore§install_id: Option<InstallId>§reporter: Rc<DynamicReporter>§recent_log: Arc<InMemoryEventQueue>Ring buffer of recently-emitted events. DynamicReporter::record
tees every consent-gated event into this log in addition to
forwarding to the active adapter. Bounded by
TelemetryBundle::with_recent_log_capacity (default 200).
Read by the PrivacySettings “Inspect data sent” accordion;
independent of the adapter’s outbound queue (events stay
in the recent log even after the adapter has flushed them).
policy: PrivacyPolicy§event_schema_version: u32Implementations§
Source§impl OpenedTelemetry
impl OpenedTelemetry
Sourcepub fn flush_all(&self) -> Result<(), TelemetryBundleError>
pub fn flush_all(&self) -> Result<(), TelemetryBundleError>
Synchronous flush of consent + install_id files (the queue
flush is the adapter’s responsibility — see
UsageReporter::flush).
Sourcepub fn discard_pending(&self) -> Result<(), TelemetryError>
pub fn discard_pending(&self) -> Result<(), TelemetryError>
Wipe the recent-log ring buffer and ask each adapter to drop its outbound buffer. Called on consent revocation and on the “Erase my data” flow.
The recent-log discard happens inside DynamicReporter:: discard_pending() (so the revision signal is bumped from
the same place it’s bumped on record()), not here.
Trait Implementations§
Source§impl Clone for OpenedTelemetry
impl Clone for OpenedTelemetry
Source§fn clone(&self) -> OpenedTelemetry
fn clone(&self) -> OpenedTelemetry
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more