Main > Free Download Search >

Free graph layout software for linux

graph layout

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 1058
Graph 0.81

Graph 0.81


Graph is a Perl module with graph data structures and algorithms. more>>
Graph is a Perl module with graph data structures and algorithms.

SYNOPSIS

use Graph;
my $g0 = Graph->new; # A directed graph.

use Graph::Directed;
my $g1 = Graph::Directed->new; # A directed graph.

use Graph::Undirected;
my $g2 = Graph::Undirected->new; # An undirected graph.

$g->add_edge(...);
$g->has_edge(...)
$g->delete_edge(...);

$g->add_vertex(...);
$g->has_vertex(...);
$g->delete_vertex(...);

$g->vertices(...)
$g->edges(...)

<<less
Download (0.12MB)
Added: 2007-07-02 License: Perl Artistic License Price:
1427 downloads
mfGraph Library 0.4.2

mfGraph Library 0.4.2


mfGraph is a graph rendering library for interactive applications. more>>
mfGraph is a graph rendering library for interactive applications. Written in C++ and Python, mfGraph parses GraphViz DOT and XDOT files and provides rendering and hit-testing facilities. Supports Microsoft Windows natively, GNU/Linux through wxPython.
Main features:
- An object model for manipulating graphs and their attributes
- As a serialization format, the GraphViz DOT language is used
- The DOT tool can be used to calculate the layout, then mfGraph is used to build a list of primitive drawing commands by interpreting the XDOT attributes
- For each platform, all that is needed are basic drawing functions (text, lines, ellipses, Bezier curves, and the like) to do the actual rendering
- Zooming and hit-testing are supported
Enhancements:
- Added Visual Studio 2005 project files (".vcproj", ".sln")
- Minor code fixes to resolve compiler errors and warnings in Visual Studio 2005
<<less
Download (1.2MB)
Added: 2006-05-20 License: GPL (GNU General Public License) Price:
1253 downloads
Q-Graph 1.4

Q-Graph 1.4


Q-Graph is a collection of Q scripts that provide a graph data structure and a full-featured graph editor. more>>
Q-Graph is a collection of Q scripts that provide a graph data structure and a full-featured graph editor (the latter requires Tcl/Tk).

Q-Graph library can be used to implement and test graph algorithms using the Q language.

Q is a functional programming language based on term rewriting. Thus, a Q program or "script" is simply a collection of equations which are used to evaluate expressions in a symbolic fashion.

The equations establish algebraic identities and are interpreted as rewriting rules in order to reduce expressions to "normal forms".

For instance, here is how you define a function sqr which squares its argument by multiplying it with itself:
sqr X = X*X;

Note that, as in Prolog, capitalized identifiers are used to indicate the variables in an equation, which are bound to the actual values when an equation is applied. Equations may also include a condition part, as in the following definition of the factorial function:

fact N = N*fact (N-1) if N>0;
= 1 otherwise;

Functions on structured arguments are defined by "pattern matching". E.g., the product of a list (denoted in Prolog-like syntax) can be computed with these two equations:

prod [] = 1;
prod [X|Xs] = X*prod Xs;

With this definition, the factorial can now also be defined as follows (the notation [1..N], as in Haskell, denotes an arithmetic sequence):

fact N = prod [1..N];

As you can see, the definitions are really just like mathematical equations. The syntax is superficially similar to other modern functional languages like Miranda and Haskell, except that Q is "free-format", i.e., it does not use layout to indicate syntactical structure (thus the semicolon is used to terminate an equation).

Due to its term rewriting heritage, Q goes well beyond most other functional languages in that it also allows you to perform computations with symbolic expressions. For instance, with the definition of the sqr function from above, you will find that sqr (X+1) evaluates to (X+1)*(X+1). This might first look like an arcane feature, but it is actually quite useful, because you can try your definitions with symbolic inputs, too.
<<less
Download (0.085MB)
Added: 2006-02-09 License: GPL (GNU General Public License) Price:
1352 downloads
XmGraph 2.1

XmGraph 2.1


