Loading tools/perf/builtin-buildid-cache.c +1 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #include "util/build-id.h" #include "util/session.h" #include "util/symbol.h" #include "util/time-utils.h" static int build_id_cache__kcore_buildid(const char *proc_dir, char *sbuildid) { Loading tools/perf/builtin-kvm.c +1 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ #ifdef HAVE_TIMERFD_SUPPORT #include <sys/timerfd.h> #endif #include <sys/time.h> #include <linux/kernel.h> #include <linux/time64.h> Loading tools/perf/builtin-record.c +1 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ #include "util/bpf-loader.h" #include "util/trigger.h" #include "util/perf-hooks.h" #include "util/time-utils.h" #include "util/units.h" #include "asm/bug.h" Loading tools/perf/util/time-utils.c +25 −0 Original line number Diff line number Diff line Loading @@ -117,3 +117,28 @@ bool perf_time__skip_sample(struct perf_time_interval *ptime, u64 timestamp) return false; } int timestamp__scnprintf_usec(u64 timestamp, char *buf, size_t sz) { u64 sec = timestamp / NSEC_PER_SEC; u64 usec = (timestamp % NSEC_PER_SEC) / NSEC_PER_USEC; return scnprintf(buf, sz, "%"PRIu64".%06"PRIu64, sec, usec); } int fetch_current_timestamp(char *buf, size_t sz) { struct timeval tv; struct tm tm; char dt[32]; if (gettimeofday(&tv, NULL) || !localtime_r(&tv.tv_sec, &tm)) return -1; if (!strftime(dt, sizeof(dt), "%Y%m%d%H%M%S", &tm)) return -1; scnprintf(buf, sz, "%s%02u", dt, (unsigned)tv.tv_usec / 10000); return 0; } tools/perf/util/time-utils.h +7 −0 Original line number Diff line number Diff line #ifndef _TIME_UTILS_H_ #define _TIME_UTILS_H_ #include <stddef.h> #include <linux/types.h> struct perf_time_interval { u64 start, end; }; Loading @@ -11,4 +14,8 @@ int perf_time__parse_str(struct perf_time_interval *ptime, const char *ostr); bool perf_time__skip_sample(struct perf_time_interval *ptime, u64 timestamp); int timestamp__scnprintf_usec(u64 timestamp, char *buf, size_t sz); int fetch_current_timestamp(char *buf, size_t sz); #endif Loading
tools/perf/builtin-buildid-cache.c +1 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #include "util/build-id.h" #include "util/session.h" #include "util/symbol.h" #include "util/time-utils.h" static int build_id_cache__kcore_buildid(const char *proc_dir, char *sbuildid) { Loading
tools/perf/builtin-kvm.c +1 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ #ifdef HAVE_TIMERFD_SUPPORT #include <sys/timerfd.h> #endif #include <sys/time.h> #include <linux/kernel.h> #include <linux/time64.h> Loading
tools/perf/builtin-record.c +1 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ #include "util/bpf-loader.h" #include "util/trigger.h" #include "util/perf-hooks.h" #include "util/time-utils.h" #include "util/units.h" #include "asm/bug.h" Loading
tools/perf/util/time-utils.c +25 −0 Original line number Diff line number Diff line Loading @@ -117,3 +117,28 @@ bool perf_time__skip_sample(struct perf_time_interval *ptime, u64 timestamp) return false; } int timestamp__scnprintf_usec(u64 timestamp, char *buf, size_t sz) { u64 sec = timestamp / NSEC_PER_SEC; u64 usec = (timestamp % NSEC_PER_SEC) / NSEC_PER_USEC; return scnprintf(buf, sz, "%"PRIu64".%06"PRIu64, sec, usec); } int fetch_current_timestamp(char *buf, size_t sz) { struct timeval tv; struct tm tm; char dt[32]; if (gettimeofday(&tv, NULL) || !localtime_r(&tv.tv_sec, &tm)) return -1; if (!strftime(dt, sizeof(dt), "%Y%m%d%H%M%S", &tm)) return -1; scnprintf(buf, sz, "%s%02u", dt, (unsigned)tv.tv_usec / 10000); return 0; }
tools/perf/util/time-utils.h +7 −0 Original line number Diff line number Diff line #ifndef _TIME_UTILS_H_ #define _TIME_UTILS_H_ #include <stddef.h> #include <linux/types.h> struct perf_time_interval { u64 start, end; }; Loading @@ -11,4 +14,8 @@ int perf_time__parse_str(struct perf_time_interval *ptime, const char *ostr); bool perf_time__skip_sample(struct perf_time_interval *ptime, u64 timestamp); int timestamp__scnprintf_usec(u64 timestamp, char *buf, size_t sz); int fetch_current_timestamp(char *buf, size_t sz); #endif