Table of Contents

[ Back to Sprockit home page ]

Sprockit ETL pipeline visualisation

Sprockit's process execution is controlled using resource dependency information stored in tables. This information can be used for other purposes, including the automation of ETL pipeline documentation.

sprockitviz is a Windows command-line application that uses Sprockit dependency metadata and Graphviz1) to generate browseable, click-to-explore pipeline diagrams. sprockitviz is free, open-source and can be downloaded from GitHub as C# source code or a compiled .exe application.

Features

The diagram on the right shows a screenshot of sprockitviz output for the subgraph around Process I in the Sprockit tutorial. Process I is the centre of this subgraph so appears in gold – clicking on another node would take you to the subgraph centred on that one. Processes E and I have a heavier outline, indicating that they are are both executable processes. Hovering over process I has caused a tooltip to display, showing its fully-qualified process name and ID, its type and its average duration.

To see this example in action, have a look at the set of output files generated from the Sprockit tutorial's dependency metadata.

Output .svg files must be viewed in a web browser to enable embedded hyperlink and tooltip functionality to be used.

Getting started

  1. Download and install Graphviz
  2. Download sprockitviz.exe and sprockitviz.exe.config from GitHub
  3. Update sprockitviz.exe.config:

    1. Make sure that the value of graphvizAppFolder matches the location of your Graphviz executables (the folder is the Graphviz subdirectory where you find the dot.exe application):

      <FireFive.PipelineVisualiser.SprockitViz
        graphvizAppFolder="C:\Program Files (x86)\Graphviz2.38\bin"
    2. Add the details of your Sprockit instance in a new <Instance> node inside <SprockitInstances>:

      <Instance
        alias="MySprockitInstance"
        connectionString="Server=MyDbServer;Database=SprockitDb;Trusted_Connection=yes;"
        outputFolder="C:\tmp\sprockitviz"
        maxWidth="4"
        maxHeight="6"
        subgraphRadius="1" >
      </Instance>

    Other configuration options are available but this is enough to get you started. outputFolder is the name of the folder where you want sprockitviz to write its output, and it must exist.

  4. Open a command prompt and run sprockitviz, specifying the value of alias as a parameter (case-sensitive):

    sprockitviz.exe MySprockitInstance

Understanding the output

When sprockitviz finishes executing, you will find a collection of .svg files in the output folder you configured in the outputFolder option. This includes:

Each object file shows the central object, filled in gold, surrounded by objects in its immediate neighbourhood. sprockitviz attempts to determine a useful neighbourhood size by trying to make sure that the resulting graph is not too big, although you can choose to influence this behaviour yourself if you wish.

Nodes

Each node in the graph is displayed using the following conventions:

You can configure database-specific text colours for SQL objects if you wish.

Edges

Interaction

Neighbourhood

The notion of an object's neighbourhood is underpinned by the concept of a subgraph's radius:

Note that the only complete set of dependency information present in a subgraph is that relating to the central (gold-filled) node. Other nodes in a subgraph may show multiple dependencies but these are not necessarily complete. To gain an accurate complete view of dependencies around an object you must consult the subgraph with that object at its centre.

Next steps

You're pretty much there, but you could:

1)
Graphviz is free, open-source graph visualisation software.