This is an automated email from the ASF dual-hosted git repository.
guangmingchen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brpc.git
The following commit(s) were added to refs/heads/master by this push:
new 12fb539a Use monotonic time instead of wall time (#3268)
12fb539a is described below
commit 12fb539a1cb387818bc27024d7455b9538d39e35
Author: Bright Chen <[email protected]>
AuthorDate: Mon Apr 13 14:14:03 2026 +0800
Use monotonic time instead of wall time (#3268)
---
example/auto_concurrency_limiter/client.cpp | 6 +-
example/auto_concurrency_limiter/server.cpp | 6 +-
example/dynamic_partition_echo_c++/server.cpp | 4 +-
example/multi_threaded_echo_fns_c++/server.cpp | 4 +-
example/partition_echo_c++/server.cpp | 4 +-
example/rdma_performance/client.cpp | 8 +--
example/selective_echo_c++/server.cpp | 4 +-
src/brpc/cluster_recover_policy.cpp | 4 +-
src/brpc/details/health_check.cpp | 4 +-
src/brpc/global.cpp | 6 +-
src/brpc/policy/auto_concurrency_limiter.cpp | 4 +-
src/brpc/policy/locality_aware_load_balancer.cpp | 6 +-
src/brpc/policy/timeout_concurrency_limiter.cpp | 2 +-
src/brpc/server.cpp | 6 +-
src/brpc/socket.cpp | 4 +-
src/brpc/trackme.cpp | 2 +-
src/bvar/collector.cpp | 6 +-
src/bvar/collector.h | 2 +-
src/bvar/default_variables.cpp | 6 +-
src/bvar/detail/sampler.cpp | 6 +-
src/bvar/detail/sampler.h | 4 +-
test/brpc_auto_concurrency_limiter_unittest.cpp | 2 +-
test/brpc_channel_unittest.cpp | 56 +++++++++---------
test/brpc_h2_unsent_message_unittest.cpp | 8 +--
test/brpc_http_rpc_protocol_unittest.cpp | 8 +--
test/brpc_load_balancer_unittest.cpp | 12 ++--
test/brpc_socket_unittest.cpp | 29 +++++----
test/brpc_timeout_concurrency_limiter_unittest.cpp | 68 +++++++++++-----------
test/bvar_recorder_unittest.cpp | 18 +++---
test/bvar_reducer_unittest.cpp | 4 +-
tools/rpc_press/info_thread.cpp | 6 +-
tools/rpc_press/rpc_press_impl.cpp | 4 +-
tools/rpc_replay/info_thread.cpp | 6 +-
tools/rpc_replay/rpc_replay.cpp | 4 +-
34 files changed, 161 insertions(+), 162 deletions(-)
diff --git a/example/auto_concurrency_limiter/client.cpp
b/example/auto_concurrency_limiter/client.cpp
index d33325dd..af293af9 100644
--- a/example/auto_concurrency_limiter/client.cpp
+++ b/example/auto_concurrency_limiter/client.cpp
@@ -119,13 +119,13 @@ struct TestCaseContext {
, stage_index(0)
, test_case(tc)
, next_stage_sec(test_case.qps_stage_list(0).duration_sec() +
- butil::gettimeofday_s()) {
+ butil::cpuwide_time_s()) {
DisplayStage(test_case.qps_stage_list(stage_index));
Update();
}
bool Update() {
- if (butil::gettimeofday_s() >= next_stage_sec) {
+ if (butil::cpuwide_time_s() >= next_stage_sec) {
++stage_index;
if (stage_index < test_case.qps_stage_list_size()) {
next_stage_sec +=
test_case.qps_stage_list(stage_index).duration_sec();
@@ -144,7 +144,7 @@ struct TestCaseContext {
} else if (qps_stage.type() == test::SMOOTH) {
qps = lower_bound + (upper_bound - lower_bound) /
double(qps_stage.duration_sec()) * (qps_stage.duration_sec() -
next_stage_sec
- + butil::gettimeofday_s());
+ + butil::cpuwide_time_s());
}
interval_us.store(1.0 / qps * 1000000, butil::memory_order_relaxed);
return true;
diff --git a/example/auto_concurrency_limiter/server.cpp
b/example/auto_concurrency_limiter/server.cpp
index 61f826fa..a161b188 100644
--- a/example/auto_concurrency_limiter/server.cpp
+++ b/example/auto_concurrency_limiter/server.cpp
@@ -96,7 +96,7 @@ public:
void SetTestCase(const test::TestCase& test_case) {
_test_case = test_case;
_next_stage_start = _test_case.latency_stage_list(0).duration_sec() +
- butil::gettimeofday_s();
+ butil::cpuwide_time_s();
_stage_index = 0;
_running_case = false;
DisplayStage(_test_case.latency_stage_list(_stage_index));
@@ -137,7 +137,7 @@ public:
void ComputeLatency() {
if (_stage_index < _test_case.latency_stage_list_size() &&
- butil::gettimeofday_s() > _next_stage_start) {
+ butil::cpuwide_time_s() > _next_stage_start) {
++_stage_index;
if (_stage_index < _test_case.latency_stage_list_size()) {
_next_stage_start +=
_test_case.latency_stage_list(_stage_index).duration_sec();
@@ -167,7 +167,7 @@ public:
int latency = lower_bound + (upper_bound - lower_bound) /
double(latency_stage.duration_sec()) *
(latency_stage.duration_sec() - _next_stage_start +
- butil::gettimeofday_s());
+ butil::cpuwide_time_s());
_latency.store(latency, butil::memory_order_relaxed);
} else {
LOG(FATAL) << "Wrong Type:" << latency_stage.type();
diff --git a/example/dynamic_partition_echo_c++/server.cpp
b/example/dynamic_partition_echo_c++/server.cpp
index e86affaa..eda57b42 100644
--- a/example/dynamic_partition_echo_c++/server.cpp
+++ b/example/dynamic_partition_echo_c++/server.cpp
@@ -69,8 +69,8 @@ public:
}
}
if (FLAGS_spin) {
- int64_t end_time = butil::gettimeofday_us() + (int64_t)delay;
- while (butil::gettimeofday_us() < end_time) {}
+ int64_t end_time = butil::cpuwide_time_us() + (int64_t)delay;
+ while (butil::cpuwide_time_us() < end_time) {}
} else {
bthread_usleep((int64_t)delay);
}
diff --git a/example/multi_threaded_echo_fns_c++/server.cpp
b/example/multi_threaded_echo_fns_c++/server.cpp
index 2e837bbf..a25ef96e 100644
--- a/example/multi_threaded_echo_fns_c++/server.cpp
+++ b/example/multi_threaded_echo_fns_c++/server.cpp
@@ -70,8 +70,8 @@ public:
}
}
if (FLAGS_spin) {
- int64_t end_time = butil::gettimeofday_us() + (int64_t)delay;
- while (butil::gettimeofday_us() < end_time) {}
+ int64_t end_time = butil::cpuwide_time_us() + (int64_t)delay;
+ while (butil::cpuwide_time_us() < end_time) {}
} else {
bthread_usleep((int64_t)delay);
}
diff --git a/example/partition_echo_c++/server.cpp
b/example/partition_echo_c++/server.cpp
index aa65d41b..7dbcf8f5 100644
--- a/example/partition_echo_c++/server.cpp
+++ b/example/partition_echo_c++/server.cpp
@@ -69,8 +69,8 @@ public:
}
}
if (FLAGS_spin) {
- int64_t end_time = butil::gettimeofday_us() + (int64_t)delay;
- while (butil::gettimeofday_us() < end_time) {}
+ int64_t end_time = butil::cpuwide_time_us() + (int64_t)delay;
+ while (butil::cpuwide_time_us() < end_time) {}
} else {
bthread_usleep((int64_t)delay);
}
diff --git a/example/rdma_performance/client.cpp
b/example/rdma_performance/client.cpp
index a7ed2c99..2e8acc40 100644
--- a/example/rdma_performance/client.cpp
+++ b/example/rdma_performance/client.cpp
@@ -176,7 +176,7 @@ public:
}
--closure->test->_iterations;
uint64_t last = g_last_time.load(butil::memory_order_relaxed);
- uint64_t now = butil::gettimeofday_us();
+ uint64_t now = butil::cpuwide_time_us();
if (now > last && now - last > 100000) {
if (g_last_time.exchange(now, butil::memory_order_relaxed) ==
last) {
g_client_cpu_recorder <<
@@ -192,7 +192,7 @@ public:
static void* RunTest(void* arg) {
PerformanceTest* test = (PerformanceTest*)arg;
- test->_start_time = butil::gettimeofday_us();
+ test->_start_time = butil::cpuwide_time_us();
test->_iterations = FLAGS_test_iterations;
for (int i = 0; i < FLAGS_queue_depth; ++i) {
@@ -235,7 +235,7 @@ void Test(int thread_num, int attachment_size) {
}
tests.push_back(t);
}
- uint64_t start_time = butil::gettimeofday_us();
+ uint64_t start_time = butil::cpuwide_time_us();
bthread_t tid[thread_num];
if (FLAGS_expected_qps > 0) {
bthread_t tid;
@@ -250,7 +250,7 @@ void Test(int thread_num, int attachment_size) {
bthread_usleep(10000);
}
}
- uint64_t end_time = butil::gettimeofday_us();
+ uint64_t end_time = butil::cpuwide_time_us();
double throughput = g_total_bytes / 1.048576 / (end_time - start_time);
if (FLAGS_test_iterations == 0) {
std::cout << "Avg-Latency: " << g_latency_recorder.latency(10)
diff --git a/example/selective_echo_c++/server.cpp
b/example/selective_echo_c++/server.cpp
index 0705a328..d1ed8bb9 100644
--- a/example/selective_echo_c++/server.cpp
+++ b/example/selective_echo_c++/server.cpp
@@ -68,8 +68,8 @@ public:
}
}
if (FLAGS_spin) {
- int64_t end_time = butil::gettimeofday_us() + (int64_t)delay;
- while (butil::gettimeofday_us() < end_time) {}
+ int64_t end_time = butil::cpuwide_time_us() + (int64_t)delay;
+ while (butil::cpuwide_time_us() < end_time) {}
} else {
bthread_usleep((int64_t)delay);
}
diff --git a/src/brpc/cluster_recover_policy.cpp
b/src/brpc/cluster_recover_policy.cpp
index d1338f66..bb59a23c 100644
--- a/src/brpc/cluster_recover_policy.cpp
+++ b/src/brpc/cluster_recover_policy.cpp
@@ -51,7 +51,7 @@ bool DefaultClusterRecoverPolicy::StopRecoverIfNecessary() {
if (!_recovering) {
return false;
}
- int64_t now_ms = butil::gettimeofday_ms();
+ int64_t now_ms = butil::cpuwide_time_ms();
std::unique_lock<butil::Mutex> mu(_mutex);
if (_last_usable_change_time_ms != 0 && _last_usable != 0 &&
(now_ms - _last_usable_change_time_ms > _hold_seconds * 1000)) {
@@ -92,7 +92,7 @@ bool DefaultClusterRecoverPolicy::DoReject(const
std::vector<ServerId>& server_l
if (!_recovering) {
return false;
}
- int64_t now_ms = butil::gettimeofday_ms();
+ int64_t now_ms = butil::cpuwide_time_ms();
uint64_t usable = GetUsableServerCount(now_ms, server_list);
if (_last_usable != usable) {
std::unique_lock<butil::Mutex> mu(_mutex);
diff --git a/src/brpc/details/health_check.cpp
b/src/brpc/details/health_check.cpp
index cfd49104..7cf4e32b 100644
--- a/src/brpc/details/health_check.cpp
+++ b/src/brpc/details/health_check.cpp
@@ -99,7 +99,7 @@ void* HealthCheckManager::AppCheck(void* arg) {
done->cntl.Reset();
done->cntl.http_request().uri() = done->hc_option.health_check_path;
ControllerPrivateAccessor(&done->cntl).set_health_check_call();
- done->last_check_time_ms = butil::gettimeofday_ms();
+ done->last_check_time_ms = butil::cpuwide_time_ms();
done->channel.CallMethod(NULL, &done->cntl, NULL, NULL, done);
return NULL;
}
@@ -126,7 +126,7 @@ void OnAppHealthCheckDone::Run() {
<< ", " << cntl.ErrorText();
int64_t sleep_time_ms =
- last_check_time_ms + interval_s * 1000 - butil::gettimeofday_ms();
+ last_check_time_ms + interval_s * 1000 - butil::cpuwide_time_ms();
if (sleep_time_ms > 0) {
// TODO(zhujiashun): we need to handle the case when timer fails
// and bthread_usleep returns immediately. In most situations,
diff --git a/src/brpc/global.cpp b/src/brpc/global.cpp
index 1f67aee2..90f19cd5 100644
--- a/src/brpc/global.cpp
+++ b/src/brpc/global.cpp
@@ -238,13 +238,13 @@ static void* GlobalUpdate(void*) {
}
std::vector<SocketId> conns;
- const int64_t start_time_us = butil::gettimeofday_us();
+ const int64_t start_time_us = butil::cpuwide_time_us();
const int WARN_NOSLEEP_THRESHOLD = 2;
int64_t last_time_us = start_time_us;
int consecutive_nosleep = 0;
int64_t last_return_free_memory_time = start_time_us;
while (1) {
- const int64_t sleep_us = 1000000L + last_time_us -
butil::gettimeofday_us();
+ const int64_t sleep_us = 1000000L + last_time_us -
butil::cpuwide_time_us();
if (sleep_us > 0) {
if (bthread_usleep(sleep_us) < 0) {
PLOG_IF(FATAL, errno != ESTOP) << "Fail to sleep";
@@ -257,7 +257,7 @@ static void* GlobalUpdate(void*) {
LOG(WARNING) << __FUNCTION__ << " is too busy!";
}
}
- last_time_us = butil::gettimeofday_us();
+ last_time_us = butil::cpuwide_time_us();
TrackMe();
diff --git a/src/brpc/policy/auto_concurrency_limiter.cpp
b/src/brpc/policy/auto_concurrency_limiter.cpp
index 51ea56d7..e9cce0fa 100644
--- a/src/brpc/policy/auto_concurrency_limiter.cpp
+++ b/src/brpc/policy/auto_concurrency_limiter.cpp
@@ -87,7 +87,7 @@ DEFINE_double(auto_cl_error_rate_punish_threshold, 0,
AutoConcurrencyLimiter::AutoConcurrencyLimiter()
: _max_concurrency(FLAGS_auto_cl_initial_max_concurrency)
- , _remeasure_start_us(NextResetTime(butil::gettimeofday_us()))
+ , _remeasure_start_us(NextResetTime(butil::cpuwide_time_us()))
, _reset_latency_us(0)
, _min_latency_us(-1)
, _ema_max_qps(-1)
@@ -111,7 +111,7 @@ void AutoConcurrencyLimiter::OnResponded(int error_code,
int64_t latency_us) {
return;
}
- const int64_t now_time_us = butil::gettimeofday_us();
+ const int64_t now_time_us = butil::cpuwide_time_us();
int64_t last_sampling_time_us =
_last_sampling_time_us.load(butil::memory_order_relaxed);
diff --git a/src/brpc/policy/locality_aware_load_balancer.cpp
b/src/brpc/policy/locality_aware_load_balancer.cpp
index beea5169..455f6fc3 100644
--- a/src/brpc/policy/locality_aware_load_balancer.cpp
+++ b/src/brpc/policy/locality_aware_load_balancer.cpp
@@ -18,7 +18,7 @@
#include <limits> // numeric_limits
#include <gflags/gflags.h>
-#include "butil/time.h" //
gettimeofday_us
+#include "butil/time.h" // cpuwide_time_us
#include "butil/fast_rand.h"
#include "brpc/log.h"
#include "brpc/socket.h"
@@ -376,7 +376,7 @@ void LocalityAwareLoadBalancer::Feedback(const CallInfo&
info) {
int64_t LocalityAwareLoadBalancer::Weight::Update(
const CallInfo& ci, size_t index) {
- const int64_t end_time_us = butil::gettimeofday_us();
+ const int64_t end_time_us = butil::cpuwide_time_us();
const int64_t latency = end_time_us - ci.begin_time_us;
BAIDU_SCOPED_LOCK(_mutex);
if (Disabled()) {
@@ -524,7 +524,7 @@ void LocalityAwareLoadBalancer::Describe(
if (_db_servers.Read(&s) != 0) {
os << "fail to read _db_servers";
} else {
- const int64_t now = butil::gettimeofday_us();
+ const int64_t now = butil::cpuwide_time_us();
const size_t n = s->weight_tree.size();
os << '[';
for (size_t i = 0; i < n; ++i) {
diff --git a/src/brpc/policy/timeout_concurrency_limiter.cpp
b/src/brpc/policy/timeout_concurrency_limiter.cpp
index b2582eb1..21aad33f 100644
--- a/src/brpc/policy/timeout_concurrency_limiter.cpp
+++ b/src/brpc/policy/timeout_concurrency_limiter.cpp
@@ -91,7 +91,7 @@ void TimeoutConcurrencyLimiter::OnResponded(int error_code,
return;
}
- const int64_t now_time_us = butil::gettimeofday_us();
+ const int64_t now_time_us = butil::cpuwide_time_us();
int64_t last_sampling_time_us =
_last_sampling_time_us.load(butil::memory_order_relaxed);
diff --git a/src/brpc/server.cpp b/src/brpc/server.cpp
index 9470220d..3a5da7b7 100644
--- a/src/brpc/server.cpp
+++ b/src/brpc/server.cpp
@@ -372,10 +372,10 @@ void* Server::UpdateDerivedVars(void* arg) {
}
#endif
- int64_t last_time = butil::gettimeofday_us();
+ int64_t last_time = butil::cpuwide_time_us();
int consecutive_nosleep = 0;
while (1) {
- const int64_t sleep_us = 1000000L + last_time -
butil::gettimeofday_us();
+ const int64_t sleep_us = 1000000L + last_time -
butil::cpuwide_time_us();
if (sleep_us < 1000L) {
if (++consecutive_nosleep >= 2) {
consecutive_nosleep = 0;
@@ -388,7 +388,7 @@ void* Server::UpdateDerivedVars(void* arg) {
return NULL;
}
}
- last_time = butil::gettimeofday_us();
+ last_time = butil::cpuwide_time_us();
// Update stats of accepted sockets.
if (server->_am) {
diff --git a/src/brpc/socket.cpp b/src/brpc/socket.cpp
index da926c9f..78bd4e23 100644
--- a/src/brpc/socket.cpp
+++ b/src/brpc/socket.cpp
@@ -572,7 +572,7 @@ int Socket::ResetFileDescriptor(int fd) {
// MUST store `_fd' before adding itself into epoll device to avoid
// race conditions with the callback function inside epoll
_fd.store(fd, butil::memory_order_release);
- _reset_fd_real_us = butil::gettimeofday_us();
+ _reset_fd_real_us = butil::cpuwide_time_us();
if (!ValidFileDescriptor(fd)) {
return 0;
}
@@ -2316,7 +2316,7 @@ void Socket::DebugSocket(std::ostream& os, SocketId id) {
<< "\nnevent=" << ptr->_nevent.load(butil::memory_order_relaxed)
<< "\nfd=" << fd
<< "\ntos=" << ptr->_tos
- << "\nreset_fd_to_now=" << butil::gettimeofday_us() -
ptr->_reset_fd_real_us << "us"
+ << "\nreset_fd_to_now=" << butil::cpuwide_time_us() -
ptr->_reset_fd_real_us << "us"
<< "\nremote_side=" << ptr->_remote_side
<< "\nlocal_side=" << ptr->_local_side
<< "\non_et_events=" << (void*)ptr->_on_edge_triggered_events
diff --git a/src/brpc/trackme.cpp b/src/brpc/trackme.cpp
index 85598a68..4decc352 100644
--- a/src/brpc/trackme.cpp
+++ b/src/brpc/trackme.cpp
@@ -225,7 +225,7 @@ void TrackMe() {
if (FLAGS_trackme_server.empty()) {
return;
}
- int64_t now = butil::gettimeofday_us();
+ int64_t now = butil::cpuwide_time_us();
std::unique_lock<pthread_mutex_t> mu(s_trackme_mutex);
if (s_trackme_last_time == 0) {
// Delay the first ping randomly within s_trackme_interval. This
diff --git a/src/bvar/collector.cpp b/src/bvar/collector.cpp
index a01f45fd..c4adf634 100644
--- a/src/bvar/collector.cpp
+++ b/src/bvar/collector.cpp
@@ -305,8 +305,8 @@ void Collector::update_speed_limit(CollectorSpeedLimit* sl,
size_t new_sampling_range = 0;
const size_t old_sampling_range = sl->sampling_range;
if (!sl->ever_grabbed) {
- if (sl->first_sample_real_us) {
- interval_us = butil::gettimeofday_us() - sl->first_sample_real_us;
+ if (sl->first_sample_us) {
+ interval_us = butil::cpuwide_time_us() - sl->first_sample_us;
if (interval_us < 0) {
interval_us = 0;
}
@@ -350,7 +350,7 @@ size_t
is_collectable_before_first_time_grabbed(CollectorSpeedLimit* sl) {
int before_add = sl->count_before_grabbed.fetch_add(
1, butil::memory_order_relaxed);
if (before_add == 0) {
- sl->first_sample_real_us = butil::gettimeofday_us();
+ sl->first_sample_us = butil::cpuwide_time_us();
} else if (before_add >= FLAGS_bvar_collector_expected_per_second) {
butil::get_leaky_singleton<Collector>()->wakeup_grab_thread();
}
diff --git a/src/bvar/collector.h b/src/bvar/collector.h
index a603d96b..473d4ac7 100644
--- a/src/bvar/collector.h
+++ b/src/bvar/collector.h
@@ -40,7 +40,7 @@ struct CollectorSpeedLimit {
size_t sampling_range;
bool ever_grabbed;
butil::static_atomic<int> count_before_grabbed;
- int64_t first_sample_real_us;
+ int64_t first_sample_us;
};
static const size_t COLLECTOR_SAMPLING_BASE = 16384;
diff --git a/src/bvar/default_variables.cpp b/src/bvar/default_variables.cpp
index a84c3ab0..1d600635 100644
--- a/src/bvar/default_variables.cpp
+++ b/src/bvar/default_variables.cpp
@@ -144,7 +144,7 @@ public:
template <typename ReadFn>
static const T& get_value(const ReadFn& fn) {
CachedReader* p = butil::get_leaky_singleton<CachedReader>();
- const int64_t now = butil::gettimeofday_us();
+ const int64_t now = butil::cpuwide_time_us();
if (now > p->_mtime_us + CACHED_INTERVAL_US) {
pthread_mutex_lock(&p->_mutex);
if (now > p->_mtime_us + CACHED_INTERVAL_US) {
@@ -625,10 +625,10 @@ static void get_kernel_version(std::ostream& os, void*) {
// ======================================
-static int64_t g_starting_time = butil::gettimeofday_us();
+static int64_t g_starting_time = butil::cpuwide_time_us();
static timeval get_uptime(void*) {
- int64_t uptime_us = butil::gettimeofday_us() - g_starting_time;
+ int64_t uptime_us = butil::cpuwide_time_us() - g_starting_time;
timeval tm;
tm.tv_sec = uptime_us / 1000000L;
tm.tv_usec = uptime_us - tm.tv_sec * 1000000L;
diff --git a/src/bvar/detail/sampler.cpp b/src/bvar/detail/sampler.cpp
index dd6271e7..f3462558 100644
--- a/src/bvar/detail/sampler.cpp
+++ b/src/bvar/detail/sampler.cpp
@@ -155,7 +155,7 @@ void SamplerCollector::run() {
butil::LinkNode<Sampler> root;
int consecutive_nosleep = 0;
while (!_stop) {
- int64_t abstime = butil::gettimeofday_us();
+ int64_t abstime = butil::cpuwide_time_ns();
Sampler* s = this->reset();
if (s) {
s->InsertBeforeAsList(&root);
@@ -176,13 +176,13 @@ void SamplerCollector::run() {
p = saved_next;
}
bool slept = false;
- int64_t now = butil::gettimeofday_us();
+ int64_t now = butil::cpuwide_time_ns();
_cumulated_time_us += now - abstime;
abstime += 1000000L;
while (abstime > now) {
::usleep(abstime - now);
slept = true;
- now = butil::gettimeofday_us();
+ now = butil::cpuwide_time_ns();
}
if (slept) {
consecutive_nosleep = 0;
diff --git a/src/bvar/detail/sampler.h b/src/bvar/detail/sampler.h
index 85ec2374..32b976dc 100644
--- a/src/bvar/detail/sampler.h
+++ b/src/bvar/detail/sampler.h
@@ -26,7 +26,7 @@
#include "butil/logging.h" // LOG()
#include "butil/containers/bounded_queue.h"// BoundedQueue
#include "butil/type_traits.h" // is_same
-#include "butil/time.h" // gettimeofday_us
+#include "butil/time.h" // cpuwide_time_us
#include "butil/class_name.h"
namespace bvar {
@@ -136,7 +136,7 @@ public:
// get_value() of _reducer can still be called.
latest.data = _reducer->get_value();
}
- latest.time_us = butil::gettimeofday_us();
+ latest.time_us = butil::cpuwide_time_us();
_q.elim_push(latest);
}
diff --git a/test/brpc_auto_concurrency_limiter_unittest.cpp
b/test/brpc_auto_concurrency_limiter_unittest.cpp
index 77163e2f..ac572b82 100644
--- a/test/brpc_auto_concurrency_limiter_unittest.cpp
+++ b/test/brpc_auto_concurrency_limiter_unittest.cpp
@@ -78,7 +78,7 @@ void
AddSamplesAndTriggerWindow(brpc::policy::AutoConcurrencyLimiter& limiter,
int succ_count, int64_t succ_latency,
int fail_count, int64_t fail_latency) {
ASSERT_GT(succ_count, 0) << "Need at least 1 success to trigger window";
- int64_t now = butil::gettimeofday_us();
+ int64_t now = butil::cpuwide_time_us();
// Add successful samples (reserve one for the trigger)
for (int i = 0; i < succ_count - 1; ++i) {
diff --git a/test/brpc_channel_unittest.cpp b/test/brpc_channel_unittest.cpp
index de33b443..20047674 100644
--- a/test/brpc_channel_unittest.cpp
+++ b/test/brpc_channel_unittest.cpp
@@ -495,9 +495,9 @@ protected:
EXPECT_EQ("received " + std::string(__FUNCTION__), res.message());
if (short_connection) {
// Sleep to let `_messenger' detect `Socket' being `SetFailed'
- const int64_t start_time = butil::gettimeofday_us();
+ const int64_t start_time = butil::cpuwide_time_us();
while (_messenger.ConnectionCount() != 0) {
- EXPECT_LT(butil::gettimeofday_us(), start_time +
100000L/*100ms*/);
+ EXPECT_LT(butil::cpuwide_time_us(), start_time +
100000L/*100ms*/);
bthread_usleep(1000);
}
} else {
@@ -655,9 +655,9 @@ protected:
}
if (short_connection) {
// Sleep to let `_messenger' detect `Socket' being `SetFailed'
- const int64_t start_time = butil::gettimeofday_us();
+ const int64_t start_time = butil::cpuwide_time_us();
while (_messenger.ConnectionCount() != 0) {
- EXPECT_LT(butil::gettimeofday_us(), start_time +
100000L/*100ms*/);
+ EXPECT_LT(butil::cpuwide_time_us(), start_time +
100000L/*100ms*/);
bthread_usleep(1000);
}
} else {
@@ -707,9 +707,9 @@ protected:
}
if (short_connection) {
// Sleep to let `_messenger' detect `Socket' being `SetFailed'
- const int64_t start_time = butil::gettimeofday_us();
+ const int64_t start_time = butil::cpuwide_time_us();
while (_messenger.ConnectionCount() != 0) {
- EXPECT_LT(butil::gettimeofday_us(), start_time +
100000L/*100ms*/);
+ EXPECT_LT(butil::cpuwide_time_us(), start_time +
100000L/*100ms*/);
bthread_usleep(1000);
}
} else {
@@ -751,9 +751,9 @@ protected:
if (short_connection) {
// Sleep to let `_messenger' detect `Socket' being `SetFailed'
- const int64_t start_time = butil::gettimeofday_us();
+ const int64_t start_time = butil::cpuwide_time_us();
while (_messenger.ConnectionCount() != 0) {
- EXPECT_LT(butil::gettimeofday_us(), start_time +
100000L/*100ms*/);
+ EXPECT_LT(butil::cpuwide_time_us(), start_time +
100000L/*100ms*/);
bthread_usleep(1000);
}
} else {
@@ -800,9 +800,9 @@ protected:
}
if (short_connection) {
// Sleep to let `_messenger' detect `Socket' being `SetFailed'
- const int64_t start_time = butil::gettimeofday_us();
+ const int64_t start_time = butil::cpuwide_time_us();
while (_messenger.ConnectionCount() != 0) {
- EXPECT_LT(butil::gettimeofday_us(), start_time +
100000L/*100ms*/);
+ EXPECT_LT(butil::cpuwide_time_us(), start_time +
100000L/*100ms*/);
bthread_usleep(1000);
}
} else {
@@ -861,9 +861,9 @@ protected:
}
if (short_connection) {
// Sleep to let `_messenger' detect `Socket' being `SetFailed'
- const int64_t start_time = butil::gettimeofday_us();
+ const int64_t start_time = butil::cpuwide_time_us();
while (_messenger.ConnectionCount() != 0) {
- EXPECT_LT(butil::gettimeofday_us(), start_time +
100000L/*100ms*/);
+ EXPECT_LT(butil::cpuwide_time_us(), start_time +
100000L/*100ms*/);
bthread_usleep(1000);
}
} else {
@@ -914,9 +914,9 @@ protected:
ASSERT_EQ((int)1, res.code_list(0));
if (short_connection) {
// Sleep to let `_messenger' detect `Socket' being `SetFailed'
- const int64_t start_time = butil::gettimeofday_us();
+ const int64_t start_time = butil::cpuwide_time_us();
while (_messenger.ConnectionCount() != 0) {
- EXPECT_LT(butil::gettimeofday_us(), start_time +
100000L/*100ms*/);
+ EXPECT_LT(butil::cpuwide_time_us(), start_time +
100000L/*100ms*/);
bthread_usleep(1000);
}
} else {
@@ -1215,9 +1215,9 @@ protected:
EXPECT_EQ("received " + std::string(__FUNCTION__), res.message());
if (short_connection) {
// Sleep to let `_messenger' detect `Socket' being `SetFailed'
- const int64_t start_time = butil::gettimeofday_us();
+ const int64_t start_time = butil::cpuwide_time_us();
while (_messenger.ConnectionCount() != 0) {
- EXPECT_LT(butil::gettimeofday_us(), start_time +
100000L/*100ms*/);
+ EXPECT_LT(butil::cpuwide_time_us(), start_time +
100000L/*100ms*/);
bthread_usleep(1000);
}
} else {
@@ -1672,9 +1672,9 @@ protected:
EXPECT_EQ(0, cntl.ErrorCode()) << cntl.ErrorText();
EXPECT_EQ("received " + std::string(__FUNCTION__), res.message());
// Sleep to let `_messenger' detect `Socket' being `SetFailed'
- const int64_t start_time = butil::gettimeofday_us();
+ const int64_t start_time = butil::cpuwide_time_us();
while (_messenger.ConnectionCount() != 0) {
- EXPECT_LT(butil::gettimeofday_us(), start_time + 100000L/*100ms*/);
+ EXPECT_LT(butil::cpuwide_time_us(), start_time + 100000L/*100ms*/);
bthread_usleep(1000);
}
@@ -1705,9 +1705,9 @@ protected:
EXPECT_EQ(0, cntl.ErrorCode()) << cntl.ErrorText();
EXPECT_EQ("received " + std::string(__FUNCTION__), res.message());
// Sleep to let `_messenger' detect `Socket' being `SetFailed'
- const int64_t start_time = butil::gettimeofday_us();
+ const int64_t start_time = butil::cpuwide_time_us();
while (_messenger.ConnectionCount() != 0) {
- EXPECT_LT(butil::gettimeofday_us(), start_time + 100000L/*100ms*/);
+ EXPECT_LT(butil::cpuwide_time_us(), start_time + 100000L/*100ms*/);
bthread_usleep(1000);
}
StopAndJoin();
@@ -1741,9 +1741,9 @@ protected:
ASSERT_EQ(0, cntl.sub(0)->ErrorCode());
// Sleep to let `_messenger' detect `Socket' being `SetFailed'
- const int64_t start_time = butil::gettimeofday_us();
+ const int64_t start_time = butil::cpuwide_time_us();
while (_messenger.ConnectionCount() != 0) {
- EXPECT_LT(butil::gettimeofday_us(), start_time + 100000L/*100ms*/);
+ EXPECT_LT(butil::cpuwide_time_us(), start_time + 100000L/*100ms*/);
bthread_usleep(1000);
}
StopAndJoin();
@@ -1938,9 +1938,9 @@ protected:
EXPECT_EQ(0, cntl.ErrorCode()) << cntl.ErrorText();
EXPECT_EQ(1, cntl.retried_count());
- const int64_t start_time = butil::gettimeofday_us();
+ const int64_t start_time = butil::cpuwide_time_us();
while (_messenger.ConnectionCount() != 0) {
- EXPECT_LT(butil::gettimeofday_us(), start_time +
100000L/*100ms*/);
+ EXPECT_LT(butil::cpuwide_time_us(), start_time +
100000L/*100ms*/);
bthread_usleep(1000);
}
} else {
@@ -2096,9 +2096,9 @@ protected:
if (short_connection) {
// Sleep to let `_messenger' detect `Socket' being `SetFailed'
- const int64_t start_time = butil::gettimeofday_us();
+ const int64_t start_time = butil::cpuwide_time_us();
while (_messenger.ConnectionCount() != 0) {
- EXPECT_LT(butil::gettimeofday_us(), start_time +
100000L/*100ms*/);
+ EXPECT_LT(butil::cpuwide_time_us(), start_time +
100000L/*100ms*/);
bthread_usleep(1000);
}
} else {
@@ -2156,9 +2156,9 @@ protected:
if (short_connection) {
// Sleep to let `_messenger' detect `Socket' being `SetFailed'
- const int64_t start_time = butil::gettimeofday_us();
+ const int64_t start_time = butil::cpuwide_time_us();
while (_messenger.ConnectionCount() != 0) {
- ASSERT_LT(butil::gettimeofday_us(), start_time +
100000L/*100ms*/);
+ ASSERT_LT(butil::cpuwide_time_us(), start_time +
100000L/*100ms*/);
bthread_usleep(1000);
}
} else {
diff --git a/test/brpc_h2_unsent_message_unittest.cpp
b/test/brpc_h2_unsent_message_unittest.cpp
index acb79039..5e3b266d 100644
--- a/test/brpc_h2_unsent_message_unittest.cpp
+++ b/test/brpc_h2_unsent_message_unittest.cpp
@@ -57,12 +57,12 @@ TEST(H2UnsentMessage, request_throughput) {
// calc H2UnsentRequest throughput
butil::IOBuf dummy_buf;
ProfilerStart("h2_unsent_req.prof");
- int64_t start_us = butil::gettimeofday_us();
+ int64_t start_us = butil::cpuwide_time_us();
for (int i = 0; i < ntotal; ++i) {
brpc::policy::H2UnsentRequest* req =
brpc::policy::H2UnsentRequest::New(&cntl);
req->AppendAndDestroySelf(&dummy_buf, h2_client_sock.get());
}
- int64_t end_us = butil::gettimeofday_us();
+ int64_t end_us = butil::cpuwide_time_us();
ProfilerStop();
int64_t elapsed = end_us - start_us;
LOG(INFO) << "H2UnsentRequest average qps="
@@ -71,7 +71,7 @@ TEST(H2UnsentMessage, request_throughput) {
// calc H2UnsentResponse throughput
dummy_buf.clear();
- start_us = butil::gettimeofday_us();
+ start_us = butil::cpuwide_time_us();
for (int i = 0; i < ntotal; ++i) {
// H2UnsentResponse::New would release cntl.http_response() and swap
// cntl.response_attachment()
@@ -80,7 +80,7 @@ TEST(H2UnsentMessage, request_throughput) {
brpc::policy::H2UnsentResponse* res =
brpc::policy::H2UnsentResponse::New(&cntl, 0, false);
res->AppendAndDestroySelf(&dummy_buf, h2_client_sock.get());
}
- end_us = butil::gettimeofday_us();
+ end_us = butil::cpuwide_time_us();
elapsed = end_us - start_us;
LOG(INFO) << "H2UnsentResponse average qps="
<< (ntotal * 1000000L) / elapsed << "/s, data throughput="
diff --git a/test/brpc_http_rpc_protocol_unittest.cpp
b/test/brpc_http_rpc_protocol_unittest.cpp
index f13c6877..b75a6da3 100644
--- a/test/brpc_http_rpc_protocol_unittest.cpp
+++ b/test/brpc_http_rpc_protocol_unittest.cpp
@@ -2008,14 +2008,14 @@ void ReadOneResponse(brpc::SocketUniquePtr& sock,
#endif
butil::IOPortal read_buf;
- int64_t start_time = butil::gettimeofday_us();
+ int64_t start_time = butil::cpuwide_time_us();
while (true) {
const ssize_t nr = read_buf.append_from_file_descriptor(sock->fd(),
4096);
LOG(INFO) << "nr=" << nr;
LOG(INFO) << butil::ToPrintableString(read_buf);
ASSERT_TRUE(nr > 0 || (nr < 0 && errno == EAGAIN));
if (errno == EAGAIN) {
- ASSERT_LT(butil::gettimeofday_us(), start_time + 1000000L) << "Too
long!";
+ ASSERT_LT(butil::cpuwide_time_us(), start_time + 1000000L) << "Too
long!";
bthread_usleep(1000);
continue;
}
@@ -2059,10 +2059,10 @@ TEST_F(HttpTest, http_expect) {
request_buf.append(content);
ASSERT_EQ(0, sock->Write(&header_buf));
- int64_t start_time = butil::gettimeofday_us();
+ int64_t start_time = butil::cpuwide_time_us();
while (sock->fd() < 0) {
bthread_usleep(1000);
- ASSERT_LT(butil::gettimeofday_us(), start_time + 1000000L) << "Too
long!";
+ ASSERT_LT(butil::cpuwide_time_us(), start_time + 1000000L) << "Too
long!";
}
// 100 Continue
brpc::DestroyingPtr<brpc::policy::HttpContext> imsg_guard;
diff --git a/test/brpc_load_balancer_unittest.cpp
b/test/brpc_load_balancer_unittest.cpp
index 07059484..2a2be242 100644
--- a/test/brpc_load_balancer_unittest.cpp
+++ b/test/brpc_load_balancer_unittest.cpp
@@ -174,8 +174,8 @@ void DBDMultiBthread() {
}
// Modify during reading.
- int64_t start = butil::gettimeofday_ms();
- while (butil::gettimeofday_ms() - start < 10 * 1000) {
+ int64_t start = butil::cpuwide_time_ms();
+ while (butil::cpuwide_time_ms() - start < 10 * 1000) {
d.Modify(AddN, 1);
typename DBD::ScopedPtr ptr;
d.Read(&ptr);
@@ -277,9 +277,9 @@ void PerfTest(int thread_num, bool modify_during_reading) {
ProfilerStart(prof_name);
int64_t run_ms = 5 * 1000;
if (modify_during_reading) {
- int64_t start = butil::gettimeofday_ms();
+ int64_t start = butil::cpuwide_time_ms();
int i = 1;
- while (butil::gettimeofday_ms() - start < run_ms) {
+ while (butil::cpuwide_time_ms() - start < run_ms) {
ASSERT_TRUE(dbd.Modify(AddMapN, i++));
usleep(1000);
}
@@ -1276,8 +1276,8 @@ TEST_F(LoadBalancerTest,
revived_from_all_failed_intergrated) {
ASSERT_EQ(0, server2.AddService(&service2,
brpc::SERVER_DOESNT_OWN_SERVICE));
ASSERT_EQ(0, server2.Start(point2, NULL));
- int64_t start_ms = butil::gettimeofday_ms();
- while ((butil::gettimeofday_ms() - start_ms) < 3500) {
+ int64_t start_ms = butil::cpuwide_time_ms();
+ while ((butil::cpuwide_time_ms() - start_ms) < 3500) {
Done* done = new Done;
done->req.set_message("123");
stub.Echo(&done->cntl, &done->req, &done->res, done);
diff --git a/test/brpc_socket_unittest.cpp b/test/brpc_socket_unittest.cpp
index 8e9f90e8..98512874 100644
--- a/test/brpc_socket_unittest.cpp
+++ b/test/brpc_socket_unittest.cpp
@@ -37,7 +37,6 @@
#include "brpc/policy/hulu_pbrpc_protocol.h"
#include "brpc/policy/most_common_message.h"
#include "brpc/policy/http_rpc_protocol.h"
-#include "brpc/nshead.h"
#include "brpc/server.h"
#include "brpc/channel.h"
#include "brpc/controller.h"
@@ -399,10 +398,10 @@ TEST_F(SocketTest, single_threaded_connect_and_write) {
my_connect->MakeConnectDone();
ASSERT_LT(0, called); // serialized
}
- int64_t start_time = butil::gettimeofday_us();
+ int64_t start_time = butil::cpuwide_time_us();
while (s->fd() < 0) {
bthread_usleep(1000);
- ASSERT_LT(butil::gettimeofday_us(), start_time + 1000000L) <<
"Too long!";
+ ASSERT_LT(butil::cpuwide_time_us(), start_time + 1000000L) <<
"Too long!";
}
#if defined(OS_LINUX)
ASSERT_EQ(0, bthread_fd_wait(s->fd(), EPOLLIN));
@@ -502,10 +501,10 @@ TEST_F(SocketTest, fail_to_connect) {
ASSERT_EQ(-1, s->fd());
}
// KeepWrite is possibly still running.
- int64_t start_time = butil::gettimeofday_us();
+ int64_t start_time = butil::cpuwide_time_us();
while (global_sock != NULL) {
bthread_usleep(1000);
- ASSERT_LT(butil::gettimeofday_us(), start_time + 1000000L) << "Too
long!";
+ ASSERT_LT(butil::cpuwide_time_us(), start_time + 1000000L) << "Too
long!";
}
ASSERT_EQ(-1, brpc::Socket::Status(id));
// The id is invalid.
@@ -567,10 +566,10 @@ TEST_F(SocketTest, not_health_check_when_nref_hits_0) {
// is NULL(set in CheckRecycle::BeforeRecycle). Notice that you should
// not spin until Socket::Status(id) becomes -1 and assert global_sock
// to be NULL because invalidating id happens before calling BeforeRecycle.
- const int64_t start_time = butil::gettimeofday_us();
+ const int64_t start_time = butil::cpuwide_time_us();
while (global_sock != NULL) {
bthread_usleep(1000);
- ASSERT_LT(butil::gettimeofday_us(), start_time + 1000000L);
+ ASSERT_LT(butil::cpuwide_time_us(), start_time + 1000000L);
}
ASSERT_EQ(-1, brpc::Socket::Status(id));
}
@@ -751,11 +750,11 @@ TEST_F(SocketTest, health_check) {
ASSERT_EQ(0, messenger->AddHandler(pairs[0]));
ASSERT_EQ(0, messenger->StartAccept(listening_fd, -1, NULL, false));
- int64_t start_time = butil::gettimeofday_us();
+ int64_t start_time = butil::cpuwide_time_us();
nref = -1;
while (brpc::Socket::Status(id, &nref) != 0) {
bthread_usleep(1000);
- ASSERT_LT(butil::gettimeofday_us(),
+ ASSERT_LT(butil::cpuwide_time_us(),
start_time + kCheckInteval * 1000000L + 100000L/*100ms*/);
}
//ASSERT_EQ(2, nref);
@@ -772,10 +771,10 @@ TEST_F(SocketTest, health_check) {
// SetFailed again, should reconnect and succeed soon.
ASSERT_EQ(0, s->SetFailed());
ASSERT_EQ(fd, s->fd());
- start_time = butil::gettimeofday_us();
+ start_time = butil::cpuwide_time_us();
while (brpc::Socket::Status(id) != 0) {
bthread_usleep(1000);
- ASSERT_LT(butil::gettimeofday_us(), start_time + 1200000L);
+ ASSERT_LT(butil::cpuwide_time_us(), start_time + 1200000L);
}
ASSERT_TRUE(global_sock);
@@ -797,10 +796,10 @@ TEST_F(SocketTest, health_check) {
ASSERT_EQ(0, brpc::Socket::SetFailed(id));
// StartHealthCheck is possibly still addressing the Socket.
- start_time = butil::gettimeofday_us();
+ start_time = butil::cpuwide_time_us();
while (global_sock != NULL) {
bthread_usleep(1000);
- ASSERT_LT(butil::gettimeofday_us(), start_time + 1000000L);
+ ASSERT_LT(butil::cpuwide_time_us(), start_time + 1000000L);
}
nref = 0;
ASSERT_EQ(-1, brpc::Socket::Status(id, &nref)) << "nref=" << nref;
@@ -879,7 +878,7 @@ TEST_F(SocketTest, multi_threaded_write) {
}
butil::IOPortal dest;
- const int64_t start_time = butil::gettimeofday_us();
+ const int64_t start_time = butil::cpuwide_time_us();
for (;;) {
ssize_t nr = dest.append_from_file_descriptor(fds[0], 32768);
if (nr < 0) {
@@ -890,7 +889,7 @@ TEST_F(SocketTest, multi_threaded_write) {
ASSERT_EQ(EAGAIN, errno) << berror();
}
bthread_usleep(1000);
- if (butil::gettimeofday_us() >= start_time + 2000000L) {
+ if (butil::cpuwide_time_us() >= start_time + 2000000L) {
LOG(FATAL) << "Wait too long!";
break;
}
diff --git a/test/brpc_timeout_concurrency_limiter_unittest.cpp
b/test/brpc_timeout_concurrency_limiter_unittest.cpp
index 11b9e23b..a8e11ecd 100644
--- a/test/brpc_timeout_concurrency_limiter_unittest.cpp
+++ b/test/brpc_timeout_concurrency_limiter_unittest.cpp
@@ -35,56 +35,56 @@ TEST(TimeoutConcurrencyLimiterTest, AddSample) {
brpc::policy::FLAGS_timeout_cl_max_sample_count = 10;
brpc::policy::TimeoutConcurrencyLimiter limiter;
- limiter.AddSample(0, 50, butil::gettimeofday_us());
- limiter.AddSample(0, 50, butil::gettimeofday_us());
- limiter.AddSample(0, 50, butil::gettimeofday_us());
- limiter.AddSample(0, 50, butil::gettimeofday_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
bthread_usleep(10 * 1000);
- limiter.AddSample(0, 50, butil::gettimeofday_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
ASSERT_EQ(limiter._sw.succ_count, 0);
ASSERT_EQ(limiter._sw.failed_count, 0);
- limiter.AddSample(0, 50, butil::gettimeofday_us());
- limiter.AddSample(0, 50, butil::gettimeofday_us());
- limiter.AddSample(0, 50, butil::gettimeofday_us());
- limiter.AddSample(0, 50, butil::gettimeofday_us());
- limiter.AddSample(0, 50, butil::gettimeofday_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
bthread_usleep(10 * 1000);
- limiter.AddSample(0, 50, butil::gettimeofday_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
ASSERT_EQ(limiter._sw.succ_count, 0);
ASSERT_EQ(limiter._sw.failed_count, 0);
ASSERT_EQ(limiter._avg_latency_us, 50);
- limiter.AddSample(0, 50, butil::gettimeofday_us());
- limiter.AddSample(0, 50, butil::gettimeofday_us());
- limiter.AddSample(0, 50, butil::gettimeofday_us());
- limiter.AddSample(0, 50, butil::gettimeofday_us());
- limiter.AddSample(0, 50, butil::gettimeofday_us());
- limiter.AddSample(0, 50, butil::gettimeofday_us());
- limiter.AddSample(0, 50, butil::gettimeofday_us());
- limiter.AddSample(0, 50, butil::gettimeofday_us());
- limiter.AddSample(0, 50, butil::gettimeofday_us());
- limiter.AddSample(0, 50, butil::gettimeofday_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
ASSERT_EQ(limiter._sw.succ_count, 0);
ASSERT_EQ(limiter._sw.failed_count, 0);
ASSERT_EQ(limiter._avg_latency_us, 50);
- limiter.AddSample(0, 50, butil::gettimeofday_us());
- limiter.AddSample(0, 50, butil::gettimeofday_us());
- limiter.AddSample(0, 50, butil::gettimeofday_us());
- limiter.AddSample(0, 50, butil::gettimeofday_us());
- limiter.AddSample(0, 50, butil::gettimeofday_us());
- limiter.AddSample(0, 50, butil::gettimeofday_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
ASSERT_EQ(limiter._sw.succ_count, 6);
ASSERT_EQ(limiter._sw.failed_count, 0);
- limiter.ResetSampleWindow(butil::gettimeofday_us());
- limiter.AddSample(0, 50, butil::gettimeofday_us());
- limiter.AddSample(0, 50, butil::gettimeofday_us());
- limiter.AddSample(0, 50, butil::gettimeofday_us());
- limiter.AddSample(1, 50, butil::gettimeofday_us());
- limiter.AddSample(1, 50, butil::gettimeofday_us());
- limiter.AddSample(1, 50, butil::gettimeofday_us());
+ limiter.ResetSampleWindow(butil::cpuwide_time_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
+ limiter.AddSample(0, 50, butil::cpuwide_time_us());
+ limiter.AddSample(1, 50, butil::cpuwide_time_us());
+ limiter.AddSample(1, 50, butil::cpuwide_time_us());
+ limiter.AddSample(1, 50, butil::cpuwide_time_us());
ASSERT_EQ(limiter._sw.succ_count, 3);
ASSERT_EQ(limiter._sw.failed_count, 3);
}
diff --git a/test/bvar_recorder_unittest.cpp b/test/bvar_recorder_unittest.cpp
index c0d32062..7493c345 100644
--- a/test/bvar_recorder_unittest.cpp
+++ b/test/bvar_recorder_unittest.cpp
@@ -96,10 +96,10 @@ TEST(RecorderTest, window) {
bvar::Window<bvar::IntRecorder> w3(&c1, 3);
const int N = 10000;
- int64_t last_time = butil::gettimeofday_us();
+ int64_t last_time = butil::cpuwide_time_us();
for (int i = 1; i <= N; ++i) {
c1 << i;
- int64_t now = butil::gettimeofday_us();
+ int64_t now = butil::cpuwide_time_us();
if (now - last_time >= 1000000L) {
last_time = now;
LOG(INFO) << "c1=" << c1 << " w1=" << w1 << " w2=" << w2 << " w3="
<< w3;
@@ -244,15 +244,15 @@ TEST(RecorderTest, latency_recorder_qps_accuracy) {
double err = fabs(qps_sum / 1000.0 - exp_qps);
return err;
};
- ASSERT_GT(0.1, read(lr1, 10/2.0));
- ASSERT_GT(0.1, read(lr2, 11/2.0));
- ASSERT_GT(0.1, read(lr3, 3/2.0));
- ASSERT_GT(0.1, read(lr4, 1/2.0));
+ ASSERT_GT(0.2, read(lr1, 10/2.0));
+ ASSERT_GT(0.2, read(lr2, 11/2.0));
+ ASSERT_GT(0.2, read(lr3, 3/2.0));
+ ASSERT_GT(0.2, read(lr4, 1/2.0));
- ASSERT_GT(0.1, read(lr1, 10/3.0, 3));
+ ASSERT_GT(0.2, read(lr1, 10/3.0, 3));
ASSERT_GT(0.2, read(lr2, 11/3.0, 3));
- ASSERT_GT(0.1, read(lr3, 3/3.0, 3));
- ASSERT_GT(0.1, read(lr4, 1/3.0, 3));
+ ASSERT_GT(0.2, read(lr3, 3/3.0, 3));
+ ASSERT_GT(0.2, read(lr4, 1/3.0, 3));
}
} // namespace
diff --git a/test/bvar_reducer_unittest.cpp b/test/bvar_reducer_unittest.cpp
index 48e13b3c..5bd3477c 100644
--- a/test/bvar_reducer_unittest.cpp
+++ b/test/bvar_reducer_unittest.cpp
@@ -218,14 +218,14 @@ void ReducerTest_window() {
const int N = 6000;
int count = 0;
int total_count = 0;
- int64_t last_time = butil::gettimeofday_us();
+ int64_t last_time = butil::cpuwide_time_us();
for (int i = 1; i <= N; ++i) {
c1 << 1;
c2 << N - i;
c3 << i;
++count;
++total_count;
- int64_t now = butil::gettimeofday_us();
+ int64_t now = butil::cpuwide_time_us();
if (now - last_time >= 1000000L) {
last_time = now;
ASSERT_EQ(total_count, c1.get_value());
diff --git a/tools/rpc_press/info_thread.cpp b/tools/rpc_press/info_thread.cpp
index 99c9db1c..fc3d8f87 100644
--- a/tools/rpc_press/info_thread.cpp
+++ b/tools/rpc_press/info_thread.cpp
@@ -36,18 +36,18 @@ void InfoThread::run() {
int64_t last_sent_count = 0;
int64_t last_succ_count = 0;
int64_t last_error_count = 0;
- int64_t start_time = butil::gettimeofday_us();
+ int64_t start_time = butil::cpuwide_time_us();
while (!_stop) {
int64_t end_time = 0;
while (!_stop &&
- (end_time = butil::gettimeofday_us()) < start_time + 1000000L) {
+ (end_time = butil::cpuwide_time_us()) < start_time + 1000000L) {
BAIDU_SCOPED_LOCK(_mutex);
if (!_stop) {
timespec ts = butil::microseconds_to_timespec(end_time);
pthread_cond_timedwait(&_cond, &_mutex, &ts);
}
}
- start_time = butil::gettimeofday_us();
+ start_time = butil::cpuwide_time_us();
char buf[64];
const time_t tm_s = start_time / 1000000L;
struct tm lt;
diff --git a/tools/rpc_press/rpc_press_impl.cpp
b/tools/rpc_press/rpc_press_impl.cpp
index 07c8dbcf..8da10c14 100644
--- a/tools/rpc_press/rpc_press_impl.cpp
+++ b/tools/rpc_press/rpc_press_impl.cpp
@@ -195,7 +195,7 @@ void RpcPress::handle_response(brpc::Controller* cntl,
Message* response,
int64_t start_time){
if (!cntl->Failed()){
- int64_t rpc_call_time_us = butil::gettimeofday_us() - start_time;
+ int64_t rpc_call_time_us = butil::cpuwide_time_us() - start_time;
_latency_recorder << rpc_call_time_us;
if (_output_json) {
@@ -235,7 +235,7 @@ void RpcPress::sync_client() {
msg_index = (msg_index + _options.test_thread_num) % _msgs.size();
Message* request = _msgs[msg_index];
Message* response = _pbrpc_client->get_output_message();
- const int64_t start_time = butil::gettimeofday_us();
+ const int64_t start_time = butil::cpuwide_time_us();
google::protobuf::Closure* done = brpc::NewCallback<
RpcPress,
RpcPress*,
diff --git a/tools/rpc_replay/info_thread.cpp b/tools/rpc_replay/info_thread.cpp
index d20d70e8..f31e5971 100644
--- a/tools/rpc_replay/info_thread.cpp
+++ b/tools/rpc_replay/info_thread.cpp
@@ -36,18 +36,18 @@ void InfoThread::run() {
int64_t last_sent_count = 0;
int64_t last_succ_count = 0;
int64_t last_error_count = 0;
- int64_t start_time = butil::gettimeofday_us();
+ int64_t start_time = butil::cpuwide_time_us();
while (!_stop) {
int64_t end_time = 0;
while (!_stop &&
- (end_time = butil::gettimeofday_us()) < start_time + 1000000L) {
+ (end_time = butil::cpuwide_time_us()) < start_time + 1000000L) {
BAIDU_SCOPED_LOCK(_mutex);
if (!_stop) {
timespec ts = butil::microseconds_to_timespec(end_time);
pthread_cond_timedwait(&_cond, &_mutex, &ts);
}
}
- start_time = butil::gettimeofday_us();
+ start_time = butil::cpuwide_time_us();
char buf[64];
const time_t tm_s = start_time / 1000000L;
struct tm lt;
diff --git a/tools/rpc_replay/rpc_replay.cpp b/tools/rpc_replay/rpc_replay.cpp
index c3cd7c4c..395da6b6 100644
--- a/tools/rpc_replay/rpc_replay.cpp
+++ b/tools/rpc_replay/rpc_replay.cpp
@@ -119,7 +119,7 @@ static void handle_response(brpc::Controller* cntl, int64_t
start_time,
// TODO(gejun): some bthreads are starved when new bthreads are created
// continuously, which happens when server is down and RPC keeps failing.
// Sleep a while on error to avoid that now.
- const int64_t end_time = butil::gettimeofday_us();
+ const int64_t end_time = butil::cpuwide_time_us();
const int64_t elp = end_time - start_time;
if (!cntl->Failed()) {
g_latency_recorder << elp;
@@ -190,7 +190,7 @@ static void* replay_thread(void* arg) {
req.serialized_data() = sample->request.movable();
}
g_sent_count << 1;
- const int64_t start_time = butil::gettimeofday_us();
+ const int64_t start_time = butil::cpuwide_time_us();
if (FLAGS_qps <= 0) {
chan->CallMethod(NULL/*use rpc_dump_context in cntl instead*/,
cntl, req_ptr, NULL/*ignore response*/, NULL);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]