Tool to crawl a Jenkins site using a build url and producing a SVG output to render the build flow.
The SVG graph displays: - A summary box with:
- the total elapsed time
- the cumulated duration for each build
- a throughput (duration/elapsed)
- number of builds
- Black arrows to render upstream and downstream relation
- Orange arrows to render downstream only relation
- Build with a blue/yellow/red/gray box for Success/Unstable/Failed/Aborted build status
Build information are stored in a local sqlite database. The database is used as a cache to not fetch twice a build page but also to get information using plain SQL:sqlite3 ~/jenkviz.db -- Slowest jobs sqlite> SELECT name, SUM(duration_s), MAX(duration_s), AVG(duration_s), COUNT(1) FROM build GROUP BY name ORDER BY SUM(duration_s) DESC LIMIT 10; -- Slave load sqlite> SELECT host, SUM(duration_s) FROM build GROUP BY host ORDER BY SUM(duration_s) DESC LIMIT 10;
jenkviz [--version] [--logfile=LOGFILE] [--database=DATABASE] COMMAND [OPTIONS] ARGUMENTS
crawl [--direct|--reverse|--explore] [--output SVG_FILE] JENKINS_BUILD_URL
The --direct option shows only downstream and upstream relation, removing downstream only link.
The --reverse option crawl backward using upstream builds.
The --explore option to keep downstream builds that have upstream build out of the scope of the origin build (the upstream build is not a descendant of the root build)
jenkviz crawl http://jenkins.site/jenkviz/job_name/42/
Due to JENKINS-6211 bug, this works only for maven job because current Jenkins (at least 1.444) don't display build number for downstream builds for freestyle jobs or non maven jobs.
Also sometime downstream build number is None and it stops the crawling, in this case Jenkins don't give any way to go directly to the downstream builds.
At the moment Jenkviz don't handle build with multiple upstream builds, only taking care of the first one.
On Debian/Ubuntu:sudo aptitude install graphviz sudo easy_install jenkviz
Jenkviz is currently hosted at github.
Feature requests and bug reports can be made here: