@@ -32,7 +32,7 @@ use relay_log::LogError;
32
32
use relay_metrics:: { Bucket , InsertMetrics , MergeBuckets , Metric } ;
33
33
use relay_quotas:: { DataCategory , ReasonCode } ;
34
34
use relay_redis:: RedisPool ;
35
- use relay_sampling:: { DynamicSamplingContext , RuleId } ;
35
+ use relay_sampling:: RuleId ;
36
36
use relay_statsd:: metric;
37
37
use relay_system:: { Addr , FromMessage , NoResponse , Service } ;
38
38
@@ -45,7 +45,7 @@ use crate::envelope::{AttachmentType, ContentType, Envelope, Item, ItemType};
45
45
use crate :: metrics_extraction:: sessions:: { extract_session_metrics, SessionMetricsConfig } ;
46
46
use crate :: metrics_extraction:: transactions:: { extract_transaction_metrics, ExtractMetricsError } ;
47
47
use crate :: service:: REGISTRY ;
48
- use crate :: statsd:: { RelayCounters , RelayHistograms , RelayTimers } ;
48
+ use crate :: statsd:: { RelayCounters , RelayTimers } ;
49
49
use crate :: utils:: {
50
50
self , ChunkedFormDataAggregator , EnvelopeContext , ErrorBoundary , FormDataIter , SamplingResult ,
51
51
} ;
@@ -358,109 +358,6 @@ fn outcome_from_profile_error(err: relay_profiling::ProfileError) -> Outcome {
358
358
Outcome :: Invalid ( discard_reason)
359
359
}
360
360
361
- fn track_sampling_metrics (
362
- project_state : & ProjectState ,
363
- context : & DynamicSamplingContext ,
364
- event : & Event ,
365
- ) {
366
- // We only collect this metric for the root transaction event, so ignore secondary projects.
367
- if !project_state. is_matching_key ( context. public_key ) {
368
- return ;
369
- }
370
-
371
- let transaction_info = match event. transaction_info . value ( ) {
372
- Some ( info) => info,
373
- None => return ,
374
- } ;
375
-
376
- let changes = match transaction_info. changes . value ( ) {
377
- Some ( value) => value. as_slice ( ) ,
378
- None => return ,
379
- } ;
380
-
381
- let last_change = changes
382
- . iter ( )
383
- . rev ( )
384
- // skip all broken change records
385
- . filter_map ( |a| a. value ( ) )
386
- // skip records without a timestamp
387
- . filter ( |c| c. timestamp . value ( ) . is_some ( ) )
388
- // take the last that did not occur when the event was sent
389
- . find ( |c| c. timestamp . value ( ) != event. timestamp . value ( ) ) ;
390
-
391
- let source = event. get_transaction_source ( ) . as_str ( ) ;
392
- let platform = event. platform . as_str ( ) . unwrap_or ( "other" ) ;
393
- let sdk_name = event. sdk_name ( ) ;
394
- let sdk_version = event. sdk_version ( ) ;
395
-
396
- metric ! (
397
- histogram( RelayHistograms :: DynamicSamplingChanges ) = changes. len( ) as u64 ,
398
- source = source,
399
- platform = platform,
400
- sdk_name = sdk_name,
401
- sdk_version = sdk_version,
402
- ) ;
403
-
404
- if let Some ( & total) = transaction_info. propagations . value ( ) {
405
- // If there was no change, there were no propagations that happened with a wrong name.
406
- let change = last_change
407
- . and_then ( |c| c. propagations . value ( ) )
408
- . map_or ( 0 , |v| * v) ;
409
-
410
- metric ! (
411
- histogram( RelayHistograms :: DynamicSamplingPropagationCount ) = change,
412
- source = source,
413
- platform = platform,
414
- sdk_name = sdk_name,
415
- sdk_version = sdk_version,
416
- ) ;
417
-
418
- let percentage = match ( change, total) {
419
- ( 0 , 0 ) => 0.0 , // 0% indicates no premature changes.
420
- _ => ( ( change as f64 ) / ( total as f64 ) ) . min ( 1.0 ) * 100.0 ,
421
- } ;
422
-
423
- metric ! (
424
- histogram( RelayHistograms :: DynamicSamplingPropagationPercentage ) = percentage,
425
- source = source,
426
- platform = platform,
427
- sdk_name = sdk_name,
428
- sdk_version = sdk_version,
429
- ) ;
430
- }
431
-
432
- if let ( Some ( & start) , Some ( & change) , Some ( & end) ) = (
433
- event. start_timestamp . value ( ) ,
434
- last_change
435
- . and_then ( |c| c. timestamp . value ( ) )
436
- . or_else ( || event. start_timestamp . value ( ) ) , // default to start if there was no change
437
- event. timestamp . value ( ) ,
438
- ) {
439
- let delay_ms = ( change - start) . num_milliseconds ( ) ;
440
- if delay_ms >= 0 {
441
- metric ! (
442
- histogram( RelayHistograms :: DynamicSamplingChangeDuration ) = delay_ms as u64 ,
443
- source = source,
444
- platform = platform,
445
- sdk_name = sdk_name,
446
- sdk_version = sdk_version,
447
- ) ;
448
- }
449
-
450
- let duration_ms = ( end - start) . num_milliseconds ( ) as f64 ;
451
- if delay_ms >= 0 && duration_ms >= 0.0 {
452
- let percentage = ( ( delay_ms as f64 ) / duration_ms) . min ( 1.0 ) * 100.0 ;
453
- metric ! (
454
- histogram( RelayHistograms :: DynamicSamplingChangePercentage ) = percentage,
455
- source = source,
456
- platform = platform,
457
- sdk_name = sdk_name,
458
- sdk_version = sdk_version,
459
- ) ;
460
- }
461
- }
462
- }
463
-
464
361
/// Response of the [`ProcessEnvelope`] message.
465
362
#[ cfg_attr( not( feature = "processing" ) , allow( dead_code) ) ]
466
363
pub struct ProcessEnvelopeResponse {
@@ -1859,11 +1756,8 @@ impl EnvelopeProcessorService {
1859
1756
1860
1757
state. transaction_metrics_extracted = true ;
1861
1758
state. envelope_context . set_event_metrics_extracted ( ) ;
1862
-
1863
- if let Some ( context) = state. envelope . sampling_context ( ) {
1864
- track_sampling_metrics ( & state. project_state , context, event) ;
1865
- }
1866
1759
}
1760
+
1867
1761
Ok ( ( ) )
1868
1762
}
1869
1763
0 commit comments