Difference between revisions of "Splot"

From HaskellWiki
Jump to navigation Jump to search
 
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
  +
splot is available from hackage: http://hackage.haskell.org/package/splot
  +
  +
===Large presentation===
  +
See this one: http://www.slideshare.net/jkff/two-visualization-tools
  +
Or download: http://jkff.info/presentations/two-visualization-tools
  +
  +
  +
It has much more pretty and practical pictures than the current page.
  +
  +
=== Installation ===
  +
  +
Similar to [[Timeplot]].
  +
 
=== Help ===
 
=== Help ===
   
 
splot - a tool for visualizing the lifecycle of many concurrent multi-stage processes. See http://www.haskell.org/haskellwiki/Splot
 
splot - a tool for visualizing the lifecycle of many concurrent multi-stage processes. See http://www.haskell.org/haskellwiki/Splot
Usage: splot [-o PNGFILE] [-w WIDTH] [-h HEIGHT] [-bh BARHEIGHT] [-tf TIMEFORMAT]
+
Usage: splot [-o PNGFILE] [-w WIDTH] [-h HEIGHT] [-bh BARHEIGHT] [-tf TIMEFORMAT] [-sort SORT] [-expire EXPIRE]
 
[-tickInterval TICKINTERVAL]
 
[-tickInterval TICKINTERVAL]
 
-o PNGFILE - filename to which the output will be written in PNG format.
 
-o PNGFILE - filename to which the output will be written in PNG format.
Line 9: Line 22:
 
-bh - height of the bar depicting each individual process. Default 5 pixels.
 
-bh - height of the bar depicting each individual process. Default 5 pixels.
 
Use 1 or so if you have a lot of them.
 
Use 1 or so if you have a lot of them.
-tf - time format, as in http://linux.die.net/man/3/strptime but with
+
-tf - time format, as in http://linux.die.net/man/3/strptime but with
 
fractional seconds supported via %OS - will parse 12.4039 or 12,4039
 
fractional seconds supported via %OS - will parse 12.4039 or 12,4039
 
-tickInterval - ticks on the X axis will be this often (in millis).
 
-tickInterval - ticks on the X axis will be this often (in millis).
  +
-sort SORT - sort tracks by SORT, where: 'time' - sort by time of first event,
  +
'name' - sort by track name.
  +
-expire - expire activities after given time period (in millis) - for instance,
  +
to account that if an activity doesn't tell you it's finished for too long,
  +
then it probably was killed.
  +
 
 
 
Input is read from stdin. Example input (speaks for itself):
 
Input is read from stdin. Example input (speaks for itself):
Line 36: Line 55:
   
 
And here's what we get:
 
And here's what we get:
  +
http://www.haskell.org/sitewiki/images/d/d1/Splot-small.png
 
  +
[[Image:Splot-small.png]]
   
 
A couple of real-world examples:
 
A couple of real-world examples:
  +
http://www.haskell.org/sitewiki/images/thumb/a/a3/Splot-big.png/626px-Splot-big.png
 
  +
[[Image:Splot-big.png]]
  +
 
(several thousand processes calling memcached; stages are: green is "connecting", yellow is "reading data", red is "retrying after a network error")
 
(several thousand processes calling memcached; stages are: green is "connecting", yellow is "reading data", red is "retrying after a network error")
   
http://www.haskell.org/sitewiki/images/8/83/Splot-single-task.png
+
[[Image:Splot-single-task.png]]
  +
Running 160 approx.equal-length tasks on a 160-core cluster.
+
Running 160 approx.equal-length tasks on a 120-core cluster.

Latest revision as of 08:51, 18 March 2011

splot is available from hackage: http://hackage.haskell.org/package/splot

Large presentation

See this one: http://www.slideshare.net/jkff/two-visualization-tools Or download: http://jkff.info/presentations/two-visualization-tools


It has much more pretty and practical pictures than the current page.

Installation

Similar to Timeplot.

Help

splot - a tool for visualizing the lifecycle of many concurrent multi-stage processes. See http://www.haskell.org/haskellwiki/Splot 
Usage: splot [-o PNGFILE] [-w WIDTH] [-h HEIGHT] [-bh BARHEIGHT] [-tf TIMEFORMAT] [-sort SORT] [-expire EXPIRE]
             [-tickInterval TICKINTERVAL]
  -o PNGFILE    - filename to which the output will be written in PNG format.
                  If omitted, it will be shown in a window.
  -w, -h        - width and height of the resulting picture. Default 640x480.
  -bh           - height of the bar depicting each individual process. Default 5 pixels.
                  Use 1 or so if you have a lot of them.
  -tf           - time format, as in http://linux.die.net/man/3/strptime but with
                  fractional seconds supported via %OS - will parse 12.4039 or 12,4039
  -tickInterval - ticks on the X axis will be this often (in millis).
  -sort SORT    - sort tracks by SORT, where: 'time' - sort by time of first event,
                  'name' - sort by track name.
  -expire       - expire activities after given time period (in millis) - for instance,
                  to account that if an activity doesn't tell you it's finished for too long,
                  then it probably was killed.


Input is read from stdin. Example input (speaks for itself):
2010-10-21 16:45:09,431 >foo green
2010-10-21 16:45:09,541 >bar green
2010-10-21 16:45:10,631 >foo yellow
2010-10-21 16:45:10,725 >foo red
2010-10-21 16:45:10,930 >bar blue
2010-10-21 16:45:11,322 <foo
2010-10-21 16:45:12,508 <bar
'>FOO COLOR' means 'start a bar of color COLOR on track FOO',
'<FOO' means 'end the current bar for FOO'.


> cat <<END |splot -tickInterval 100
2010-10-21 16:45:09,431 >foo green
2010-10-21 16:45:09,541 >bar green
2010-10-21 16:45:10,631 >foo yellow
2010-10-21 16:45:10,725 >foo red
2010-10-21 16:45:10,930 >bar blue
2010-10-21 16:45:11,322 <foo
2010-10-21 16:45:12,508 <bar

And here's what we get:

Splot-small.png

A couple of real-world examples:

Splot-big.png

(several thousand processes calling memcached; stages are: green is "connecting", yellow is "reading data", red is "retrying after a network error")

Splot-single-task.png

Running 160 approx.equal-length tasks on a 120-core cluster.