Building a custom software quality dashboard

Software quality dashboard using open source technologies
  • A “Build/Test” scheduler is responsible for scheduling jobs that build and/or test software.
  • The job is run on an execution cluster (For example, Tekton on a Kubernetes cluster). The job is stored in a database (for example, etcd, not shown in the picture).
  • A controller watches for job state transitions. This could be for example, a custom Kubernetes controller watching a resource on the job execution Kubernetes cluster. The controller can detect a job state change, and create Jira failure tickets as required.
  • Prometheus scrapes job-state metrics from the controller and stores in its internal time-series database.
  • Jobs send their logs to S3, and an ETL can continuously run to enrich the logs and also to update the analysis to Jira and an RDBMS. The purpose of the RDBMS is to support rich “trend” queries on the job metrics.
  • Grafana can query from the RDBMS and Prometheus to display appropriate metrics.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store