Line data Source code
1 : #[cfg(debug_assertions)]
2 : use utils::tracing_span_assert::{check_fields_present, Extractor, MultiNameExtractor};
3 :
4 : #[cfg(not(debug_assertions))]
5 : pub(crate) fn debug_assert_current_span_has_tenant_and_timeline_id() {}
6 :
7 : #[cfg(debug_assertions)]
8 : #[track_caller]
9 17122 : pub(crate) fn debug_assert_current_span_has_tenant_and_timeline_id() {
10 17122 : static TIMELINE_ID_EXTRACTOR: once_cell::sync::Lazy<MultiNameExtractor<1>> =
11 17122 : once_cell::sync::Lazy::new(|| MultiNameExtractor::new("TimelineId", ["timeline_id"]));
12 17122 :
13 17122 : let fields: [&dyn Extractor; 2] = [
14 17122 : &*crate::tenant::span::TENANT_ID_EXTRACTOR,
15 17122 : &*TIMELINE_ID_EXTRACTOR,
16 17122 : ];
17 17122 : if let Err(missing) = check_fields_present!(fields) {
18 0 : panic!("missing extractors: {missing:?}")
19 17122 : }
20 17122 : }
|