Skip to content

Commit c0a0489

Browse files
committed
Add more asserts in unit tests
1 parent d26be77 commit c0a0489

2 files changed

Lines changed: 33 additions & 0 deletions

File tree

test/test_span_sampler.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,24 @@ TEST_CASE("span rule sample rate") {
271271
config.trace_sampler.sample_rate = 0.0; // drop the trace
272272
auto finalized = finalize_config(config);
273273
REQUIRE(finalized);
274+
275+
// metadata should be populated right - check the full JSON representation
276+
auto expected_rules = "[{\"name\":\"*\",\"resource\":\"*\",\"sample_rate\":" +
277+
to_string(test_case.span_rule_rate, 1) +
278+
",\"service\":\"testsvc\",\"tags\":{}}]";
279+
REQUIRE(finalized->metadata[ConfigName::SPAN_SAMPLING_RULES].value ==
280+
expected_rules);
281+
282+
auto tracing_product = finalized->telemetry.products[0];
283+
284+
// Verify the tracing product has the span sampling rules in telemetry configs
285+
const auto& span_rules_configs =
286+
tracing_product.configurations.at(ConfigName::SPAN_SAMPLING_RULES);
287+
REQUIRE(span_rules_configs.size() ==
288+
1); // Only CODE origin since rules were set in code
289+
REQUIRE(span_rules_configs[0].value == expected_rules);
290+
REQUIRE(span_rules_configs[0].origin == ConfigMetadata::Origin::CODE);
291+
274292
Tracer tracer{*finalized};
275293
{
276294
auto span = tracer.create_span();

test/test_trace_sampler.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,21 @@ TEST_CASE("trace sampling rule sample rate") {
7373

7474
auto finalized = finalize_config(config);
7575
REQUIRE(finalized);
76+
77+
// metadata should be populated right
78+
REQUIRE(finalized->metadata[ConfigName::TRACE_SAMPLING_RATE].value ==
79+
to_string(test_case.sample_rate, 1));
80+
81+
auto tracing_product = finalized->telemetry.products[0];
82+
// Verify the tracing product has the telemetry configs
83+
const auto& rate_configs =
84+
tracing_product.configurations.at(ConfigName::TRACE_SAMPLING_RATE);
85+
REQUIRE(rate_configs.size() == 2);
86+
REQUIRE(rate_configs[0].value == to_string(1, 1));
87+
REQUIRE(rate_configs[0].origin == ConfigMetadata::Origin::DEFAULT);
88+
REQUIRE(rate_configs[1].value == to_string(test_case.sample_rate, 1));
89+
REQUIRE(rate_configs[1].origin == ConfigMetadata::Origin::CODE);
90+
7691
Tracer tracer{*finalized};
7792

7893
for (std::size_t i = 0; i < num_iterations; ++i) {

0 commit comments

Comments
 (0)