* Add multi-line chart for total execution time by job
* Fiddling with the UX
* Refactor metrics `top_jobs` query
* debugging
* revert debugging
* revert debugging
* Add failed and avg time, just one data table
* Add color swatch in data table
* Measure in seconds
* Fix duplicate color
* standard style
* Rename for clarity
* Bring back empty metrics test
* Execution time is not consistent, assert processed counts instead
* Only include top 5 in chart, change swatch element to checkbox
* Wire up the checkboxes to show/hide each job class on the chart
* The checkboxes should not appear disabled
* Ensure seconds for y-axis to match table and UX improvements
- All data shown on metrics page is now in seconds
- Tooltip now includes "UTC" with the time
- Tooltip rounds the number of seconds and includes "seconds"
* Show deploy marks in metrics chart
* Fix annotation position when updating datasets
* Remove deploy labels on chart
We shouldn't assume the first word of the label is the git SHA, and the label annotations were hacky anyway.
* tweaks
Co-authored-by: Mike Perham <mperham@gmail.com>
* New execution stats data format, #5283
We store time and counts per-queue, per-class and totals, daily.
* break metrics into separate jobs and queues hashes
* tweak
* Move metrics tracking to middleware, start work on Query API
* Add support for labeled points in time
* Add fetch method for deploy marks
* rejigger metrics file layout
* fix tests
* Remove per-queue metrics, adds a lot of complexity with little value IMO
* store per-minute histograms
* Keep basic stats hardwired as is
The idea being that metrics are optional middleware as they have significantly more overhead in CPU time and Redis space.
* Implement top N metrics dashboard
* Add topN and job-specific metric pages
* Supply histogram data to job metrics page
* cant use local time as CI is in a different tz
* Add basic metrics graph, refactor dashboard JS to make Rickshaw reuseable
* prepare for public beta