Skip to content

Commit

Permalink
add gflag max_multi_dimension_stats_count (#2894)
Browse files Browse the repository at this point in the history
  • Loading branch information
cdjingit authored Feb 20, 2025
1 parent 4005a08 commit f642491
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 4 deletions.
4 changes: 1 addition & 3 deletions src/bvar/multi_dimension.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@

namespace bvar {

constexpr uint64_t MAX_MULTI_DIMENSION_STATS_COUNT = 20000;

template <typename T>
class MultiDimension : public MVariable {
public:
Expand Down Expand Up @@ -150,4 +148,4 @@ class MultiDimension : public MVariable {

#include "bvar/multi_dimension_inl.h"

#endif // BVAR_MULTI_DIMENSION_H
#endif // BVAR_MULTI_DIMENSION_H
3 changes: 2 additions & 1 deletion src/bvar/multi_dimension_inl.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ namespace bvar {
DECLARE_int32(bvar_latency_p1);
DECLARE_int32(bvar_latency_p2);
DECLARE_int32(bvar_latency_p3);
DECLARE_uint32(max_multi_dimension_stats_count);

static const std::string ALLOW_UNUSED METRIC_TYPE_COUNTER = "counter";
static const std::string ALLOW_UNUSED METRIC_TYPE_SUMMARY = "summary";
Expand All @@ -37,7 +38,7 @@ template <typename T>
inline
MultiDimension<T>::MultiDimension(const key_type& labels)
: Base(labels)
, _max_stats_count(MAX_MULTI_DIMENSION_STATS_COUNT)
, _max_stats_count(FLAGS_max_multi_dimension_stats_count)
{
_metric_map.Modify(init_flatmap);
}
Expand Down
11 changes: 11 additions & 0 deletions src/bvar/mvariable.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,17 @@ DEFINE_int32(bvar_max_dump_multi_dimension_metric_number, 1024,
BUTIL_VALIDATE_GFLAG(bvar_max_dump_multi_dimension_metric_number,
validator_bvar_max_dump_multi_dimension_metric_number);

static bool validator_max_multi_dimension_stats_count(const char*, uint32_t v) {
if (v < 1) {
LOG(ERROR) << "Invalid max_multi_dimension_stats_count=" << v;
return false;
}
return true;
}
DEFINE_uint32(max_multi_dimension_stats_count, 20000, "Max stats count of a multi dimension metric.");
BUTIL_VALIDATE_GFLAG(max_multi_dimension_stats_count,
validator_max_multi_dimension_stats_count);

class MVarEntry {
public:
MVarEntry() : var(NULL) {}
Expand Down

0 comments on commit f642491

Please sign in to comment.