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".

Implementors§