relay_server/services/processor/
span.rs1use relay_dynamic_config::Feature;
4
5use crate::envelope::ItemType;
6use crate::managed::{ItemAction, TypedEnvelope};
7use crate::services::processor::{SpanGroup, should_filter};
8
9#[cfg(feature = "processing")]
10mod processing;
11use crate::services::projects::project::ProjectInfo;
12#[cfg(feature = "processing")]
13pub use processing::*;
14use relay_config::Config;
15
16pub fn filter(
17 managed_envelope: &mut TypedEnvelope<SpanGroup>,
18 config: &Config,
19 project_info: &ProjectInfo,
20) {
21 let disabled = should_filter(config, project_info, Feature::StandaloneSpanIngestion);
22 if !disabled {
23 return;
24 }
25
26 managed_envelope.retain_items(|item| match item.ty() {
27 ItemType::Span => {
28 relay_log::debug!("dropping span because feature is disabled");
29 ItemAction::DropSilently
30 }
31 _ => ItemAction::Keep,
32 });
33}