Commit 09d8247a authored by TousakaRin's avatar TousakaRin

Modify variable name

parent c59aecdd
...@@ -63,8 +63,8 @@ CircuitBreaker::EmaErrorRecorder::EmaErrorRecorder(int window_size, ...@@ -63,8 +63,8 @@ CircuitBreaker::EmaErrorRecorder::EmaErrorRecorder(int window_size,
: _window_size(window_size) : _window_size(window_size)
, _max_error_percent(max_error_percent) , _max_error_percent(max_error_percent)
, _smooth(std::pow(EPSILON, 1.0/window_size)) , _smooth(std::pow(EPSILON, 1.0/window_size))
, _sample_count(0) , _sample_count_of_first_window(0)
, _error_count(0) , _error_count_of_first_window(0)
, _ema_error_cost(0) , _ema_error_cost(0)
, _ema_latency(0) { , _ema_latency(0) {
} }
...@@ -83,21 +83,24 @@ bool CircuitBreaker::EmaErrorRecorder::OnCallEnd(int error_code, ...@@ -83,21 +83,24 @@ bool CircuitBreaker::EmaErrorRecorder::OnCallEnd(int error_code,
// When the window is initializing, use error_rate to determine // When the window is initializing, use error_rate to determine
// if it needs to be isolated. // if it needs to be isolated.
if (_sample_count.load(butil::memory_order_relaxed) < _window_size && if (_sample_count_of_first_window.load(butil::memory_order_relaxed) < _window_size &&
_sample_count.fetch_add(1, butil::memory_order_relaxed) < _window_size) { _sample_count_of_first_window.fetch_add(1, butil::memory_order_relaxed) < _window_size) {
if (error_code != 0) { if (error_code != 0) {
const int32_t error_count = const int32_t error_count =
_error_count.fetch_add(1, butil::memory_order_relaxed); _error_count_of_first_window.fetch_add(1, butil::memory_order_relaxed);
return error_count < _window_size * _max_error_percent / 100; return error_count < _window_size * _max_error_percent / 100;
} }
// Because once OnCallEnd returned false, the node will be ioslated soon, so
// it is OK to return true for any sample which error_code equals to 0.
return true;
} }
return healthy; return healthy;
} }
void CircuitBreaker::EmaErrorRecorder::Reset() { void CircuitBreaker::EmaErrorRecorder::Reset() {
_sample_count.store(0, butil::memory_order_relaxed); _sample_count_of_first_window.store(0, butil::memory_order_relaxed);
_error_count.store(0, butil::memory_order_relaxed); _error_count_of_first_window.store(0, butil::memory_order_relaxed);
_ema_error_cost.store(0, butil::memory_order_relaxed); _ema_error_cost.store(0, butil::memory_order_relaxed);
_ema_latency.store(0, butil::memory_order_relaxed); _ema_latency.store(0, butil::memory_order_relaxed);
} }
......
...@@ -74,8 +74,8 @@ private: ...@@ -74,8 +74,8 @@ private:
const int _max_error_percent; const int _max_error_percent;
const double _smooth; const double _smooth;
butil::atomic<int32_t> _sample_count; butil::atomic<int32_t> _sample_count_of_first_window;
butil::atomic<int32_t> _error_count; butil::atomic<int32_t> _error_count_of_first_window;
butil::atomic<int64_t> _ema_error_cost; butil::atomic<int64_t> _ema_error_cost;
butil::atomic<int64_t> _ema_latency; butil::atomic<int64_t> _ema_latency;
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment