.. | .. |
---|
3 | 3 | #define _TIME_UTILS_H_ |
---|
4 | 4 | |
---|
5 | 5 | #include <stddef.h> |
---|
| 6 | +#include <time.h> |
---|
6 | 7 | #include <linux/types.h> |
---|
7 | 8 | |
---|
8 | 9 | struct perf_time_interval { |
---|
.. | .. |
---|
23 | 24 | bool perf_time__ranges_skip_sample(struct perf_time_interval *ptime_buf, |
---|
24 | 25 | int num, u64 timestamp); |
---|
25 | 26 | |
---|
| 27 | +struct perf_session; |
---|
| 28 | + |
---|
| 29 | +int perf_time__parse_for_ranges_reltime(const char *str, struct perf_session *session, |
---|
| 30 | + struct perf_time_interval **ranges, |
---|
| 31 | + int *range_size, int *range_num, |
---|
| 32 | + bool reltime); |
---|
| 33 | + |
---|
| 34 | +int perf_time__parse_for_ranges(const char *str, struct perf_session *session, |
---|
| 35 | + struct perf_time_interval **ranges, |
---|
| 36 | + int *range_size, int *range_num); |
---|
| 37 | + |
---|
26 | 38 | int timestamp__scnprintf_usec(u64 timestamp, char *buf, size_t sz); |
---|
| 39 | +int timestamp__scnprintf_nsec(u64 timestamp, char *buf, size_t sz); |
---|
27 | 40 | |
---|
28 | 41 | int fetch_current_timestamp(char *buf, size_t sz); |
---|
29 | 42 | |
---|
| 43 | +static inline unsigned long long rdclock(void) |
---|
| 44 | +{ |
---|
| 45 | + struct timespec ts; |
---|
| 46 | + |
---|
| 47 | + clock_gettime(CLOCK_MONOTONIC, &ts); |
---|
| 48 | + return ts.tv_sec * 1000000000ULL + ts.tv_nsec; |
---|
| 49 | +} |
---|
| 50 | + |
---|
30 | 51 | #endif |
---|