Skip to main content

Crate teksilo_telemetry

Crate teksilo_telemetry 

Source
Expand description

teksilo-telemetry — privacy-respecting product analytics for Teksilo.

This crate ships the foundational pieces:

Re-exports the pure trait/type surface from teksilo_core::telemetry so apps need only use teksilo_telemetry::* to access the full API.

Re-exports§

pub use bundle::DataResidencyRegion;
pub use bundle::OpenedTelemetry;
pub use bundle::PrivacyPolicy;
pub use bundle::TelemetryBundle;
pub use bundle::TelemetryBundleError;
pub use bundle::TelemetryMode;
pub use consent::ConsentFile;
pub use consent::ConsentStore;
pub use consent::PersistedConsentState;
pub use dynamic_reporter::DynamicReporter;
pub use ext::TelemetryExt;
pub use install_id::InstallId;
pub use install_id::InstallIdFile;
pub use queue::EventQueue;
pub use queue::InMemoryEventQueue;
pub use queue::PersistentEventQueue;
pub use queue::PersistentQueueError;
pub use stub::StubReporter;

Modules§

bundle
TelemetryBundle — declarative configuration for the TeksiloAppBuilder integration.
consent
Persisted consent state.
dynamic_reporter
Runtime-switchable wrapper holding both anonymous-mode and pseudonymous-mode adapters.
ext
Extension traits exposing telemetry services on BuildContext / EventContext.
generated
Hand-written framework-event emitters.
install_id
Pseudonymous-mode install identifier.
queue
Event queue — EventQueue trait + two impls.
scopes
SettingsKey<bool> constants for the per-scope toggles.
stub
Stub reporter for tests.

Structs§

ConsentScope
Per-purpose consent toggles. Each is independent.
Event
A telemetry event in flight.
F64Bucket
OwnedEvent
OwnedProp
Prop
One key/value pair on an event. Keys are always &'static str.
RemoteDataExport
Server-side data fetched by UsageReporter::fetch_remote_data.
RemoteEvent
TelemetryContext
Registration type for the dispatch tap.

Enums§

ConsentState
Top-level consent state, persisted via teksilo-telemetry::ConsentStore.
EventCategory
IntentSource
Where an intent came from. Intent::new starts every intent at Programmatic, and the framework’s activation paths override it before dispatch: Shortcut when a chord match produces the intent, Handler for anything raised from inside a gesture handler (button taps included), Accessibility for an AccessKit action, and Menu for a handler that wrapped itself in EventContext::with_intent_source. Read by the dispatch tap to fill the source prop on intent.dispatched. Unknown is left for callers that have no origin to report; no framework dispatch site emits it.
OwnedPropValue
PropValue
Closed enum of allowlisted property values. There is no String variant — anything dynamic must be length-bounded by the schema or pre-bucketed. This is the type-system enforcement of the data- minimisation rule: an app author physically cannot pass a runtime String from a TextField because the codegen’d emit signature won’t accept one.
RemoteValue
JSON-shaped value type for fetched server records. Kept minimal (no serde dep at the teksilo-core level); adapter crates may map to their own richer types as needed.
TelemetryError

Traits§

UsageReporter
The observability sink. Implemented by adapter crates (teksilo-analytics-plausible, teksilo-analytics-posthog, etc.) and by teksilo-telemetry::DynamicReporter (which forwards to whichever concrete adapter is currently active).