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 620 : pub(crate) fn debug_assert_current_span_has_tenant_id() {
13 620 : if cfg!(debug_assertions) {
14 620 : if let Err(missing) = check_fields_present!([&extractors::TENANT_ID, &extractors::SHARD_ID])
15 : {
16 0 : panic!("missing extractors: {missing:?}")
17 620 : }
18 0 : }
19 620 : }
20 :
21 : #[track_caller]
22 1210 : pub(crate) fn debug_assert_current_span_has_tenant_and_timeline_id() {
23 1210 : if cfg!(debug_assertions) {
24 1210 : if let Err(missing) = check_fields_present!([
25 1210 : &extractors::TENANT_ID,
26 1210 : &extractors::SHARD_ID,
27 1210 : &extractors::TIMELINE_ID,
28 1210 : ]) {
29 0 : panic!("missing extractors: {missing:?}")
30 1210 : }
31 0 : }
32 1210 : }
33 :
34 : #[track_caller]
35 0 : pub(crate) fn debug_assert_current_span_has_tenant_and_timeline_id_no_shard_id() {
36 0 : if cfg!(debug_assertions) {
37 0 : if let Err(missing) =
38 0 : check_fields_present!([&extractors::TENANT_ID, &extractors::TIMELINE_ID,])
39 : {
40 0 : panic!("missing extractors: {missing:?}")
41 0 : }
42 0 : }
43 0 : }
|