XmGraph is a package containing two widgets: XmGraph and XmArc. more>>
XmGraph is a package containing two widgets: XmGraph and XmArc. XmGraph is the container, and XmArc widgets are displayed on it. The widgets provide the application developer with the ability to display any group of widgets as a graph, with each widget representing a node.
We here at SESD have been using the graph widget for about a year and a half in our testing tools for Softbench. We have found several bugs in the graph widget. Some have been fixed through code changes, others we haveworked around. Here are our work arounds:
Arcs with a slope of -1 and a width of 0 are not drawn. The work around is to put a blank label on each arc.Backgound pixmaps on the graph widget do not get refreshed when
an arc is moved. This is unfortunate since you cant distinguish selected arcs from unselected arcs on a black and white display. We dont use a background pixmap on the graph widget. In cxxdev,CLL added a callback to make the selected arc wider.
The automatic scroll bars do not come and go properly. We force the scroll bars to always be present. The X server gives a bad value error if you try to create a window that is larger than ~16K pixels in either direction. This has only been a problem for us since switching to HP-UX 8.0. Under 7.0 we could make windows that were about 32K pixels and if we made our graph bigger than that the nodes would wrap around. We have changed our layout algorithm to automatically wrap our graphs to fit in the new 16K pixel limit. Our layout algorithm is separate fromthe graph widget.
The graph widget can core dump the 8.0 X server when drawing long zero width lines that are nearly vertical or nearly horizontal. Make sure you have the X server patches from this past November.
All of our code chages have been given to Thuan either directly (today) or through CLL.
Enhancements:
- I added one more fix to Arc.c. The "if" statement allows a background pixmap to be used with the graph widget. I fixed this so the graphic front end to softstatic will be usable on a monochrome display. To see the error that this corrects run:
-
- ./sort -xrm "*XmGraph.backgroundPixmap:25_foreground" 17
-
- Then move some of the nodes around. With this patch the old arcs are correctly erased.
<<less
Download (0.26MB)
Added: 2006-07-17 License: Freeware Price:
1195 downloads
Graph::Flowchart 0.10

Graph::Flowchart 0.10


Graph::Flowchart is a Perl module that can generate easily flowcharts as Graph::Easy objects. more>>
Graph::Flowchart is a Perl module that can generate easily flowcharts as Graph::Easy objects.

SYNOPSIS

use Graph::Flowchart;

my $flow = Graph::Flowchart->new();

print $flow->as_ascii();

This module lets you easily create flowcharts as Graph::Easy objects. This means you can output your flowchart as HTML, ASCII, Boxart (unicode drawing) or SVG.

Classes

The nodes constructed by the various add_* methods will set the subclass of the node according to the following list:

start

The start block.

end

The end block, created by finish().

block

Orindary code blocks, f.i. from $b = 9;.

if, for, while, until

Blocks for the various constructs for conditional and loop constructs.

sub

For sub routine declarations.

use

For use, no and require statements.

goto, break, return, next, last, continue

Blocks for the various constructs for jumps/returns.

true, false, goto, call, return, break, next, continue

Classes for edges of the true and false if-branches, and for goto, as well as sub routine calls.

Each class will get some default attributes, like if constructs having a diamond-shape.

You can override the graph appearance most easily by changing the (sub)-class attributes:

my $chart = Graph::Flowchart->new();

$chart->add_block($a = 9;);
$chart->add_if_then($a == 9;, $b = 1;);
$chart->finish();

my $graph = $chart->as_graph();

Now $graph is a Graph::Easy object and you can manipulate the class attributes like so:

$graph->set_attribute(node.if, fill, red);
$graph->set_attribute(edge.true, color, green);
print $graph->as_html_file();

This will color all conditional blocks red, and edges that represent the true branch green.

<<less
Download (0.034MB)
Added: 2007-07-06 License: Perl Artistic License Price:
845 downloads
B::Graph 0.51

B::Graph 0.51


B::Graph is a Perl compiler backend to produce graphs of OP trees. more>>
B::Graph is a Perl compiler backend to produce graphs of OP trees.

SYNOPSIS

perl -MO=Graph,-text prog.pl >graph.txt

perl -MO=Graph,-vcg prog.pl >graph.vcg
xvcg graph.vcg

perl -MO=Graph,-dot prog.pl | dot -Tps >graph.ps

