benjaminheng / tetrio-metrics-web Goto Github PK
View Code? Open in Web Editor NEWHome Page: https://tetris.hbenjamin.com
Home Page: https://tetris.hbenjamin.com
Currently percentiles are calculated for discreet buckets; 0-100 games is one bucket, 100-200 is another, and so on. I would like to calculate percentiles using a sliding window instead, similar to the summary type in Prometheus. Prometheus uses this algorithm: http://dimacs.rutgers.edu/%7Egraham/pubs/slides/bquant-long.pdf
I'm not keen on implementing the described algorithm in javascript though, nor am I keen on importing a package to do so. I'll probably just go with a O(n log n) approach I have in mind, which I expect should be much simpler to implement.
Currently we plot each individual game, which causes the graph to look quite spiky. Visualizing progression might be easier if we calculate the percentiles for every week and plot it over time. The graph will contain 3 series: P95/P90/P50. For simplicity we can calculate the percentiles for each discrete week, ignoring the current partial week. A rolling weekly aggregation would be nice, but could take a while to calculate.
The histogram would give an idea of what our average timings would be. I presume mine would have a mode around 55s right now.
I would like to have the date range restricted to perhaps the last 3 months. Consider having multiple series on the same graph if it can be made to look good, for example to compare performance over different months.
Bucket size will probably be 1 second.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.