@@ -606,11 +606,11 @@ TEST_CASE("TracerConfig::trace_sampler") {
606606 SECTION (" yields one sampling rule" ) {
607607 auto finalized = finalize_config (config);
608608 REQUIRE (finalized);
609- REQUIRE (finalized->trace_sampler .rules .count (catch_all) );
609+ REQUIRE (finalized->trace_sampler .rules .size () == 1 );
610610 // and the default sample_rate is 100%
611- const auto & rate = finalized->trace_sampler .rules [catch_all] ;
612- CHECK (rate. value == 1.0 );
613- CHECK (rate .mechanism == SamplingMechanism::RULE);
611+ const auto & rule = finalized->trace_sampler .rules . front () ;
612+ CHECK (rule. rate == 1.0 );
613+ CHECK (rule .mechanism == SamplingMechanism::RULE);
614614 }
615615
616616 SECTION (" has to have a valid sample_rate" ) {
@@ -631,43 +631,44 @@ TEST_CASE("TracerConfig::trace_sampler") {
631631 rules[1 ].sample_rate = 0.6 ;
632632 auto finalized = finalize_config (config);
633633 REQUIRE (finalized);
634- REQUIRE (finalized->trace_sampler .rules .count (catch_all) );
634+ REQUIRE (finalized->trace_sampler .rules .size () == 2 );
635635
636- const auto & rate = finalized->trace_sampler .rules [catch_all] ;
637- CHECK (rate. value == 0.5 );
638- CHECK (rate .mechanism == SamplingMechanism::RULE);
636+ const auto & rule = finalized->trace_sampler .rules . front () ;
637+ CHECK (rule. rate == 0.5 );
638+ CHECK (rule .mechanism == SamplingMechanism::RULE);
639639 }
640640
641641 SECTION (" global sample_rate creates a catch-all rule" ) {
642642 config.trace_sampler .sample_rate = 0.25 ;
643643 auto finalized = finalize_config (config);
644644 REQUIRE (finalized);
645- REQUIRE (finalized->trace_sampler .rules .count (catch_all));
646- const auto & rate = finalized->trace_sampler .rules [catch_all];
647- CHECK (rate.value == 0.25 );
648- CHECK (rate.mechanism == SamplingMechanism::RULE);
645+ REQUIRE (finalized->trace_sampler .rules .size () == 1 );
646+ const auto & rule = finalized->trace_sampler .rules .front ();
647+ REQUIRE (rule.rate == 0.25 );
648+ REQUIRE (rule.matcher .service == " *" );
649+ REQUIRE (rule.matcher .name == " *" );
650+ REQUIRE (rule.matcher .resource == " *" );
651+ REQUIRE (rule.matcher .tags .empty ());
649652 }
650653
651654 SECTION (" DD_TRACE_SAMPLE_RATE" ) {
652655 SECTION (" sets the global sample_rate" ) {
653656 const EnvGuard guard{" DD_TRACE_SAMPLE_RATE" , " 0.5" };
654657 auto finalized = finalize_config (config);
655658 REQUIRE (finalized);
656- REQUIRE (finalized->trace_sampler .rules .count (catch_all) );
657- const auto & rate = finalized->trace_sampler .rules [catch_all] ;
658- CHECK (rate. value == 0.5 );
659- CHECK (rate. mechanism == SamplingMechanism::RULE);
659+ REQUIRE (finalized->trace_sampler .rules .size () == 1 );
660+ REQUIRE ( finalized->trace_sampler .rules . front (). rate == 0.5 ) ;
661+ REQUIRE (finalized-> trace_sampler . rules . front (). mechanism ==
662+ SamplingMechanism::RULE);
660663 }
661664
662665 SECTION (" overrides TraceSamplerConfig::sample_rate" ) {
663666 config.trace_sampler .sample_rate = 0.25 ;
664667 const EnvGuard guard{" DD_TRACE_SAMPLE_RATE" , " 0.5" };
665668 auto finalized = finalize_config (config);
666669 REQUIRE (finalized);
667- REQUIRE (finalized->trace_sampler .rules .count (catch_all));
668- const auto & rate = finalized->trace_sampler .rules [catch_all];
669- CHECK (rate.value == 0.5 );
670- CHECK (rate.mechanism == SamplingMechanism::RULE);
670+ REQUIRE (finalized->trace_sampler .rules .size () == 1 );
671+ REQUIRE (finalized->trace_sampler .rules .front ().rate == 0.5 );
671672 }
672673
673674 SECTION (" has to have a valid value" ) {
@@ -799,27 +800,16 @@ TEST_CASE("TracerConfig::trace_sampler") {
799800 CAPTURE (rules_json);
800801 CAPTURE (rules);
801802 REQUIRE (rules.size () == 2 );
802-
803- SpanMatcher matcher;
804- matcher.service = " poohbear" ;
805- matcher.name = " get.honey" ;
806-
807- auto found = rules.find (matcher);
808- REQUIRE (found != rules.cend ());
809-
810- CHECK (found->second .value == 0 );
811- CHECK (found->second .mechanism == SamplingMechanism::RULE);
812-
813- SpanMatcher matcher2;
814- matcher2.service = " *" ;
815- matcher2.name = " *" ;
816- matcher2.tags .emplace (" error" , " *" );
817- matcher2.resource = " /admin/*" ;
818-
819- found = rules.find (matcher2);
820- REQUIRE (found != rules.cend ());
821- CHECK (found->second .value == 1 );
822- CHECK (found->second .mechanism == SamplingMechanism::RULE);
803+ REQUIRE (rules[0 ].matcher .service == " poohbear" );
804+ REQUIRE (rules[0 ].matcher .name == " get.honey" );
805+ REQUIRE (rules[0 ].rate == 0 );
806+ REQUIRE (rules[0 ].matcher .tags .size () == 0 );
807+ REQUIRE (rules[1 ].matcher .service == " *" );
808+ REQUIRE (rules[1 ].matcher .name == " *" );
809+ REQUIRE (rules[1 ].rate == 1 );
810+ REQUIRE (rules[1 ].matcher .tags .size () == 1 );
811+ REQUIRE (rules[1 ].matcher .tags .at (" error" ) == " *" );
812+ REQUIRE (rules[1 ].matcher .resource == " /admin/*" );
823813 }
824814
825815 SECTION (" must be valid" ) {
0 commit comments