pub struct QueryAnalyzer { /* private fields */ }Expand description
Analyzer for SQL queries found in PostgreSQL logs
Implementations§
Source§impl QueryAnalyzer
impl QueryAnalyzer
Sourcepub fn with_settings(
slow_query_threshold: f64,
max_slow_queries: usize,
max_frequent_queries: usize,
) -> Self
pub fn with_settings( slow_query_threshold: f64, max_slow_queries: usize, max_frequent_queries: usize, ) -> Self
Create a new query analyzer with custom settings
Sourcepub fn slow_query_threshold(&self) -> f64
pub fn slow_query_threshold(&self) -> f64
Get the slow query threshold (public for testing)
Sourcepub fn max_slow_queries(&self) -> usize
pub fn max_slow_queries(&self) -> usize
Get the maximum number of slow queries to track (public for testing)
Sourcepub fn max_frequent_queries(&self) -> usize
pub fn max_frequent_queries(&self) -> usize
Get the maximum number of frequent queries to track (public for testing)
Sourcepub fn analyze(&self, entries: &[LogEntry]) -> Result<AnalysisResult>
pub fn analyze(&self, entries: &[LogEntry]) -> Result<AnalysisResult>
Analyze queries from log entries
Sourcepub fn analyze_events(
&self,
events: &[NormalizedEvent],
) -> Result<AnalysisResult>
pub fn analyze_events( &self, events: &[NormalizedEvent], ) -> Result<AnalysisResult>
Analyze queries from normalized events.
Sourcepub fn normalize_query(&self, sql: &str) -> String
pub fn normalize_query(&self, sql: &str) -> String
Normalize SQL query by replacing literals with placeholders
Sourcepub fn classify_query(&self, sql: &str) -> QueryType
pub fn classify_query(&self, sql: &str) -> QueryType
Classify query type based on SQL content
Sourcepub fn calculate_metrics(&self, durations: &[f64]) -> QueryMetrics
pub fn calculate_metrics(&self, durations: &[f64]) -> QueryMetrics
Calculate performance metrics from durations (public for testing)
Sourcepub fn find_slow_queries(
&self,
entries: &[LogEntry],
threshold_ms: f64,
) -> Result<Vec<LogEntry>>
pub fn find_slow_queries( &self, entries: &[LogEntry], threshold_ms: f64, ) -> Result<Vec<LogEntry>>
Find slow queries above a threshold
Sourcepub fn get_query_type_distribution(
&self,
entries: &[LogEntry],
) -> HashMap<QueryType, u64>
pub fn get_query_type_distribution( &self, entries: &[LogEntry], ) -> HashMap<QueryType, u64>
Get query type distribution
pub fn get_query_type_distribution_for_events( &self, events: &[NormalizedEvent], ) -> HashMap<QueryType, u64>
Sourcepub fn calculate_error_rate(&self, entries: &[LogEntry]) -> f64
pub fn calculate_error_rate(&self, entries: &[LogEntry]) -> f64
Calculate error rate
pub fn calculate_error_rate_for_events(&self, events: &[NormalizedEvent]) -> f64
Trait Implementations§
Auto Trait Implementations§
impl Freeze for QueryAnalyzer
impl RefUnwindSafe for QueryAnalyzer
impl Send for QueryAnalyzer
impl Sync for QueryAnalyzer
impl Unpin for QueryAnalyzer
impl UnsafeUnpin for QueryAnalyzer
impl UnwindSafe for QueryAnalyzer
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