pub struct QueryDebugger { /* private fields */ }Expand description
Query debugger for SPARQL queries
Implementations§
Source§impl QueryDebugger
impl QueryDebugger
Sourcepub fn new(config: DebugConfig) -> Result<Self>
pub fn new(config: DebugConfig) -> Result<Self>
Create a new query debugger
Sourcepub fn add_breakpoint(&mut self, breakpoint: DebugBreakpoint)
pub fn add_breakpoint(&mut self, breakpoint: DebugBreakpoint)
Add a breakpoint
Sourcepub fn remove_breakpoint(&mut self, index: usize) -> Option<DebugBreakpoint>
pub fn remove_breakpoint(&mut self, index: usize) -> Option<DebugBreakpoint>
Remove a breakpoint
Sourcepub fn clear_breakpoints(&mut self)
pub fn clear_breakpoints(&mut self)
Clear all breakpoints
Sourcepub fn record_trace(
&mut self,
operation: Operation,
duration: Duration,
result_count: usize,
)
pub fn record_trace( &mut self, operation: Operation, duration: Duration, result_count: usize, )
Record a trace entry
Sourcepub fn track_variable(
&mut self,
variable: String,
value: String,
source: String,
)
pub fn track_variable( &mut self, variable: String, value: String, source: String, )
Track a variable binding
Sourcepub fn record_rewrite(
&mut self,
rule: String,
description: String,
before: &Algebra,
after: &Algebra,
)
pub fn record_rewrite( &mut self, rule: String, description: String, before: &Algebra, after: &Algebra, )
Record a query rewrite step
Sourcepub fn should_break(&self, operation: &Operation, result_count: usize) -> bool
pub fn should_break(&self, operation: &Operation, result_count: usize) -> bool
Check if a breakpoint should be triggered
Sourcepub fn get_execution_trace(&self) -> &VecDeque<TraceEntry>
pub fn get_execution_trace(&self) -> &VecDeque<TraceEntry>
Get execution trace
Sourcepub fn get_variable_history(
&self,
variable: &str,
) -> Option<&Vec<VariableBinding>>
pub fn get_variable_history( &self, variable: &str, ) -> Option<&Vec<VariableBinding>>
Get variable binding history for a specific variable
Sourcepub fn get_all_variable_histories(
&self,
) -> &HashMap<String, Vec<VariableBinding>>
pub fn get_all_variable_histories( &self, ) -> &HashMap<String, Vec<VariableBinding>>
Get all variable histories
Sourcepub fn get_rewrite_history(&self) -> &[RewriteStep]
pub fn get_rewrite_history(&self) -> &[RewriteStep]
Get query rewrite history
Sourcepub fn get_state(&self) -> ExecutionState
pub fn get_state(&self) -> ExecutionState
Get current execution state
Sourcepub fn get_breakpoint_hits(&self) -> usize
pub fn get_breakpoint_hits(&self) -> usize
Get breakpoint hit count
Sourcepub fn visualize_plan(&self, algebra: &Algebra) -> Result<String>
pub fn visualize_plan(&self, algebra: &Algebra) -> Result<String>
Visualize query plan
Sourcepub fn generate_report(&self) -> DebugReport
pub fn generate_report(&self) -> DebugReport
Generate debug report
Auto Trait Implementations§
impl Freeze for QueryDebugger
impl RefUnwindSafe for QueryDebugger
impl Send for QueryDebugger
impl Sync for QueryDebugger
impl Unpin for QueryDebugger
impl UnsafeUnpin for QueryDebugger
impl UnwindSafe for QueryDebugger
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.