pub struct UsageAnalytics { /* private fields */ }Expand description
Usage analytics system
Implementations§
Source§impl UsageAnalytics
impl UsageAnalytics
Sourcepub fn new(config: AnalyticsConfig) -> Self
pub fn new(config: AnalyticsConfig) -> Self
Create a new usage analytics system
Sourcepub async fn track_event(&self, event: UsageEvent) -> Result<(), AppError>
pub async fn track_event(&self, event: UsageEvent) -> Result<(), AppError>
Track a usage event
Sourcepub async fn track_app_launch(
&self,
session_id: String,
user_id: Option<String>,
) -> Result<(), AppError>
pub async fn track_app_launch( &self, session_id: String, user_id: Option<String>, ) -> Result<(), AppError>
Track app launch
Sourcepub async fn track_voice_command(
&self,
session_id: String,
user_id: Option<String>,
command: &str,
confidence: f32,
processing_time_ms: u64,
) -> Result<(), AppError>
pub async fn track_voice_command( &self, session_id: String, user_id: Option<String>, command: &str, confidence: f32, processing_time_ms: u64, ) -> Result<(), AppError>
Track voice command
Sourcepub async fn track_gesture(
&self,
session_id: String,
user_id: Option<String>,
gesture_type: &str,
confidence: f32,
) -> Result<(), AppError>
pub async fn track_gesture( &self, session_id: String, user_id: Option<String>, gesture_type: &str, confidence: f32, ) -> Result<(), AppError>
Track gesture
Sourcepub async fn track_error(
&self,
session_id: String,
user_id: Option<String>,
error_type: &str,
error_message: &str,
) -> Result<(), AppError>
pub async fn track_error( &self, session_id: String, user_id: Option<String>, error_type: &str, error_message: &str, ) -> Result<(), AppError>
Track error
Sourcepub async fn generate_insights(
&self,
days_back: Option<i64>,
) -> Result<AnalyticsInsights, AppError>
pub async fn generate_insights( &self, days_back: Option<i64>, ) -> Result<AnalyticsInsights, AppError>
Generate analytics insights
Sourcepub async fn cleanup_old_data(&self) -> Result<usize, AppError>
pub async fn cleanup_old_data(&self) -> Result<usize, AppError>
Clean up old data
Sourcepub async fn update_config(&self, new_config: AnalyticsConfig)
pub async fn update_config(&self, new_config: AnalyticsConfig)
Update configuration
Sourcepub async fn get_config(&self) -> AnalyticsConfig
pub async fn get_config(&self) -> AnalyticsConfig
Get current configuration
Sourcepub async fn get_cached_insights(&self) -> Option<AnalyticsInsights>
pub async fn get_cached_insights(&self) -> Option<AnalyticsInsights>
Get cached insights
Auto Trait Implementations§
impl Freeze for UsageAnalytics
impl !RefUnwindSafe for UsageAnalytics
impl Send for UsageAnalytics
impl Sync for UsageAnalytics
impl Unpin for UsageAnalytics
impl !UnwindSafe for UsageAnalytics
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
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].