From d883bb7542353f77d0fafddc34ada8da007a5b63 Mon Sep 17 00:00:00 2001 From: wangchenguang Date: Wed, 22 Jul 2026 00:26:53 +0800 Subject: [PATCH] refactor(bvar): replace COMMON_VARIABLE_CONSTRUCTOR with explicit ctors Inline default/name/prefix constructors in Adder, Maxer, Miner, and IntRecorder, and drop the shared macro from variable.h. Co-authored-by: Cursor --- src/bvar/recorder.h | 8 +++++++- src/bvar/reducer.h | 24 +++++++++++++++++++++--- src/bvar/variable.h | 10 ---------- 3 files changed, 28 insertions(+), 14 deletions(-) diff --git a/src/bvar/recorder.h b/src/bvar/recorder.h index b28b6372f6..696f5d8567 100644 --- a/src/bvar/recorder.h +++ b/src/bvar/recorder.h @@ -302,7 +302,13 @@ class IntRecorder : public Variable { typedef detail::MinusStat InvOp; typedef detail::ReducerSampler sampler_type; - COMMON_VARIABLE_CONSTRUCTOR(IntRecorder); + IntRecorder() = default; + IntRecorder(const butil::StringPiece& name) { + this->expose(name); + } + IntRecorder(const butil::StringPiece& prefix, const butil::StringPiece& name) { + this->expose_as(prefix, name); + } DISALLOW_COPY_AND_MOVE(IntRecorder); diff --git a/src/bvar/reducer.h b/src/bvar/reducer.h index 543e77c8b0..6c7f9d98bb 100644 --- a/src/bvar/reducer.h +++ b/src/bvar/reducer.h @@ -365,7 +365,13 @@ class Adder InvOp; typedef typename Base::sampler_type sampler_type; - COMMON_VARIABLE_CONSTRUCTOR(Adder); + Adder() = default; + Adder(const butil::StringPiece& name) { + this->expose(name); + } + Adder(const butil::StringPiece& prefix, const butil::StringPiece& name) { + this->expose_as(prefix, name); + } }; #endif // WITH_BABYLON_COUNTER @@ -457,7 +463,13 @@ class Maxer>: typedef detail::VoidOp InvOp; typedef typename Base::sampler_type sampler_type; - COMMON_VARIABLE_CONSTRUCTOR(Maxer); + Maxer() = default; + Maxer(const butil::StringPiece& name) { + this->expose(name); + } + Maxer(const butil::StringPiece& prefix, const butil::StringPiece& name) { + this->expose_as(prefix, name); + } private: friend class detail::LatencyRecorderBase; @@ -524,7 +536,13 @@ class Minerexpose(name); + } + Miner(const butil::StringPiece& prefix, const butil::StringPiece& name) { + this->expose_as(prefix, name); + } }; #endif // WITH_BABYLON_COUNTER diff --git a/src/bvar/variable.h b/src/bvar/variable.h index f01626fd13..86e9cd0c34 100644 --- a/src/bvar/variable.h +++ b/src/bvar/variable.h @@ -39,16 +39,6 @@ namespace bvar { DECLARE_bool(save_series); -#define COMMON_VARIABLE_CONSTRUCTOR(TypeName) \ - TypeName() = default; \ - TypeName(const butil::StringPiece& name) { \ - this->expose(name); \ - } \ - TypeName(const butil::StringPiece& prefix, const butil::StringPiece& name) { \ - this->expose_as(prefix, name); \ - } \ - - // Bitwise masks of displayable targets enum DisplayFilter { DISPLAY_ON_HTML = 1,