MCPcopy Create free account
hub / github.com/apache/brpc / TrackMe

Function TrackMe

src/brpc/trackme.cpp:224–240  ·  view source on GitHub ↗

Called in global.cpp [Thread-safe] supposed to be called in low frequency.

Source from the content-addressed store, hash-verified

222// Called in global.cpp
223// [Thread-safe] supposed to be called in low frequency.
224void TrackMe() {
225 if (FLAGS_trackme_server.empty()) {
226 return;
227 }
228 int64_t now = butil::cpuwide_time_us();
229 std::unique_lock<pthread_mutex_t> mu(s_trackme_mutex);
230 if (s_trackme_last_time == 0) {
231 // Delay the first ping randomly within s_trackme_interval. This
232 // protects trackme_server from ping storms.
233 s_trackme_last_time =
234 now + butil::fast_rand_less_than(s_trackme_interval) * 1000000L;
235 }
236 if (now > s_trackme_last_time + 1000000L * s_trackme_interval) {
237 s_trackme_last_time = now;
238 return TrackMeNow(mu);
239 }
240}
241
242} // namespace brpc

Callers 1

GlobalUpdateFunction · 0.85

Calls 4

cpuwide_time_usFunction · 0.85
fast_rand_less_thanFunction · 0.85
TrackMeNowFunction · 0.85
emptyMethod · 0.45

Tested by

no test coverage detected