pub trait TraceSqlLogic {
// Provided methods
fn insert_span_batch<'life0, 'life1, 'async_trait>(
pool: &'life0 Pool<Postgres>,
spans: &'life1 [TraceSpanRecord],
) -> Pin<Box<dyn Future<Output = Result<PgQueryResult, SqlError>> + Send + 'async_trait>>
where 'life0: 'async_trait,
'life1: 'async_trait { ... }
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_paginated_traces<'life0, 'async_trait>(
pool: &'life0 Pool<Postgres>,
filters: TraceFilters,
) -> Pin<Box<dyn Future<Output = Result<TracePaginationResponse, SqlError>> + Send + 'async_trait>>
where 'life0: 'async_trait { ... }
fn get_trace_spans<'life0, 'life1, 'life2, 'async_trait>(
pool: &'life0 Pool<Postgres>,
trace_id: &'life1 str,
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_metrics<'life0, 'life1, 'life2, 'async_trait>(
pool: &'life0 Pool<Postgres>,
service_name: Option<&'life1 str>,
start_time: DateTime<Utc>,
end_time: DateTime<Utc>,
bucket_interval_str: &'life2 str,
attribute_filters: Option<Vec<String>>,
entity_uid: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<Vec<TraceMetricBucket>, SqlError>> + Send + 'async_trait>>
where 'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
fn refresh_trace_summary<'life0, 'async_trait>(
pool: &'life0 Pool<Postgres>,
) -> Pin<Box<dyn Future<Output = Result<PgQueryResult, SqlError>> + Send + 'async_trait>>
where 'life0: '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 { ... }
}Provided Methods§
Sourcefn insert_span_batch<'life0, 'life1, 'async_trait>(
pool: &'life0 Pool<Postgres>,
spans: &'life1 [TraceSpanRecord],
) -> Pin<Box<dyn Future<Output = Result<PgQueryResult, SqlError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
fn insert_span_batch<'life0, 'life1, 'async_trait>(
pool: &'life0 Pool<Postgres>,
spans: &'life1 [TraceSpanRecord],
) -> Pin<Box<dyn Future<Output = Result<PgQueryResult, SqlError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Attempts to insert multiple trace span records into the database in a batch.
§Arguments
pool- The database connection poolspans- The trace span records to insert
Sourcefn 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 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 poolbaggage- The trace baggage records to insert
Sourcefn 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_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,
Sourcefn get_paginated_traces<'life0, 'async_trait>(
pool: &'life0 Pool<Postgres>,
filters: TraceFilters,
) -> Pin<Box<dyn Future<Output = Result<TracePaginationResponse, SqlError>> + Send + 'async_trait>>where
'life0: 'async_trait,
fn get_paginated_traces<'life0, 'async_trait>(
pool: &'life0 Pool<Postgres>,
filters: TraceFilters,
) -> Pin<Box<dyn Future<Output = Result<TracePaginationResponse, SqlError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Sourcefn get_trace_spans<'life0, 'life1, 'life2, 'async_trait>(
pool: &'life0 Pool<Postgres>,
trace_id: &'life1 str,
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_spans<'life0, 'life1, 'life2, 'async_trait>(
pool: &'life0 Pool<Postgres>,
trace_id: &'life1 str,
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,
Sourcefn get_trace_metrics<'life0, 'life1, 'life2, 'async_trait>(
pool: &'life0 Pool<Postgres>,
service_name: Option<&'life1 str>,
start_time: DateTime<Utc>,
end_time: DateTime<Utc>,
bucket_interval_str: &'life2 str,
attribute_filters: Option<Vec<String>>,
entity_uid: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<Vec<TraceMetricBucket>, SqlError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn get_trace_metrics<'life0, 'life1, 'life2, 'async_trait>(
pool: &'life0 Pool<Postgres>,
service_name: Option<&'life1 str>,
start_time: DateTime<Utc>,
end_time: DateTime<Utc>,
bucket_interval_str: &'life2 str,
attribute_filters: Option<Vec<String>>,
entity_uid: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<Vec<TraceMetricBucket>, SqlError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn refresh_trace_summary<'life0, 'async_trait>(
pool: &'life0 Pool<Postgres>,
) -> Pin<Box<dyn Future<Output = Result<PgQueryResult, SqlError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Attempts to retrieve trace spans based on tag filters.
§Arguments
pool- The database connection poolentity_type- The entity type to filter spanstag_filters- The tag filters to applymatch_all- Whether to match all tags or anyservice_name- Optional service name to filter spans
§Returns
- A vector of
TraceSpanmatching the tag filters
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.