Skip to main content

TraceSqlLogic

Trait TraceSqlLogic 

Source
pub trait TraceSqlLogic {
    // Provided methods
    fn insert_trace_baggage_batch<'life0, 'life1, 'async_trait>(
        pool: &'life0 Pool<Postgres>,
        baggage: &'life1 [TraceBaggageRecord],
    ) -> Pin<Box<dyn Future<Output = Result<PgQueryResult, SqlError>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             'life1: 'async_trait { ... }
    fn get_trace_baggage_records<'life0, 'life1, 'async_trait>(
        pool: &'life0 Pool<Postgres>,
        trace_id: &'life1 str,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<TraceBaggageRecord>, SqlError>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             'life1: 'async_trait { ... }
    fn get_spans_from_tags<'life0, 'life1, 'life2, 'async_trait>(
        pool: &'life0 Pool<Postgres>,
        entity_type: &'life1 str,
        tag_filters: Vec<HashMap<String, String>>,
        match_all: bool,
        service_name: Option<&'life2 str>,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<TraceSpan>, SqlError>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait { ... }
    fn get_trace_ids_for_entity<'life0, 'life1, 'async_trait>(
        pool: &'life0 Pool<Postgres>,
        entity_uid: &'life1 str,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<u8>>, SqlError>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             'life1: 'async_trait { ... }
}

Provided Methods§

Source

fn insert_trace_baggage_batch<'life0, 'life1, 'async_trait>( pool: &'life0 Pool<Postgres>, baggage: &'life1 [TraceBaggageRecord], ) -> Pin<Box<dyn Future<Output = Result<PgQueryResult, SqlError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait,

Attempts to insert multiple trace baggage records into the database in a batch.

§Arguments
  • pool - The database connection pool
  • baggage - The trace baggage records to insert
Source

fn get_trace_baggage_records<'life0, 'life1, 'async_trait>( pool: &'life0 Pool<Postgres>, trace_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Vec<TraceBaggageRecord>, SqlError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait,

Attempts to retrieve trace baggage records for a given trace ID.

§Arguments
  • pool - The database connection pool
  • trace_id - The trace ID to retrieve baggage for. This is always the hex encoded id
§Returns
  • A vector of TraceBaggageRecord associated with the trace ID
Source

fn get_spans_from_tags<'life0, 'life1, 'life2, 'async_trait>( pool: &'life0 Pool<Postgres>, entity_type: &'life1 str, tag_filters: Vec<HashMap<String, String>>, match_all: bool, service_name: Option<&'life2 str>, ) -> Pin<Box<dyn Future<Output = Result<Vec<TraceSpan>, SqlError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Attempts to retrieve trace spans based on tag filters.

§Arguments
  • pool - The database connection pool
  • entity_type - The entity type to filter spans
  • tag_filters - The tag filters to apply
  • match_all - Whether to match all tags or any
  • service_name - Optional service name to filter spans
§Returns
  • A vector of TraceSpan matching the tag filters
Source

fn get_trace_ids_for_entity<'life0, 'life1, 'async_trait>( pool: &'life0 Pool<Postgres>, entity_uid: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Vec<Vec<u8>>, SqlError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait,

Resolve entity_uid (UUID string) to raw 16-byte trace IDs via scouter.trace_entities. Returns empty Vec when entity_uid is invalid or no rows match.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§