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 details)

Uploaded Source

File details

Details for the file ci-analysis-0.0.0.tar.gz.

File metadata

  • Download URL: ci-analysis-0.0.0.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.6

File hashes

Hashes for ci-analysis-0.0.0.tar.gz
Algorithm Hash digest
SHA256 5012ad5cc1605a29522640ec2e8e3a04c88b1182283b61ae44d431751f7efc35
MD5 fbb9fcf55d8c788fe6fe09c4e426fefa
BLAKE2b-256 9ec6e647eb0464df6b499797ee59b4b9cdeb896b487b602ce95af4f8f4032ffb

See more details on using hashes here.

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