This module is a backend to the perl compiler (B::*) which, instead of outputting bytecode or C based on perls compiled version of a program, writes descriptions in graph-description languages specifying graphs that show the programs structure. It currently generates descriptions for the VCG tool (http://www.cs.uni-sb.de/RW/users/sander/html/gsvcg1.html) and Dot (part of the graph visualization toolkit from AT&T: http://www.research.att.com/sw/tools/graphviz/). It also can produce plain text output (which is more useful for debugging the module itself than anything else, though you might be able to make cut the nodes out and make a mobile or something similar).

OPTIONS

Like any other compiler backend, this module needs to be invoked using the O module to run correctly:

perl -MO=Graph,-opt,-opt,-opt program.pl
OR
perl -MO=Graph,-opt,obj -e BEGIN {$obj = ["hi"]}; print $obj
OR EVEN
perl -e use O qw(Graph -opt obj obj); print "hi!n";

Obj is the name of a perl variable whose contents will be examined. It cant be a my() variable, and it shouldnt have a prefix symbol ($@^*), though you can specify a package -- the name will be used to look up a GV, whose various fields will lead to the scalar, array, and other values that correspond to the named variable. If no object is specified, the whole main program, including the CV that points to its pad, will be displayed.

Each of the the opts can come from one of the following (each set is mutually exclusive; case and underscores are insignificant):

-text, -vcg, -dot

Produce output of the appropriate type. The default is -text, which isnt useful for much of anything (it does draw some nice ASCII boxes, though).

-addrs, -no_addrs

Each of the nodes on the graph produced corresponds to a C structure that has an address and includes pointers to other structures. The module uses these addresses to decide how to draw edges, but it makes the graph more compact if they arent printed. The default is -no_addrs.

-compile_order, -run_order

The collection of OPs that perl compiles a script into has two different layers of structure. It has a tree structure which corresponds roughly to the synactic nesting of constructs in the source text, and a roughly linked-list representation, essentially a postorder traversal of this tree, which is used at runtime to decide what to do next. The graph can be drawn to emphasize one structure or the other. The former, compile_order, is the default, as it tends to lead to graphs with aspect ratios close to those of standard paper.

-SVs, -no_SVs

If OPs represent a programs compiled code, SVs represent its data. This includes literal numbers and strings (IVs, NVs, PVs, PVIVs, and PVNVs), regular arrays, hashes, and references (AVs, HVs, and RVs), but also the structures that correspond to individual variables (special HVs for symbol tables and GVs to represent values within them, and special AVs that hold my() variables (as well as compiler temporaries)), structures that keep track of code (CVs), and a variety of others. The default is to display all these too, to give a complete picture, but if you arent in a holistic mood, you can make them disappear.

-ellipses, -rhombs

The module tries to give the nodes representing SVs a different shape from those of OPs. OPs are usually rectangular, so two obvious shapes for SVs are ellipses and rhombuses (stretched diamonds). This option currently only makes a difference for VCG (ellipse is the default).

-stashes, -no_stashes

The hashes that perl uses to represent symbol tables are called stashes. Since every GV has a pointer back to its stash, its virtually inevitable for the links in a graph to lead to the main stash. Unfortunately stashes, especially the main one, can be quite big, and lead to forests of other structures -- theres one GV and another SV for each magic variable, plus all of @INC and %ENV, and so on. To prevent information overload, then, the display of stashes is disabled by default.

-fileGVs, -no_fileGVs

Another kind graph element that can be annoying are the pointers from every GV and COP (a kind of OP that occurs for every statement) to the GV that represents the file from which that code came (used for error messages). By default, these links arent shown, to keep them from cluttering the graph. Also, perls internal interfaces changed in a recent version, so in perl 5.005_63 or later you cant see the fileGVs at all.

-SEQs, -no_SEQs

As it is visited in the peephole optimization phase, each OP gets a sequence number, which is currently used by anything (except the peephole optimizer, to avoid visiting OPs twice). If you want to see these, ask for them. (COPs have their own sequence numbers too, but theyre more interesting to look at -- for instance, theyre used to bound the lifetimes of lexicals).

-types, -no_types

B::Graph always gives the type of each OP symbolically (entersub), but it can also print the numeric value of the type field, if you want. The default is no_types.

-float, -no_float

Almost every OP has an op_next and an op_sibling pointer, and B::Graph colors them distinctively (pink and light blue, respectively). Because of this, it isnt strictly necessary to anchor the arrow on a line in the OPs box saying op_next. The float option lets the graph layout engine start these arrows wherever it wants, which can sometimes lead to a more pleasing layout, at the expense of being less obvious. The default is not to float.

-targlinks, -no_targlinks

Lexical (my()) variables and temporary values used by individual OPs are stored in pads, per-code arrays linked to the CV. OPs store indexes into these arrays in the op_targ field, but B::Graph can often also draw links directly from the OP to the SV that stores the name of the variable. These links dont correspond to any real pointers, however, and they can make the graph more complicated, so they are disabled by default.

<<less
Download (0.012MB)
Added: 2007-06-26 License: Perl Artistic License Price:
851 downloads
Graphviz 2.8-1

Graphviz 2.8-1


Graphviz - Graph visualization is a way of representing structural information as diagrams of abstract graphs and networks. more>>
Graphviz - Graph visualization is a way of representing structural information as diagrams of abstract graphs and networks. Automatic graph drawing has many important applications in software engineering, database and web design, networking, and in visual interfaces for many other domains.

Graphviz is open source graph visualization software. It has several main graph layout programs. See the gallery for some sample layouts. It also has web and interactive graphical interfaces, and auxiliary tools, libraries, and language bindings.

The Graphviz layout programs take descriptions of graphs in a simple text language, and make diagrams in several useful formats such as images and SVG for web pages, Postscript for inclusion in PDF or other documents; or display in an interactive graph browser. (Graphviz also supports GXL, an XML dialect.)

Graphviz has many useful features for concrete diagrams, such as options for colors, fonts, tabular node layouts, line styles, hyperlinks, and custom shapes.

In practice, graphs are usually generated from an external data sources, but they can also be created and edited manually, either as raw text files or within a graphical editor. (Graphviz was not intended to be a Visio replacement, so it is probably frustrating to try to use it that way.)
<<less
Download (1.2MB)
Added: 2006-05-24 License: GPL (GNU General Public License) Price:
1280 downloads
 
Other version of Graphviz
GraphViz 2.02The GraphViz tools provide automatic graph layout and drawing. This module simplifies the creation of graphs and hides some of the complexity of the GraphViz module. Laying out graphs in an
License:Perl Artistic License
Download (0.082MB)
908 downloads
Added: 2007-05-15
ibargraph 0.2

ibargraph 0.2


ibargraph provides a tool which shows the throughput on an ISDN line as a bar graph. more>>
ibargraph provides a tool which shows the throughput on an ISDN line as a bar graph.

This program shows the current throughput on an ISDN line as LED bar graph with LCDProc. Currently, this feature is only supported via the HD44780 extended display driver connect with the LCDTime wiring.

<<less
Download (0.008MB)
Added: 2007-04-24 License: GPL (GNU General Public License) Price:
913 downloads
GD::Graph::colour 1.44

GD::Graph::colour 1.44


GD::Graph::colour contains colour manipulation routines for use with GD::Graph. more>>
GD::Graph::colour contains colour manipulation routines for use with GD::Graph.

SYNOPSIS

use GD::Graph::colour qw(:colours :lists :files :convert);

The GD::Graph::colour package provides a few routines to work with colours. The functionality of this package is mainly defined by what is needed, now and historically, by the GD::Graph modules.

FUNCTIONS

colour_list( number of colours )

Returns a list of number of colours colour names known to the package. Exported with the :lists tag.

sorted_colour_list( number of colours )

Returns a list of number of colours colour names known to the package, sorted by luminance or hue. NB. Right now it always sorts by luminance. Will add an option in a later stage to decide sorting method at run time. Exported with the :lists tag.

_rgb( colour name )

Returns a list of the RGB values of colour name. if the colour name is a string of the form that is acceptable to the hex2rgb sub, then the colour will be added to the list dynamically. Exported with the :colours tag.

_hue( R,G,B )

Returns the hue of the colour with the specified RGB values. Exported with the :colours tag.

_luminance( R,G,B )

Returns the luminance of the colour with the specified RGB values. Exported with the :colours tag.

add_colour(colourname => [$r, $g, $b]) or add_colour(#7fe310)

Self-explanatory. Exported with the :colours tag.

rgb2hex($red, $green, $blue)
hex2rgb(#7fe310)

These functions translate a list of RGB values into a hexadecimal string, as is commonly used in HTML and the Image::Magick API, and vice versa. Exported with the :convert tag.

read_rgb( file name )

Reads in colours from a rgb file as used by the X11 system.
Doing something like:

use GD::Graph::bars;
use GD::Graph::colour;

GD::Graph::colour::read_rgb("rgb.txt") or die "cannot read colours";

Will allow you to use any colours defined in rgb.txt in your graph. Exported with the :files tag.

<<less
Download (0.15MB)
Added: 2007-08-07 License: Perl Artistic License Price:
808 downloads
graph-tool 0.9

graph-tool 0.9


graph-tool is a program to help with statistical analysis of graphs. more>>
graph-tool project is a program to help with statistical analysis of graphs.
Main features:
- support for directed and undirected graphs
- support for arbitrary vertex or edge properties
- generic filtering of edges and vertices
- several statistical measurements:
- degree (or scalar property) histogram
- vertex-vertex degree (or scalar property) correlation
- average nearest neighbours degree (or scalar property)
- vertex-edge-vertex correlation
- clustering coefficients
- assortativity coefficient
- average distance
- component statistics
- generation of random graphs with arbitrary degree distribution and degree correlation
- graph history measurement based on filtering
- support for graphml and dot file formats
The core algorithms are written in C++, making use of the Boost Graph Library, and template metaprogramming techniques, with performace in mind. The command line interface and other outlying code are written in python.
<<less
Download (0.27MB)
Added: 2006-08-08 License: GPL (GNU General Public License) Price:
1178 downloads
GOBLIN Graph Library 2.8b17

GOBLIN Graph Library 2.8b17


GOBLIN is a C++ class library focussed on graph optimization and network programming problems. more>>
GOBLIN is a C++ class library focussed on graph optimization and network programming problems. GOBLIN Graph Library deals with all of the standard graph optimization problems discussed by textbooks and in courses on combinatorial optimization.
This software package also consists of a shell interpreter which extends the well-known Tcl/Tk language to graph objects and a graph browser and editor tool. Executable solvers are available for practical optimization problems. The graph browser applies for teaching and scientific documentation purposes.
GOBLIN is open source software and licenced by the GNU Lesser Public License (LGPL). That is, GOBLIN may be downloaded, compiled and used for scientific, educational and other purposes free of charge. For details, in particular the statements about redistribution and changes of the source code, observe the LGPL document which is attached to the package.
Main features:
- The gosh interpreter extends the Tcl/Tk scripting language to graph objects in a natural way.
- The goblet graph browser and editor tool. Graphical front end to the library.
- An open class hierarchy which strictly separates between abstract classes (all mathematical algorithms are defined as methods of abstract classes), implementations (i.e. by incidence lists, adjacency matrices) and logical views (problem transformations).
- A generic branch and bound module with several applications to graph optimization.
- Logging and tracing functionality which allows to study the various algorithms by examples.
- A runtime configuration module controls the selection of mathemetical methods, logging information, and the tracing of data objects.
- Compile time configuration module for code optimization.
- A file interface which can be easily extended to new problem classes.
- Source code for executable solver programs.
Today, GOBLIN provides strongly polynomial algorithms for the following graph optimization problems:
- Shortest paths in graphs and digraphs with negative lengths.
- Negative cycles and minimum mean cycles.
- Strong and 2-connected components.
- Minimum spanning trees, arborescences and 1-trees.
- Maximum st-flows, feasible circulations and b-flows.
- Min-cost st-flows, b-flows and circulations.
- Assignment problems of any kind.
- 1-matchings, b-matchings, capacitated b-matchings, f-factors and degree-constrained subgraphs.
- Directed and undirected Chinese postman problems, T-joins.
Enhancements:
- This release comes with explicit code for orthogonal drawing of trees.
- There are also new generator methods for regular planara graphs.
- A lot of doxygen comments has been added, but dexcription are still far from complete.
<<less
Download (1.3MB)
Added: 2007-07-30 License: LGPL (GNU Lesser General Public License) Price:
818 downloads
JGraph 5.9.2.0

JGraph 5.9.2.0


JGraph is the leading Open Source Java Graph Visualization Library. It follows Swing design patterns to provide an API familiar to Swing programmers and functionality that provides a range of features. Graph visualization is a central requirement for applications such as workflow editors, computer and telecommunication networks display, flowcharts, VLSI and CAD, business process modeling, organizational charts, entity-relationship diagrams... more>>

JGraph - JGraph is the leading Open Source Java Graph Visualization Library. It follows Swing design patterns to provide an API familiar to Swing programmers and functionality that provides a range of features. Graph visualization is a central requirement for applications such as workflow editors, computer and telecommunication networks display, flowcharts, VLSI and CAD, business process modeling, organizational charts, entity-relationship and cause and effect diagrams, and much more.

The core JGraph library provides all the features required in a graph visualization library. Built on top of the core are JGraph Layout Pro and JGraphpad Pro. JGraph Layout Pro provides graph layouts that automatically position your nodes. There is a hierarchical layout for workflows, tree layouts for organization charts and so on. JGraphpad Pro is a complete application framework that enables you to rapidly prototype your application, dramatically reducing your time to market for your product.


Enhancements:
Version 5.9.2.0

General bug fixing


System Requirements:
<<less
Download (136.7Kb)
Added: 2006-09-01 License: Free Price: Free
13 downloads
 
Other version of JGraph
JGraph 5.10.1.4View Attributes: Separate Attributes for each attached View - Graph Layout: Easy Integration of Custom Algorithms - Ports: Floating Connection Points for Vertices - Graph Layout: Easy Integration
Price: $99
License:LGPL (GNU Lesser General Public License)
Download (0.96MB)
819 downloads
Added: 2007-08-01
Graph-includes 0.11

Graph-includes 0.11


Graph-includes creates a graph of dependencies between source files and/or groups of source files. more>>
Graph-includes creates a graph of dependencies between source files and/or groups of source files, with an emphasis on getting readable and usable graphs even for large projects.
Graph-includes project is meant to be an helper tool for a refactoring effort. Usability of the dependency graphs are currently improved by customizable grouping of several source files into a single node, and transitive reduction of the graph.
Enhancements:
- Ported to non-Unix platforms (tested on Windows).
- This release has finally implemented/fixed node group coloring.
- A default path for system-includes lookup has been added.
<<less
Download (0.020MB)
Added: 2005-12-07 License: GPL (GNU General Public License) Price:
1416 downloads
SVG::Graph 0.01

SVG::Graph 0.01


SVG::Graph is a Perl module to visualize your data in Scalable Vector Graphics (SVG) format. more>>
SVG::Graph is a Perl module to visualize your data in Scalable Vector Graphics (SVG) format.

SYNOPSIS

use SVG::Graph;
use SVG::Graph::Data;
use SVG::Graph::Data::Datum;

#create a new SVG document to plot in...
my $graph = SVG::Graph->new(width=>600,height=>600,margin=>30);

#and create a frame to hold the data/glyphs
my $frame = $graph->add_frame;

#lets plot y = x^2
my @data = map {SVG::Graph::Data::Datum->new(x=>$_,y=>$_^2)}
(1,2,3,4,5);
my $data = SVG::Graph::Data->new(data => @data);

#put the xy data into the frame
$frame->add_data($data);

#add some glyphs to apply to the data in the frame
$frame->add_glyph(axis, #add an axis glyph
x_absolute_ticks => 1, #with ticks every one
#unit on the x axis
y_absolute_ticks => 1, #and ticks every one
#unit on the y axis

stroke => black, #draw the axis black
stroke-width => 2, #and 2px thick
);

$frame->add_glyph(scatter, #add a scatterplot glyph
stroke => red, #the dots will be outlined
#in red,
fill => red, #filled red,
fill-opacity => 0.5, #and 50% opaque
);

#print the graphic
print $graph->draw;

SVG::Graph is a suite of perl modules for plotting data. SVG::Graph currently supports plots of one-, two- and three-dimensional data, as well as N-ary rooted trees. Data may be represented as:

Glyph Name Dimensionality supported
1d 2d 3d tree
--------------------------------------------------------
Axis x
Bar Graph x
Bubble Plot x
Heatmap Graph x
Line Graph x
Pie Graph x
Scatter Plot x
Spline Graph x
Tree x

SVG::Graph 0.01 is a pre-alpha release. Keep in mind that many of the glyphs are not very robust.

<<less
Download (0.086MB)
Added: 2006-08-29 License: Perl Artistic License Price:
1155 downloads
Squid Graph 3.2

Squid Graph 3.2


Squid Graph is a Squid logfile analyzer and traffic grapher. more>>
Squid Graph is a free, simple, yet powerful Squid v2 native logfile analysis tool that generates reports with graphical representation of the proxy servers traffic.
Squid Graph is distributed under the GNU General Public Licence (GPL), which means it is FREE FOR USE AND DISTRIBUTION.
Squid Graph was developed using the Linux operating system running kernel versions ranging from 2.2.x to 2.4.x with PERL 5.6.0. It should work on all other similar operating systems with PERL 5.6 and above installed.
Some platforms which have been reported to run Squid Graph successfully are FreeBSD, OpenBSD, Sun Solaris and most Linux kernel versions and distributions.
Enhancements:
- No algorithm changes, mostly changes to contact information etc. due to hand-over of project to SecurLogic.
Installation:
Extracting the Tarball
- Extract the Squid Graph tarball file after you have downloaded it. Those with Redhat Linux (or other similar distributions) can do this: -
$ tar -zxvf squid-graph-x.x.tar.gz
- Alternatively, those with UNIX-like operating systems can do this: -
$ zcat squid-graph-x.x.tar.gz | tar -xvf -
Gathering the Pre-requisites
- As of version 3.0, Squid Graph requires the GD perl module. You can download it from http://stein.cshl.org/WWW/software/GD/ or you can use the included GD-1.3.3.tar.gz file in the extras/ directory.
- Follow the intructions in the GD perl module to get it installed correctly before you proceed.
Compiling
- Squid Graph runs out of the box. You dont have to compile it.
Putting it in the Right Place
- You might not prefer to have Squid Graph lying around in your current directory, so you should just move it to a directory which makes sense, such as /usr/local/squid-graph. e.g.
$ mv squid-graph-x.x /usr/local/squid-graph
Runing Squid Graph:
Quickstart
First, get yourself into the bin/ directory, for example: -
$ cd /usr/local/squid-graph/bin
Next, you run Squid Graph with the default options. The bare minimum for Squid Graph to run is the --output-dir option. The output directory is where the generated HTML reports and image files would be written.
$ ./squid-graph --output-dir=/var/www/html/reports < /usr/local/squid/logs/access.log
NOTE: Please check your directory permissions of your output directory!
Usually you would want the output to be generated into a directory which your web server is configured with access to. In the above example, /usr/local/squid/logs/access.log is your Squid logfile.
Where you store your Squid logfile differs from system to system. For default Redhat Linux installations, it should be in /log/squid/access.log. For those who compiled and installed Squid with the default options, it should be in /usr/local/squid/logs/access.log.
Removing the TCP or UDP Graphs
Most of you wont use cache ICP or log cache ICP, so there wont be any UDP messages in your logfiles. Disabling UDP is a good idea. You can do this by specifying the --tcp-only command line option.
$ ./squid-graph --tcp-only --output-dir=/var/www/re...
Likewise, if you only want to see UDP statistics, you can specify the --udp-only option.
$ ./squid-graph --udp-only --output-dir=/var/www/re...
Generating Cumulative Graphs
As of version 3.0, Squid Graph comes with a new feature to generage cumulative curves instead of the normal graphs. This can be done by specifying the --cumulative option.
$ ./squid-graph --cumulative --tcp-only --output-dir=/var/www/re...
To have a better understanding of what cumulative curves are, take a look at the output examples. Do note that enabling cumulative graphs disables the Average Transfer Duration graph automatically.
Disabling Average Transfer Duration Graphs
You can disable the Average Transfer Duration Graph by specifying the --no-transfer-duration option.
$ ./squid-graph --no-transfer-duration --output-dir=/var/www/re...
Specifying the Start/End Time
By default, Squid Graph generates reports based on the current time. It starts analyzing from 24 hours before the current time until the current time. Sometimes we cycle logfiles so it is necessary to specify when you want Squid Graph to start looking at your log files. This is done by specifying the --start option.
$ ./squid-graph --start=991353612 --output-dir=/var/www/re...
Likewise, you can specify the end time and Squid will automatically calculate the start time for you. This is done by specifying the --end command line option.
$ ./squid-graph --end=991352122 --output-dir=/var/www/re...
To get the last line of the Squid logfile, simply use tail -n1 logfile.log
Note that the start value is a numerical value which represents the number of seconds since 1970, NOT the conventional hh:mm:ss dd/mm/yyyy format. The reason why we did this is because Squid logs its time in this format, and we can easily use head -n1 logfile.log to view the first line of the log file to determine the start time.
Enhancements:
- Updated links after moving project to Sourceforge
- Updated links to incorrect GPL license in documentation
- Updated links to outdated GD Perl module
- Simplified package directory structure and removed old files
- No algorithm / logic changes
<<less
Download (0.020MB)
Added: 2006-10-02 License: GPL (GNU General Public License) Price:
1130 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5