summaryrefslogtreecommitdiff
path: root/simpleperf/environment.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'simpleperf/environment.cpp')
-rw-r--r--simpleperf/environment.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/simpleperf/environment.cpp b/simpleperf/environment.cpp
index 5a8552a2..a73aa1cc 100644
--- a/simpleperf/environment.cpp
+++ b/simpleperf/environment.cpp
@@ -477,3 +477,17 @@ bool CheckPerfEventLimit() {
#endif
return true;
}
+
+bool GetMaxSampleFrequency(uint64_t* max_sample_freq) {
+ std::string s;
+ if (!android::base::ReadFileToString("/proc/sys/kernel/perf_event_max_sample_rate", &s)) {
+ PLOG(DEBUG) << "failed to read /proc/sys/kernel/perf_event_max_sample_rate";
+ return false;
+ }
+ s = android::base::Trim(s);
+ if (!android::base::ParseUint(s.c_str(), max_sample_freq)) {
+ LOG(ERROR) << "failed to parse /proc/sys/kernel/perf_event_max_sample_rate: " << s;
+ return false;
+ }
+ return true;
+}