EVENTSTAT(8)
๐ EVENTSTAT(8) โ the system manager's manual page, but make it a vibe
okay bestie, welcome to eventstat, section 8 of the system manager's manual. this is the part where we measure โจsystem eventsโจ. put your hair up, grab a strawberry, let's go ๐
โจ NAME โจ
eventstat โ a whole tool whose entire job is measuring system events. that's it. that's the job. ๐
๐ธ SYNOPSIS ๐ธ
eventstat [options] [delay [count]]
๐ฆ DESCRIPTION ๐ฆ
so eventstat is a program that dumps out all the currently active system events that have been added to the kernel timer list. it's giving surveillance but make it consensual. it's literally just telling you which timers are doing the most. ๐
๐ OPTIONS ๐
here's the full menu of what eventstat options do, no skips, no cuts, we eat every single one:
-bโ just report events, PID and process name. by default the short task name from the kernelcommfield gets displayed, BUT the-sand-loptions will report more process name information. so-bis the minimalist queen,-s/-lare the over-sharers.-cโ report cumulative events instead of events per sample period. running total energy. ๐-Cโ report the sample event count in the CSV output instead of the default events per second rate.-dโ strip the full directory path off the process name in the CSV output. no more/usr/bin/this/that/the/other, just the name, clean. โจ-hโ show help. your bestie when you're lost.-iโ show timer ID information. the receipts. ๐งพ-kโ report just kernel threads. kernel girlies only, user space need not apply.-lโ report long process name from/proc/pid/cmdline. this reports the process name AND all the command line arguments. the full tea, no crumbs withheld.-nevent_count โ only display the first event_count number of top events. top-N energy, main character only. ๐-qโ run quietly. only really makes sense with the-roption (iykyk).-rcsv_file โ output gathered data in a comma separated values file. you can then import it and graph it using your favourite open source spread sheet. data girlies rise up ๐-sโ report short process name from/proc/pid/cmdline. this reports just the process name.-Sโ report the minimum, maximum, average and population standard deviation at the end of the CSV output. stats class but it's finally useful. ๐งฎ-tthreshold โ ignore samples where the event delta per second is less than the given threshold. if it's not loud enough, we don't hear it. ๐ซ-Tโ enable'top'mode, refresh display on each update. live, laughing, loving, refreshing. ๐ฅ-uโ report just user space processes. the people's processes.-wโ add timestamp (the "whence" info) to the output. โฐ
๐ EXAMPLES ๐
dump events every second until stopped:
sudo eventstat
dump the top 20 events every 60 seconds until stopped:
sudo eventstat -n 20 60
dump events every 10 seconds just 5 times:
sudo eventstat 10 5
quietly dump events every 10 seconds just 5 times into a CSV file with short process name:
sudo eventstat 10 5 -q -s -r results.csv
๐ CSV OUTPUT ๐
the -r option generates a comma separated file report that you can import into spreadsheets or parse using text processing tools. very versatile, very demure. ๐
column 1 of the data is the label for each row, and columns 2 onwards contain the data for each task that generated a wakeup event.
the first row lists the task name of the thread or process. task names in [ ] brackets are kernel threads, and other tasks are the names of user space processes. by default these names are derived from the task names from kernel trace events, but the -s and -l options fetch more complete task names from /proc/pid/cmdline instead.
the second and third rows list the names of the internal Linux kernel timer init function. yes, two whole rows of it.
the fourth row lists the total number of wakeup events for each task during the entire run of eventstat. the whole run, periodt.
the subsequent rows list the average number of wakeups per second measured during the sample interval for each task in column two onwards. and the first column indicates the sample time (in seconds) since the start of the measuring. so you always know when the numbers happened. ๐ฐ๏ธ
๐ NOTES ๐
version 4.0 ofeventstatgathers event timer data from the kernel trace event timers and hence is not compatible with previous versions ofeventstat. heads up bestie, this is a breaking change, not a glow-up you can ignore.
the move to using kernel trace events was necessary because the Linux 4.12 kernel dropped support for the /proc/timer_stats interface. so likeโฆ we had no choice. it was adapt or perish. ๐ญ
๐ซถ SEE ALSO ๐ซถ
๐ง AUTHOR ๐ง
eventstat was written by Colin King <colin.king@canonical.com>
this manual page was written by Colin King <colin.i.king@gmail.com>, for the Ubuntu project (but may be used by others). generous king behavior honestly. ๐
โญ COPYRIGHT โญ
Copyright ยฉ 2011-2021 Canonical Ltd, Copyright ยฉ 2021-2024 Colin Ian King.
this is free software; see the source for copying conditions. there is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. (translation: it's free, it's yours, but if it breaks, that's on you babes ๐)
and that's the whole page!! January 12, 2024 is when this was last touched, and yes the manual name is EVENTSTAT(8) in case you scrolled past it ๐ mwah, go measure some events, you've got this โจ๐ฆ๐
๐ฆ where this page comes from
- debian trixie: eventstat 0.06.00-1 ยท GPL-2.0-or-later
- nixos 26.05: eventstat 0.06.00
- nixpkgs unstable: eventstat 0.06.00
- opensuse-leap 16.0: eventstat 0.06.00-bp160.1.13 ยท GPL-2.0-or-later
- opensuse-leap 16.0: eventstat 0.06.00-bp160.1.13 ยท GPL-2.0-or-later
- opensuse-leap 16.0: eventstat 0.06.00-bp160.1.13 ยท GPL-2.0-or-later
- opensuse-leap 16.0: eventstat 0.06.00-bp160.1.13 ยท GPL-2.0-or-later
- ubuntu noble: eventstat 0.06.00-1 ยท GPL-2.0-or-later
- ubuntu questing: eventstat 0.06.00-1
- ubuntu resolute: eventstat 0.06.00-1build1 ยท GPL-2.0-or-later
- ubuntu stonking: eventstat 0.06.00-1build1 ยท GPL-2.0-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms