Deployment, tests and metrics
2 min read

Deployment, tests and metrics

Kittens Game went a long way from a tiny web page to an app merging people of different countries and different platforms together. It naturally evolved as we struggled fighting the growth and complexity.

KGNet server handling over 100Gb traffic per month

Last summer KG moved to kittensgame.com and we introduced an automatic deployment system.

This process has been improved to save us time. For example KG enforces uniform code style, something that was a topic of argument before. There are some basic sanity code checks.

After the last pollution update we check the basic balance to make sure no regression was introduced. The pace of improvements is glacial as is everything we do, but steady.

KG pipeline has interrupted deployment due to the failed unit test 

I've been using https://newrelic.com/ for a couple of months to monitor the KGNet server. They proved to be invaluable and I slowly adopting it for the web version.

Starting from this June we began collecting general UI metrics. It might or might not be blocked by your browser, you can also opt out of it in the game settings.

Rendering time in ms breakdown by version
Rendering time in ms broken down by 

Currently we collect memory usage, average rendering time, page load times and error messages. This is A LOT of data and it uncovered a whole lot of information - like people using tons of broken scripts, performance issues or subtle errors nobody noticed.

Unknown user running 4 year old script script generating 30K errors per hour

Some common sense stuff is not collected.

Your email is generally not exposed to newrelic or google analytics. Your kgnet credentials are obviously not stored anywhere, including server logs, to the best of my knowledge.