Skip to content

Commit 556eb89

Browse files
committed
add base2 expo histo test with sync storage collect
1 parent e5e7b20 commit 556eb89

File tree

1 file changed

+52
-3
lines changed

1 file changed

+52
-3
lines changed

sdk/test/metrics/sync_metric_storage_histogram_test.cc

Lines changed: 52 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -388,8 +388,11 @@ TEST_P(WritableMetricStorageHistogramTestFixture, Base2ExponentialDoubleHistogra
388388
EXPECT_EQ(data.count_, 2);
389389
EXPECT_EQ(data.min_, 10);
390390
EXPECT_EQ(data.max_, 20);
391-
EXPECT_EQ(data.positive_buckets_.Empty(), false);
392391
EXPECT_EQ(data.negative_buckets_.Empty(), true);
392+
auto start_index = data.positive_buckets_.StartIndex();
393+
auto end_index = data.positive_buckets_.EndIndex();
394+
EXPECT_EQ(data.positive_buckets_.Get(start_index), 1);
395+
EXPECT_EQ(data.positive_buckets_.Get(end_index), 1);
393396
count_attributes++;
394397
}
395398
else if (opentelemetry::nostd::get<std::string>(
@@ -399,7 +402,10 @@ TEST_P(WritableMetricStorageHistogramTestFixture, Base2ExponentialDoubleHistogra
399402
EXPECT_EQ(data.count_, 2);
400403
EXPECT_EQ(data.min_, 30);
401404
EXPECT_EQ(data.max_, 40);
402-
EXPECT_EQ(data.positive_buckets_.Empty(), false);
405+
auto start_index = data.positive_buckets_.StartIndex();
406+
auto end_index = data.positive_buckets_.EndIndex();
407+
EXPECT_EQ(data.positive_buckets_.Get(start_index), 1);
408+
EXPECT_EQ(data.positive_buckets_.Get(end_index), 1);
403409
EXPECT_EQ(data.negative_buckets_.Empty(), true);
404410
count_attributes++;
405411
}
@@ -464,25 +470,68 @@ TEST_P(WritableMetricStorageHistogramTestFixture, Base2ExponentialDoubleHistogra
464470
collector.get(), collectors, sdk_start_ts, collection_ts, [&](const MetricData &metric_data) {
465471
for (const auto &data_attr : metric_data.point_data_attr_)
466472
{
467-
const auto &data =
473+
auto &data =
468474
opentelemetry::nostd::get<Base2ExponentialHistogramPointData>(data_attr.point_data);
469475
if (opentelemetry::nostd::get<std::string>(
470476
data_attr.attributes.find("RequestType")->second) == "GET")
471477
{
472478
EXPECT_EQ(data.sum_, expected_total_get_requests);
473479
count_attributes++;
480+
auto start_index = data.positive_buckets_.StartIndex();
481+
auto end_index = data.positive_buckets_.EndIndex();
482+
if (temporality == AggregationTemporality::kCumulative)
483+
{
484+
EXPECT_EQ(data.count_, 3);
485+
EXPECT_EQ(data.min_, 10);
486+
EXPECT_EQ(data.max_, 50);
487+
auto count = 0;
488+
for (int i = start_index; i <= end_index; ++i) {
489+
count += data.positive_buckets_.Get(i);
490+
}
491+
EXPECT_EQ(count, 3);
492+
}
493+
if (temporality == AggregationTemporality::kDelta)
494+
{
495+
EXPECT_EQ(data.count_, 1);
496+
EXPECT_EQ(data.min_, 50);
497+
EXPECT_EQ(data.max_, 50);
498+
EXPECT_EQ(data.positive_buckets_.Get(start_index), 1);
499+
EXPECT_EQ(end_index, start_index);
500+
}
474501
}
475502
else if (opentelemetry::nostd::get<std::string>(
476503
data_attr.attributes.find("RequestType")->second) == "PUT")
477504
{
478505
EXPECT_EQ(data.sum_, expected_total_put_requests);
479506
count_attributes++;
507+
auto start_index = data.positive_buckets_.StartIndex();
508+
auto end_index = data.positive_buckets_.EndIndex();
509+
if (temporality == AggregationTemporality::kCumulative)
510+
{
511+
EXPECT_EQ(data.count_, 3);
512+
EXPECT_EQ(data.min_, 30);
513+
EXPECT_EQ(data.max_, 40);
514+
auto count = 0;
515+
for (int i = start_index; i <= end_index; ++i) {
516+
count += data.positive_buckets_.Get(i);
517+
}
518+
EXPECT_EQ(count, 3);
519+
}
520+
if (temporality == AggregationTemporality::kDelta)
521+
{
522+
EXPECT_EQ(data.count_, 1);
523+
EXPECT_EQ(data.min_, 40);
524+
EXPECT_EQ(data.max_, 40);
525+
EXPECT_EQ(data.positive_buckets_.Get(start_index), 1);
526+
EXPECT_EQ(end_index, start_index);}
480527
}
481528
}
482529
return true;
483530
});
531+
484532
EXPECT_EQ(count_attributes, 2); // GET and PUT
485533
}
534+
486535
INSTANTIATE_TEST_SUITE_P(WritableMetricStorageHistogramTestBase2ExponentialDouble,
487536
WritableMetricStorageHistogramTestFixture,
488537
::testing::Values(AggregationTemporality::kCumulative,

0 commit comments

Comments
 (0)