Simple Elixir analytics to replace Google Analytics
Find a file
Mikko Ahlroth 094bec17c9 Add README
2018-06-29 23:10:49 +03:00
config Don't print every request in prod mode 2018-06-29 22:23:07 +03:00
lib Hopefully fix getting referrer from wrong place 2018-06-29 10:32:37 +03:00
priv Update UA database 2018-06-28 12:36:19 +03:00
rel Add distillery release functionality 2018-06-28 23:45:13 +03:00
static Hopefully fix getting referrer from wrong place 2018-06-29 10:32:37 +03:00
test Initial commit 2018-06-09 21:09:30 +03:00
.formatter.exs Initial commit 2018-06-09 21:09:30 +03:00
.gitignore Add tester page for localhost development 2018-06-28 12:35:38 +03:00
LICENSE Add license 2018-06-11 23:56:59 +03:00
mix.exs Add distillery release functionality 2018-06-28 23:45:13 +03:00
mix.lock Add distillery release functionality 2018-06-28 23:45:13 +03:00
package-lock.json Add rudimentary tracking script and uglify to smallinize it 2018-06-11 23:58:13 +03:00
package.json Add tester page for localhost development 2018-06-28 12:35:38 +03:00
README.md Add README 2018-06-29 23:10:49 +03:00

Tilastokeskus

Tilastokeskus (also the name of an unrelated Finnish government agency) is a minimal analytics tool written in Elixir, using Raxx, and PostgreSQL storage. It is currently in early development, but I use it for my own sites.

The point of Tilastokeskus is to replace Google Analytics on my own sites, but as I use very few features from GA, the features in Tilastokeskus are also minimal. The motivation for writing my own analytics tool was to 1) have 1st party analytics, 2) get rid of GA, 3) learn Raxx.

Currently implemented features

  • Collection of data and storing to PostgreSQL
  • Full referrers with and without queries + domains
  • Simple session system with cookie to group one session's requests
  • Parsing of UA with ua_detector library
  • GeoIP with autoupdated MaxMind databases
  • Support for allowing a set of hostnames and forbidding others
  • Autoremoval of sensitive data with configurable interval

Future features

  • UI with different graphs to visualize data
  • Realtime view to show users currently on site
  • Take DNT header into account somehow

Won't be implemented (out of scope)

  • User accounts/authentication (use HTTP basic auth or SSH tunneling or something else)
  • Integrations to 3rd party systems
  • Invasive tracking (Flash cookies, dirty tricks)