• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..16-Feb-2021-

.gitignoreH A D16-Feb-202132 65

IdleWakeups.slnH A D16-Feb-20211.2 KiB2927

IdleWakeups.vcxprojH A D16-Feb-20218 KiB163163

IdleWakeups.vcxproj.filtersH A D16-Feb-20211.5 KiB4242

README.mdH A D16-Feb-20211.8 KiB4330

idle_wakeups.cppH A D16-Feb-202114.9 KiB461357

power_sampler.cppH A D16-Feb-20212.2 KiB7555

power_sampler.hH A D16-Feb-20211.5 KiB4933

stdafx.cppH A D16-Feb-2021186 61

stdafx.hH A D16-Feb-2021530 187

system_information_sampler.cppH A D16-Feb-202111.4 KiB341232

system_information_sampler.hH A D16-Feb-20211.8 KiB6641

README.md

1This tool is designed to measure and aggregate a few key performance metrics
2for all Chrome processes over time. The tool supports other browsers such as
3Edge or Firefox, or in fact any other processes. The inclusion of processes
4is based on a simple partial process image name match against the image name
5argument (optional, chrome.exe is the default image name used when no
6argument is provided).
7
8# Compilation
9Open IdleWakeups.sln in Visual Studio and select Build > Build Solution (F7).
10IdleWakeups.exe can then be found in src/tools/win/IdleWakeups/x64/Debug/.
11
12# Usage
13`IdleWakeups.exe` to match all Chrome processes.
14
15`IdleWakeups.exe Firefox` to match all Firefox processes.
16
17`IdleWakeups.exe msedge` to match all Edge processes.
18
19`IdleWakeups.exe 12345` to match process ID 12345 and its child processes.
20
21The process matching the provided parameter is identified by case-sensitive
22string prefix, e.g., `some_process` and `some_process.exe` would both work. If
23the parameter is numeric and a valid process ID, it is treated as a process ID.
24
25When the tool starts it begins gathering and aggregating CPU usage, private
26working set size, number of context switches / sec, and power usage for all
27matched processes. Hit Ctrl-C to stop the measurements and print average and
28median values over the entire measurement interval.
29
30By default, CPU usage is normalized to one CPU core, with 100% meaning one CPU
31core is fully utilized.
32
33[Intel Power Gadget](https://software.intel.com/en-us/articles/intel-power-gadget-20)
34is required to allow IdleWakeups tool to query power usage.
35
36Optional command-line flags:
37
38* `--cpu-seconds`: display CPU time in seconds rather than by percentage.
39
40* `--stop-on-exit`: stop measurement automatically when target process exits.
41
42* `--tabbed`: output summary only, in tab-delimited format; useful for copying
43  to a spreadsheet.