Line data Source code
1 : use utils::tracing_span_assert::check_fields_present;
2 :
3 : mod extractors {
4 : use utils::tracing_span_assert::ConstExtractor;
5 :
6 : pub(super) const TENANT_ID: ConstExtractor = ConstExtractor::new("tenant_id");
7 : pub(super) const SHARD_ID: ConstExtractor = ConstExtractor::new("shard_id");
8 : pub(super) const TIMELINE_ID: ConstExtractor = ConstExtractor::new("timeline_id");
9 : }
10 :
11 : #[track_caller]
12 5274 : pub(crate) fn debug_assert_current_span_has_tenant_id() {
13 5274 : if cfg!(debug_assertions) {
14 5274 : if let Err(missing) = check_fields_present!([&extractors::TENANT_ID, &extractors::SHARD_ID])
15 : {
16 0 : panic!("missing extractors: {missing:?}")
17 5274 : }
18 0 : }
19 5274 : }
20 :
21 : #[track_caller]
22 4481738 : pub(crate) fn debug_assert_current_span_has_tenant_and_timeline_id() {
23 4481738 : if cfg!(debug_assertions) {
24 4481738 : if let Err(missing) = check_fields_present!([
25 4481738 : &extractors::TENANT_ID,
26 4481738 : &extractors::SHARD_ID,
27 4481738 : &extractors::TIMELINE_ID,
28 4481738 : ]) {
29 0 : panic!("missing extractors: {missing:?}")
30 4481738 : }
31 0 : }
32 4481738 : }
33 :
34 : #[track_caller]
35 4453278 : pub(crate) fn debug_assert_current_span_has_tenant_and_timeline_id_no_shard_id() {
36 4453278 : if cfg!(debug_assertions) {
37 0 : if let Err(missing) =
38 4453278 : check_fields_present!([&extractors::TENANT_ID, &extractors::TIMELINE_ID,])
39 : {
40 0 : panic!("missing extractors: {missing:?}")
41 4453278 : }
42 0 : }
43 4453278 : }
|