benchmark/cmake
Mircea Trofin 376ebc2635
Support optional, user-directed collection of performance counters (#1114)
* Support optional, user-directed collection of performance counters

The patch allows an engineer wishing to drill into the root causes
of a regression, for example. Currently, only single threaded runs
are supported. The feature is a build-time opt in, and then a runtime
opt in.

The engineer may run the benchmark executable, passing a list of
performance counter names (using libpfm's naming scheme) at the
command line. The counter values will then be collected and reported
back as UserCounters.

This is different from #240 in that it is a benchmark user opt-in, and
the counter collection is transparent to the benchmark.

Currently, this is only supported on platforms where libpfm is
supported.

libpfm: http://perfmon2.sourceforge.net/

* 'Use' values param in Snapshot when BENCHMARK_OS_WINDOWS

This is to avoid unused parameter warning-as-error

* Added missing include for <vector> in perf_counters.cc

* Moved doc to docs

* Added license blurbs
2021-04-28 09:25:29 +01:00
..
Modules Support optional, user-directed collection of performance counters (#1114) 2021-04-28 09:25:29 +01:00
AddCXXCompilerFlag.cmake fix cmake issue with referencing a non-existing function argument (#1118) 2021-04-26 09:15:07 +01:00
CXXFeatureCheck.cmake Fix Clang builds on Windows (#1021) 2020-08-27 11:17:19 +01:00
Config.cmake.in Add CMake Package Config files during install 2017-04-03 01:54:24 +02:00
GetGitVersion.cmake Ensure all informational cmake messages have STATUS type 2018-11-13 09:56:22 +00:00
GoogleTest.cmake Allow setting GOOGLETEST_PATH cmake argument. Fixes #867 (#868) 2019-09-15 20:25:32 +03:00
GoogleTest.cmake.in Ctest support (#1025) 2020-08-21 16:25:56 +01:00
benchmark.pc.in Fixed pkg-config on other than Ubuntu GNU/Linux distributions. (#1043) 2020-09-12 18:56:43 +03:00
gnu_posix_regex.cpp Fix #50 by using nullptr and adding stricter warning. 2014-10-11 15:52:50 -07:00
llvm-toolchain.cmake CMake: implement LTO for clang. Fixes #478 (#487) 2017-11-29 12:48:43 -08:00
posix_regex.cpp Close a memory leak in configuration code 2016-02-09 13:08:56 +00:00
split_list.cmake split_list is not defined for assembly tests (#595) 2018-05-14 15:02:49 +01:00
std_regex.cpp Change std::regex detection test to detect bug in libstdc++. 2015-03-06 12:05:19 -05:00
steady_clock.cpp address review comments 2015-03-26 18:32:31 -04:00
thread_safety_attributes.cpp Adopt new benchmark timing internals. 2015-03-12 18:03:33 -04:00