Skip to content

Commit b128dbd

Browse files
committed
f
1 parent 3c70ebc commit b128dbd

File tree

1 file changed

+31
-4
lines changed

1 file changed

+31
-4
lines changed

be/src/util/runtime_profile.h

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -191,21 +191,39 @@ class RuntimeProfile {
191191
virtual Counter* clone() const { return new Counter(type(), value(), _level); }
192192

193193
virtual void update(int64_t delta) {
194+
#ifndef NDEBUG
195+
int64_t prev_value = _value.load(std::memory_order_seq_cst);
196+
#endif
194197
_value.fetch_add(delta, std::memory_order_relaxed);
195-
DCHECK_GT(_value.load(std::memory_order_seq_cst), -1L);
198+
#ifndef NDEBUG
199+
DCHECK_GT(_value.load(std::memory_order_seq_cst), -1L)
200+
<< " delta: " << delta << " prev_value: " << prev_value;
201+
#endif
196202
}
197203

198204
void bit_or(int64_t delta) { _value.fetch_or(delta, std::memory_order_relaxed); }
199205

200206
virtual void set(int64_t value) {
207+
#ifndef NDEBUG
208+
int64_t prev_value = _value.load(std::memory_order_seq_cst);
209+
#endif
201210
_value.store(value, std::memory_order_relaxed);
202-
DCHECK_GT(_value.load(std::memory_order_seq_cst), -1L);
211+
#ifndef NDEBUG
212+
DCHECK_GT(_value.load(std::memory_order_seq_cst), -1L)
213+
<< " new value: " << value << " prev_value: " << prev_value;
214+
#endif
203215
}
204216

205217
virtual void set(double value) {
206218
DCHECK_EQ(sizeof(value), sizeof(int64_t));
219+
#ifndef NDEBUG
220+
int64_t prev_value = _value.load(std::memory_order_seq_cst);
221+
#endif
207222
_value.store(binary_cast<double, int64_t>(value), std::memory_order_relaxed);
208-
DCHECK_GT(_value.load(std::memory_order_seq_cst), -1L);
223+
#ifndef NDEBUG
224+
DCHECK_GT(_value.load(std::memory_order_seq_cst), -1L)
225+
<< " new value: " << value << " prev_value: " << prev_value;
226+
#endif
209227
}
210228

211229
virtual int64_t value() const { return _value.load(std::memory_order_relaxed); }
@@ -337,9 +355,18 @@ class RuntimeProfile {
337355
}
338356

339357
void set(int64_t v) override {
358+
#ifndef NDEBUG
359+
int64_t prev_value = current_value_.load(std::memory_order_seq_cst);
360+
int64_t prev_max_value = value_.load(std::memory_order_seq_cst);
361+
#endif
340362
current_value_.store(v, std::memory_order_relaxed);
341363
UpdateMax(v);
342-
DCHECK_GT(_value.load(std::memory_order_seq_cst), -1L);
364+
#ifndef NDEBUG
365+
DCHECK_GT(current_value_.load(std::memory_order_seq_cst), -1L)
366+
<< " prev_value: " << prev_value;
367+
DCHECK_GT(_value.load(std::memory_order_seq_cst), -1L)
368+
<< " prev_max_value: " << prev_max_value << " prev_value: " << prev_value;
369+
#endif
343370
}
344371

345372
int64_t current_value() const { return current_value_.load(std::memory_order_relaxed); }

0 commit comments

Comments
 (0)