ci-analysis
🛠️🪛 🗜️⚙️ 🔩🔨
Example
A figure created with this tool:
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:
Metadata
Release files for ci-analysis 0.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ci-analysis-0.0.0.tar.gz | 17.7 kB | Without provenance | Details for ci-analysis-0.0.0.tar.gz |
Release files / ci-analysis-0.0.0.tar.gz
| Download URL | ci-analysis-0.0.0.tar.gz |
|---|---|
| Size | 17.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5012ad5cc1605a29522640ec2e8e3a04c88b1182283b61ae44d431751f7efc35
|
|
BLAKE2b-256 checksum How to use checksums |
9ec6e647eb0464df6b499797ee59b4b9cdeb896b487b602ce95af4f8f4032ffb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Security for ci-analysis 0.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.