Skip to main content

Crawl a jenkins build and report stats and graphs about the build flow.

Project description

NAME

jenkviz - visualization of a Jenkins build flow using graphviz.

See this examples of SVG output.

You can see that:

  • There is summary box that displays: - the total elapsed time - the cumulated duration for each build - a throughput (duration/elapsed)

  • Black edge are upstream/downstream dependences

  • Orange edge are only downstream dependences

  • Blue box are for successfull build

  • Yellow box are for unstable build

  • Red box are build in failure

USAGE

jenkviz [–version] [–logfile=LOGFILE] [–database=DATABASE] COMMAND [OPTIONS] ARGUMENTS

jenkviz -h

COMMANDS

crawl [–direct] [–output SVG_FILE] JENKINS_BUILD_URL

Crawl a Jenkins build for downstream buils and produces a SVG graph the build information is stored in a local sqlite database that is used as a cache to not request twice a build, it also enable to requests data 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;

The --direct option shows only downstream/upstream relation, removing downstream only link.

EXAMPLES

jenkviz crawl http://jenkins.site/jenkviz/job_name/42/

LIMITATIONS

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.

INSTALLATION

On Debian/Ubuntu:

sudo aptitude install graphviz
sudo easy_install jenkviz

SOURCE REPOSITORY

Jenkviz is currently hosted at github.

ISSUES AND BUG REPORTS

Feature requests and bug reports can be made here:

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

jenkviz-0.1.1.tar.gz (89.1 kB view hashes)

Uploaded Source

Built Distributions

jenkviz-0.1.1-py2.7.egg (23.7 kB view hashes)

Uploaded Source

jenkviz-0.1.1-py2.6.egg (23.8 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