MeDB

Screenshot of MeDB

Today I'm releasing MeDB, a personal analytics project I've been working on in bits and pieces for some time. I originally posted last year about using industry-grade monitoring tools like Grafana and InfluxDB to gather stats about myself rather than servers or business data. There seems to be a lot more decent software in devops than in "quantified self", so it makes sense to piggyback on it.

Earlier this year I wanted to use stats more so I started developing a plugin-based system as a series of prototypes. After I wrote the core, each individual plugin was pretty easy, which was really the goal: after you lock down all the hard bits, collecting some new information is just a matter of a little bit of code. I've been using it for a while to collect the stats for my stats page, which currently only displays intermediate values, but could also display graphs fairly easily.

Internally, MeDB is really simple: it just reads a config file, uses that to determine what plugins to load (and what configuration they need), loads them all, passes them the relevant part of the config, and writes the results into InfluxDB. Each plugin is also simple, it just accepts the config data and returns the stats. I've found this framework super lightweight and useful for my needs, so I figured it was time to let it out into the wild in case it could be useful for anyone else's.

You can find MeDB on GitHub and the plugin I use for getting my GitHub stats is on GitHub too. I'll release more plugins (at least the ones I'm using for Hacker News and Reddit stats) soon, but if this kind of thing interests you, feel free to write your own!