MCPcopy Create free account
hub / github.com/apache/brpc / TestLabels

Function TestLabels

test/bvar_multi_dimension_unittest.cpp:559–583  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

557
558template <typename KeyType, typename ValueType>
559static void TestLabels() {
560 std::string mbvar_name = butil::string_printf("my_madder_%d", g_exposed_count);
561 KeyType labels{"idc", "method", "status"};
562 bvar::MultiDimension<bvar::Adder<int>, KeyType> my_madder(mbvar_name, labels);
563 ASSERT_EQ(labels.size(), my_madder.count_labels());
564 ASSERT_STREQ(mbvar_name.c_str(), my_madder.name().c_str());
565 ASSERT_EQ(labels, my_madder.labels());
566
567 using ItemType = typename ValueType::value_type;
568 ValueType labels_value{ItemType("cv"), ItemType("post"), ItemType("200")};
569 bvar::Adder<int>* adder = my_madder.get_stats(labels_value);
570 ASSERT_NE(nullptr, adder);
571 ASSERT_TRUE(my_madder.has_stats(labels_value));
572 ASSERT_EQ((size_t)1, my_madder.count_stats());
573 {
574 // Compatible with old API.
575 bvar::Adder<int>* temp = my_madder.get_stats({"cv", "post", "200"});
576 ASSERT_EQ(adder, temp);
577 }
578 *adder << g_exposed_count;
579 ASSERT_EQ(g_exposed_count, adder->get_value());
580 my_madder.delete_stats(labels_value);
581 ASSERT_FALSE(my_madder.has_stats(labels_value));
582 ASSERT_EQ((size_t)0, my_madder.count_stats());
583}
584
585TEST_F(MultiDimensionTest, labels) {
586 TestLabels<std::list<std::string>, std::list<std::string>>();

Callers

nothing calls this directly

Calls 10

string_printfFunction · 0.85
count_labelsMethod · 0.80
get_statsMethod · 0.80
has_statsMethod · 0.80
count_statsMethod · 0.80
delete_statsMethod · 0.80
sizeMethod · 0.45
c_strMethod · 0.45
nameMethod · 0.45
get_valueMethod · 0.45

Tested by

no test coverage detected