Skip to main content

LogsQueryManager

Struct LogsQueryManager 

Source
pub struct LogsQueryManager { /* private fields */ }
Expand description

Manages multiple in-flight log queries in parallel using promises.

Similar to QueryManager but for log queries. Tracks queries by unique ID, enabling parallel log fetching for multiple time ranges or filters.

Includes timeout detection to prevent queries from hanging indefinitely.

§Example

let mut manager = LogsQueryManager::new();

// Fire multiple log queries in parallel
manager.execute(pane_id_1, &client, query1, &ctx);
manager.execute(pane_id_2, &client, query2, &ctx);

// In update loop, poll for all completed results
for (id, result) in manager.poll_all() {
    // Handle result for pane with this id
}

Implementations§

Source§

impl LogsQueryManager

Source

pub fn new() -> Self

Create a new logs query manager with the default timeout.

Source

pub fn with_timeout(timeout_secs: u64) -> Self

Create a new logs query manager with a custom timeout.

Source

pub fn is_querying(&self) -> bool

Check if any queries are currently in flight.

Source

pub fn is_querying_id(&self, id: usize) -> bool

Check if a specific query is in flight.

Source

pub fn pending_count(&self) -> usize

Get the number of queries currently in flight.

Source

pub fn execute<C: LogsClient + ?Sized>( &mut self, id: usize, client: &C, query: LogsQuery, ctx: &Context, )

Execute a logs query for the given ID using the given client.

If a query for this ID is already in flight, it is cancelled and replaced. Call poll_all() each frame to check for results.

Source

pub fn poll_all(&mut self) -> Vec<(usize, LogsResult)>

Poll for all completed query results.

Returns a vector of (id, result) pairs for queries that completed or timed out. Completed queries are removed from the pending set.

Source

pub fn cancel(&mut self, id: usize)

Cancel a specific query by ID.

Note: This doesn’t actually cancel the HTTP request, but it will ignore the result when it arrives.

Source

pub fn cancel_all(&mut self)

Cancel all pending queries.

Trait Implementations§

Source§

impl Default for LogsQueryManager

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more