123456789101112131415161718192021222324 |
- #include "absl/time/clock.h"
- #include <sys/time.h>
- #include <ctime>
- #include <cstdint>
- #include "absl/base/internal/raw_logging.h"
- namespace absl {
- ABSL_NAMESPACE_BEGIN
- namespace time_internal {
- static int64_t GetCurrentTimeNanosFromSystem() {
- const int64_t kNanosPerSecond = 1000 * 1000 * 1000;
- struct timespec ts;
- ABSL_RAW_CHECK(clock_gettime(CLOCK_REALTIME, &ts) == 0,
- "Failed to read real-time clock.");
- return (int64_t{ts.tv_sec} * kNanosPerSecond +
- int64_t{ts.tv_nsec});
- }
- } // namespace time_internal
- ABSL_NAMESPACE_END
- } // namespace absl
|