Monitoring: trace history, trace search, and x:Trace over the stored traces (MON-10 to MON-17, MON-32)
A lossy collector subscriber keeps each inbound SMTP session that reached MAIL FROM and each delivery attempt, info level and above and never raw I/O, at most 1,000 events with strings cut at 4 KiB, and writes it when the span closes as an x:Trace under the telemetry key class, scheduling its indexing. The index task builds a document of event types, queue ids and keywords when indexTelemetry is on. x:Trace/get derives timestamp, from, to and size; /query filters by opening event, text, queueId and time; /set destroys only. The data purge honours holdTracesFor. The shared tracing and webhook suites run.
This commit is contained in:
@@ -248,6 +248,18 @@ async fn store_maintenance(
|
||||
{
|
||||
trc::error!(err.details("Failed to purge metric history"));
|
||||
}
|
||||
if let Some(keep) = retention.hold_traces_for
|
||||
&& !server.tracing_store().is_none()
|
||||
{
|
||||
use common::telemetry::tracers::store::TracingStore;
|
||||
if let Err(err) = server
|
||||
.tracing_store()
|
||||
.purge_spans(keep.into_inner(), Some(server.search_store()))
|
||||
.await
|
||||
{
|
||||
trc::error!(err.details("Failed to purge trace history"));
|
||||
}
|
||||
}
|
||||
|
||||
trc::event!(
|
||||
Store(StoreEvent::DataStorePurged),
|
||||
|
||||
Reference in New Issue
Block a user