Called in global.cpp [Thread-safe] supposed to be called in low frequency.
| 222 | // Called in global.cpp |
| 223 | // [Thread-safe] supposed to be called in low frequency. |
| 224 | void 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 |
no test coverage detected