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 all reports.
-h, -?, --help
shows a short summary of the available options, and exists.
shows the version number, and exists.
logfile to use instead of ~/.arbtt/capture.log
categorize file to use instead of ~/.arbtt/categorize.cfg
-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 TAB
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 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
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
Some useful examples of what you can do with arbtt-stats are provided
# 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>
1. arbtt hackage page