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.

DESCRIPTION

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;

USAGE

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

jenkviz -h

COMMANDS

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)

EXAMPLES

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

LIMITATIONS

Jenkviz try to find downstream/upstream build using the web page and the REST API to work around the JENKINS-6211 bug.

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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

jenkviz-0.3.2-py2.7.egg (27.2 kB view details)

Uploaded Source

File details

Details for the file jenkviz-0.3.2-py2.7.egg.

File metadata

  • Download URL: jenkviz-0.3.2-py2.7.egg
  • Upload date:
  • Size: 27.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for jenkviz-0.3.2-py2.7.egg
Algorithm Hash digest
SHA256 8a69377f864419e98f39f0f5c83b8834d46a644336e3a5a64261a89d293fce12
MD5 623ee262f8eafa85320745bd026104f5
BLAKE2b-256 0e53d8cf0a416551d6087d51de73a51f9ac9179097dbc4196de2a0e4b0d73073

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