Skip to main content

Performs analysis on CI build information.

Project description

ci-analysis

🛠️🪛 🗜️⚙️ 🔩🔨

Example

A figure created with this tool:

alt text

Command run to create this figure, and its (shortened) output:

$ export BUILDKITE_API_TOKEN="..."
$ ci-analysis bk opstrace scheduled-main-builds \
  --ignore-builds-longer-than 5000 \
  --ignore-builds-before 2020-08-15 \
  --multi-plot-only

...

210301-12:14:40.238 INFO: loading data from file: opstrace_scheduled-main-builds.pickle.cache
210301-12:14:40.303 INFO: read 39.25 MiB
210301-12:14:40.691 INFO: loaded 2946 builds from disk
210301-12:14:40.691 INFO: newest build number in cache: 1236
210301-12:14:40.691 INFO: update (forward-fill)
210301-12:14:40.691 INFO: fetch builds: get first page (newest builds first)
210301-12:14:44.727 INFO: got 100 builds in paginated response
...
210301-12:15:04.543 INFO: builds_resp.next_page: 7
210301-12:15:08.805 INFO: got 100 builds in paginated response
210301-12:15:08.805 INFO: current page contains build 1236 and older -- drop, stop fetching
210301-12:15:08.806 INFO: fetched data for 600 finished builds
210301-12:15:08.806 INFO: newest build number / oldest build number: 1836 /1237
210301-12:15:08.808 INFO: persist to disk (pickle cache): combination of previous cache and newly fetched builds
210301-12:15:09.325 INFO: persist 51547258 byte(s) (49.16 MiB) to file opstrace_scheduled-main-builds.pickle.cache
210301-12:15:09.386 INFO: process 3546 builds, rewrite meta data
...
210301-12:15:09.597 INFO:

perform build stability analysis (from all builds, passed builds) -- window_width_days: 4
210301-12:15:09.597 INFO: build pandas dataframe for passed builds
...
210301-12:15:09.746 INFO: build histogram: which step (key) was executed how often?
210301-12:15:09.753 INFO: top 7 executed build steps (by step key)


|     step key      | number of executions |
|-------------------|---------------------:|
| preamble          |                 1832 |
| maintest-gcp      |                 1832 |
| maintest-aws      |                 1832 |
| cleanup-tmp       |                 1605 |
| check-docs        |                 1570 |
| publish-artifacts |                  981 |
| unit-tests        |                  619 |

210301-12:15:09.829 INFO: build pandas dataframe for passed builds
...
210301-12:15:11.497 INFO: Writing PNG figure to 2021-03-01_report/2021-03-01_multiplot-summary.png

Notes

Analysis methods re-use ideas from my previous projects:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ci-analysis-0.0.0.tar.gz (17.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page