@@ -713,7 +713,9 @@ class TopN final : public Metric
713713 std::stringstream name_text;
714714 name_text << items[i].get_item ();
715715 l[_item_key] = name_text.str ();
716- _set_opentelemetry_data (metric->mutable_gauge ()->add_data_points (), start_time, end_time, l, items[i].get_estimate ());
716+ if (!l[_item_key].empty ()) {
717+ _set_opentelemetry_data (metric->mutable_gauge ()->add_data_points (), start_time, end_time, l, items[i].get_estimate ());
718+ }
717719 } else {
718720 break ;
719721 }
@@ -736,7 +738,9 @@ class TopN final : public Metric
736738 for (uint64_t i = 0 ; i < std::min (_top_count, items.size ()); i++) {
737739 if (items[i].get_estimate () >= threshold) {
738740 l[_item_key] = formatter (items[i].get_item ());
739- _set_opentelemetry_data (metric->mutable_gauge ()->add_data_points (), start_time, end_time, l, items[i].get_estimate ());
741+ if (!l[_item_key].empty ()) {
742+ _set_opentelemetry_data (metric->mutable_gauge ()->add_data_points (), start_time, end_time, l, items[i].get_estimate ());
743+ }
740744 } else {
741745 break ;
742746 }
@@ -759,7 +763,9 @@ class TopN final : public Metric
759763 for (uint64_t i = 0 ; i < std::min (_top_count, items.size ()); i++) {
760764 if (items[i].get_estimate () >= threshold) {
761765 formatter (l, _item_key, items[i].get_item ());
762- _set_opentelemetry_data (metric->mutable_gauge ()->add_data_points (), start_time, end_time, l, items[i].get_estimate ());
766+ if (!l[_item_key].empty ()) {
767+ _set_opentelemetry_data (metric->mutable_gauge ()->add_data_points (), start_time, end_time, l, items[i].get_estimate ());
768+ }
763769 } else {
764770 break ;
765771 }
0 commit comments