arbtt-stats - generate statistics from the arbtt data samples
arbtt-stats reads the samples that were recorded so far by
arbtt-capture from the log file, filters them according to the users
specifications and generates one or more reports from the data.
When run without any options, --total-time is assumed.
The order in which filters (--exclude, --only,
--also-inactive and --filter) and reports are passed to the
program is irrelevant: All filters given on the command line are active for
-h, -?, --help
shows a short summary of the available options, and
shows the version number, and exists.
logfile to use instead of ~/.arbtt/capture.log
categorize file to use instead of
-x TAG, --exclude TAG
Ignore any data samples that have been assigned this tag
or category. To distinguish tags and categories, the latter have to be entered
followed by a colon. Can be given more than once.
-o TAG, --only TAG
Ignore any data samples that have not been assigned this
tag. To distinguish tags and categories, the latter have to be entered
followed by a colon. Can be given more than once.
by default, arbtt-stats ignores any samples which
have been assigned the tag inactive. This flag disables this behaviour.
-f CONDITION, --filter CONDITION
Only consider samples matching the given condition, which
follows the same syntax as in categorize.cfg (Nonterminal Cond in the formal
grammar specification found in the user guide).
-m PERCENTAGE, --min-percentage
Ignore tags whose percentage is less than the value
specified here. Default percentage: 1%.
Skip this tag or category when printing statistics. Only
affects the reports --total-time and --category. To distinguish
tags and categories, the latter have to be entered followed by a colon. Can be
given more than once.
Prints statistics only for the specified tag or category.
Only affects the reports --total-time and --category. To
distinguish tags and categories, the latter have to be entered followed by a
colon. Can be given more than once.
Specify the report output format, may be one of: text,
csv (comma-separated values), tsv (TAB-separated values). Default format:
Various bits of information about the recorded data, such
as total time recorded, number of records etc. In this report, “time
recorded” is the sum of all samples, including inactive and
those that are disabled by the filter, while “time selected” is
the sum of the samples that are matched by the given filters.
For all tags, print the part of the selected time with
this tag applied to, both as an absolute value and a percentage of the
-c CATEGORY, --category CATEGORY
For the given category, give the textual equivalent of a
pie chart: For each possible value of the category, including one for
“no tag of this category present”, give the absolute time and
fraction. Entries which are not displayed because of the option
--min-percentage are aggregated.
This is just a shortcut for a series of --category
options, one for each category found in the data.
This report lists all periods of consecutive time
intervals where the given tag has been applied to, or where the given category
has the same value.
To distinguish tags and categories, the latter have to be entered
followed by a colon.
This report will give wrong results if an activity has been
carried out at the end of a session and right at the beginning, as the
intermediate time is thought to be part of the interval. Inactive times
while arbtt-capture is running will separate the results as
This is not a report of its own, but causes the selected
report to be executed for each of the given PERIOD (which can be minute,
hour,day, month or year) where there exist selected samples. All the reports
will then be printed one after another or, in the case of CSV output, with an
Note that if this option is enabled, samples that are filtered out
are completely ignored (to avoid empty reports for periods with only
filtered samples). Therefore, the --information report will print the
numbers for the samples selected also for the totals.
Some useful examples of what you can do with arbtt-stats
are provided here:
# Only consider the time when I was programming in Haskell
arbtt-stats -o Editing-Haskell
# Tell me what evolution folders I spend my time in when I actually do
# work with e-Mail
arbtt-stats -o Program:evolution -c Evo-Folder
# Generate statistics about the last hour
arbtt-stats -f '$sampleage < 1:00'
binary file, storing the arbtt data samples
specification of the arbtt categorizer syntax. A detailed
description is given in the section called “Configuring the arbtt
See the arbtt manual for more information and the arbtt hackage
page for newer versions of arbtt.
Joachim Breitner <email@example.com>
Main author of arbtt
Sergey Astanin <firstname.lastname@example.org>
Martin Kiefel <email@example.com>
Muharem Hrnjadovic <firstname.lastname@example.org>
Markus Hauck <email@example.com>
Thomasz Miąsko <firstname.lastname@example.org>
Waldir Pimenta <email@example.com>
Gwern Branwen <firstname.lastname@example.org>
Paolo G. Giarrusso <email@example.com>
Michal J. Gajda <firstname.lastname@example.org>
- arbtt hackage page