TLA 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 CBC 18442 : pub(crate) fn debug_assert_current_span_has_tenant_and_timeline_id() {
10 18442 : static TIMELINE_ID_EXTRACTOR: once_cell::sync::Lazy<MultiNameExtractor<1>> =
11 18442 : once_cell::sync::Lazy::new(|| MultiNameExtractor::new("TimelineId", ["timeline_id"]));
12 18442 :
13 18442 : let fields: [&dyn Extractor; 2] = [
14 18442 : &*crate::tenant::span::TENANT_ID_EXTRACTOR,
15 18442 : &*TIMELINE_ID_EXTRACTOR,
16 18442 : ];
17 18442 : if let Err(missing) = check_fields_present!(fields) {
18 UBC 0 : panic!("missing extractors: {missing:?}")
19 CBC 18442 : }
20 18442 : }
|