diff --git a/relay_event_normalization/span/tag_extraction/index.html b/relay_event_normalization/span/tag_extraction/index.html index df26c65abe..bc61e0bca7 100644 --- a/relay_event_normalization/span/tag_extraction/index.html +++ b/relay_event_normalization/span/tag_extraction/index.html @@ -1,3 +1,3 @@ -relay_event_normalization::span::tag_extraction - Rust

Module relay_event_normalization::span::tag_extraction

source ·
Expand description

Logic for persisting items into span.sentry_tags and span.measurements fields. +relay_event_normalization::span::tag_extraction - Rust

Module relay_event_normalization::span::tag_extraction

source ·
Expand description

Logic for persisting items into span.sentry_tags and span.measurements fields. These are then used for metrics extraction.

Enums§

  • A list of supported span tags for tag extraction.

Statics§

Functions§

\ No newline at end of file diff --git a/relay_event_schema/processor/derive.ProcessValue.html b/relay_event_schema/processor/derive.ProcessValue.html index eb67403624..12a4771ca6 100644 --- a/relay_event_schema/processor/derive.ProcessValue.html +++ b/relay_event_schema/processor/derive.ProcessValue.html @@ -1,4 +1,4 @@ -ProcessValue in relay_event_schema::processor - Rust

Derive Macro relay_event_schema::processor::ProcessValue

#[derive(ProcessValue)]
+ProcessValue in relay_event_schema::processor - Rust

Derive Macro relay_event_schema::processor::ProcessValue

source ·
#[derive(ProcessValue)]
 {
     // Attributes available to this derive:
     #[metastructure]
diff --git a/src/relay_dynamic_config/defaults.rs.html b/src/relay_dynamic_config/defaults.rs.html
index e246e620c9..e114f86389 100644
--- a/src/relay_dynamic_config/defaults.rs.html
+++ b/src/relay_dynamic_config/defaults.rs.html
@@ -945,6 +945,14 @@
 945
 946
 947
+948
+949
+950
+951
+952
+953
+954
+955
 
use relay_base_schema::data_category::DataCategory;
 use relay_common::glob2::LazyGlob;
 use relay_event_normalization::utils::MAX_DURATION_MOBILE_MS;
@@ -1139,6 +1147,14 @@
     let is_app_start = RuleCondition::glob("span.op", "app.start.*")
         & RuleCondition::eq("span.description", APP_START_ROOT_SPAN_DESCRIPTIONS);
 
+    // Metrics for common modules:
+    let is_common = is_app_start.clone()
+        | is_db.clone()
+        | is_resource.clone()
+        | is_http.clone()
+        | is_mobile.clone()
+        | is_interaction.clone();
+
     // Metrics for addon modules are only extracted if the feature flag is enabled:
     let is_addon = is_ai.clone() | is_queue_op.clone() | is_cache.clone();
 
@@ -1150,7 +1166,7 @@
                     category: DataCategory::Span,
                     mri: "d:spans/exclusive_time@millisecond".into(),
                     field: Some("span.exclusive_time".into()),
-                    condition: Some(!is_addon.clone()),
+                    condition: Some(!is_addon.clone() & is_common.clone()),
                     tags: vec![],
                 },
                 MetricSpec {
@@ -1225,7 +1241,7 @@
                     category: DataCategory::Span,
                     mri: "d:spans/duration@millisecond".into(),
                     field: Some("span.duration".into()),
-                    condition: Some(!is_addon.clone()),
+                    condition: Some(!is_addon.clone() & is_common.clone()),
                     tags: vec![],
                 },
                 MetricSpec {
diff --git a/src/relay_event_normalization/normalize/span/tag_extraction.rs.html b/src/relay_event_normalization/normalize/span/tag_extraction.rs.html
index 9779ef99ba..cad56df0aa 100644
--- a/src/relay_event_normalization/normalize/span/tag_extraction.rs.html
+++ b/src/relay_event_normalization/normalize/span/tag_extraction.rs.html
@@ -2431,6 +2431,22 @@
 2431
 2432
 2433
+2434
+2435
+2436
+2437
+2438
+2439
+2440
+2441
+2442
+2443
+2444
+2445
+2446
+2447
+2448
+2449
 
//! Logic for persisting items into `span.sentry_tags` and `span.measurements` fields.
 //! These are then used for metrics extraction.
 use std::borrow::Cow;
@@ -4863,5 +4879,21 @@
             "admin@sentry.io"
         );
     }
+
+    #[test]
+    fn long_descriptions_are_truncated() {
+        let json = r#"{
+            "description": "SELECT column FROM table1 WHERE another_col = %s AND yet_another_col = something_very_longgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg",
+            "op": "db"
+        }"#;
+
+        let span = Annotated::<Span>::from_json(json)
+            .unwrap()
+            .into_value()
+            .unwrap();
+
+        let tags = extract_tags(&span, 200, None, None, false, None);
+        assert_eq!(tags[&SpanTagKey::Description], "SELECT column FROM table1 WHERE another_col = %s AND yet_another_col = something_very_longggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg*");
+    }
 }
 
\ No newline at end of file