Skip to content
Plot graphs from arbtt-stats
JavaScript CSS HTML Python Haskell Shell
Branch: master
Clone or download

Latest commit

Latest commit d2b0e21 May 26, 2018

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
render
.gitignore
LICENSE
README.md
arbtt-serve.py
categorize.cfg
readArbttStats.py
update

README.md

arbtt-graph

arbtt - Automatic Rule Based Time Tracker

Note: Requires arbtt-stats version 0.9, since it has for-each=minute, which is required for the barcode chart to work.

I love arbtt. Just remember to add arbtt-capture to your startup applications and let it record active windows in the background. Then you can use arbtt-stats to categorize recorded data. For example, running arbtt-stats with the included categorize.cfg file:

$ arbtt-stats --categorizefile=./categorize.cfg -c Graph
Statistics for category "Graph"
===============================
________________Tag_|_________Time_|_Percentage_
Graph:social        | 10d01h18m00s |      11.23
Graph:mail          |  9d04h08m00s |      10.25
Graph:read-pdf      |  6d23h17m00s |       7.79
Graph:term          |  6d17h47m00s |       7.53
Graph:irc           |  2d16h47m00s |       3.02
Graph:tv-local      |  2d08h28m00s |       2.63
Graph:communities   |  2d05h19m00s |       2.48
Graph:write         |  1d17h06m00s |       1.91
(9 entries omitted) |  3d15h44m00s |       4.08
(unmatched time)    | 43d22h02m00s |      49.07

It is pretty cool. But you would agree that colored graphs are much more striking than a plain ascii table? So taking a few ideas from karpathy's ulogme, I wrote this tool to plot my daily stats as logged by arbtt-capture.

Getting Started

Start recording

  1. Install arbtt. Run arbtt-capture at startup.
  2. Probably let it run for some time to have some data.

Using arbtt-graph

  1. Clone/download this repository.
  2. Have a look at the categorize.cfg file. Add similar categories to your categorize.cfg file. (Usually at ~/.arbtt/categorize.cfg).
  3. Important: Modify path of the file in update.
  4. Important: Accordingly modify render/settings.js for barcode categories.
  5. Once everything is set up, run update once.
  6. Now you can run ./arbtt-serve.py (or python3 arbtt-serve.py) and go to the displayed address. (Default: <http://localhost:9999>)
  7. You can refresh anytime using the reload button to the right.

Structure

All html/js UI is inside the render folder. Also no information other than the percentage usage is inside the json files, so you can even make the plots public for extra extrinsic motivation. 😄

Suggestions and pull requests are always welcome.

Thanks

Happy tracking!

You can’t perform that action at this time.