Skip to content

ironcladlou/dowser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dowser

Tools to help work with Prometheus metrics produced by OpenShift CI jobs.

Automatically manages Thanos query frontends aggregating slices of Prometheus instances hosting metrics scraped from CI tarballs.

Create a namespace for the operator:

oc create namespace dowser

Install the operator:

oc apply --namespace dowser manifests/config
oc apply --namespace dowser manifests/operator

Create a MetricsCluster resource specifying the Prow URLs to aggregate into a discrete Thanos cluster:

apiVersion: dowser.dowser/v1
kind: MetricsCluster
metadata:
  name: blocking-46-1w
spec:
  urls:
  - https://prow.ci.openshift.org/view/gs/origin-ci-test/logs/release-openshift-ocp-installer-e2e-gcp-4.6/1305830510110445568
  - https://prow.ci.openshift.org/view/gs/origin-ci-test/logs/release-openshift-ocp-installer-e2e-aws-4.6/1305723582000664576
  - https://prow.ci.openshift.org/view/gs/origin-ci-test/logs/release-openshift-ocp-installer-e2e-azure-4.6/1305705113293164544
  - https://prow.ci.openshift.org/view/gs/origin-ci-test/logs/release-openshift-ocp-installer-e2e-gcp-4.6/1305632600848601088
  - https://prow.ci.openshift.org/view/gs/origin-ci-test/logs/release-openshift-ocp-installer-e2e-aws-4.6/1305571313192013824
  - https://prow.ci.openshift.org/view/gs/origin-ci-test/logs/release-openshift-ocp-installer-e2e-azure-4.6/1305571314022486016

The operator manages a Prometheus instance per distinct URL, and a Thanos query instance per MetricsCluster. Check the routes to find the Thanos URLs:

oc get --namespace dowser routes

These route URLs can be wired into Grafana as a Prometheus data source.

There's also a tool which can scrape the Prow job history and convert the results into a SQLite database for easy querying.

For example, run this to construct a database from the last 3 weeks of various jobs:

go run . db create \
--from 504h \
--job release-openshift-ocp-installer-e2e-aws-4.6 \
--job release-openshift-ocp-installer-e2e-gcp-4.6 \
--job release-openshift-ocp-installer-e2e-azure-4.6 \
--job release-openshift-origin-installer-e2e-gcp-upgrade-4.6 \
--job release-openshift-origin-installer-e2e-azure-upgrade-4.6 \
--job release-openshift-origin-installer-e2e-aws-upgrade-4.5-stable-to-4.6-ci \
--output-file prow-1w.db

The database tool uses upserts, so subsequent imports can be scoped to a shorter window of time to refresh an existing database.

Now you can do things like easily discover the URLs for the last week of a set of jobs capped at one per day:

select url
from jobs
where result = 'SUCCESS'
and name in ('release-openshift-ocp-installer-e2e-aws-4.6', 'release-openshift-ocp-installer-e2e-gcp-4.6', 'release-openshift-ocp-installer-e2e-azure-4.6')
group by date(started), name
order by datetime(started) desc, name asc;

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published