About CLIChartIf a picture is worth 1,000 words, then a chart (or graph) is worth 10,000 lines of data.
CLIChart is a set of tools for quick visualisation of tabular data on the command line by generating and displaying charts. It can:
- Display charts in a window, save them to disk (JPEG or PNG), or both
- Accept data in comma- or whitespace-separated formats
- Read data from a file, or have it piped into its standard input
- Display XY line charts, with the X axis based on dates, times or values. The Y axis must be simple values (integer or decimal)
- Be used interactively, or driven via scripts
- Generate summary data based on counts, averages, minimum, maximum of input fields
- Generate summary data based on discrete values
- Generate aggregates and histograms from tabular data
- Merge tabular data from multiple sources
- Operate in CLI server mode, generating 1 or more charts based on commands passed via standard in (either from another script, or from a command file).
CLIChart was originally developed for interactive charting of data from server log files, so its primary audience is probably software developers and system administrators.
The main tool in the CLIChart project is clichart, which (surprisingly enough) generates charts from the Command Line Interface (CLI). The project also includes other tools (linestats, discretestats, aggregate and mid) to help generate summary data from log files and other textual data. If you're using Java, you can also use clichart as a library.
Sample output from CLIChartHere's a sample chart generated by CLIChart, from a CSV file extracted from data in a system log (click the image to see the full-size chart).
The command-line required to generate the chart was:
clichart -fcl 0,1,2,3 -t "Processing of Foo Requests - 12 Feb 2006" \ -y "Requests per minute" system.log.2006-02-12.fooRates.csvAnd bear in mind that most of the command-line is titles and other prettiness, so it's pretty simple and quick.
Requirements for running CLIChartCLIChart requires Java version 1.5 (aka Java 5) and above. CLIChart should run whereever Java does, but it gets tested on Linux and Windows.
The additional tools for generation of tabular data require Python 2.2 or above, and should run anywhere.
Installation is simple - see here for details.
Download and ForumsCLIChart is hosted on SourceForge - you'll find the project download page here.
SourceForge also has the project forum pages, which are a great place to ask questions and find answers.
Quick start with CLIChartThe quick start page will give you a fast run through the tools in CLIChart, so you can see them in action. The page also has examples of the output from running against data in the samples directory provided with CLIChart.
Installing CLIChartMostly, all you have to do is unzip the package. See the installation page for more information.
DocumentationSee the project documentation index.
LicenceCLIChart is licenced under the GNU Lesser (or Library) Public Licence. See the LICENCE.txt file for details.
Contact MeMy name's John Dickson. I'm an architect for server-side Java systems, and I seem to have spent far too much of my life looking at logs trying to understand what the system was doing at particular moments. CLIChart grew out of that experience.
You can get in touch with me at the email address: 'captsens at gmail dot com'. I'd love to hear whether CLIChart scratches your itch, and if not why not.