go

module
v0.0.0-...-08691da Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 26, 2014 License: Apache-2.0

README

ThinkSeeDo Go Packages

Command line tools are in the cmds directory. Library pacakges are in the current directory.

Motivation

The pipeline viewer plots ephemeral data in real-time from the command line. Pipeline viewer makes one-off system performance visualization simpler. The server requires no setup because all data is kept in memory. The server can receive data from multiple clients, plot multiple axes at once, and display plots for many viewers.

Monitoring services that archive data require additional server setup, and/or storage requirements, and/or use agent protocols that complicate one-time use. The simplest pipeline viewer client is a pipe to netcat.

Install Pipeline Viewer

All command and package sources include any generated sources. So, go get works right away.

go get github.com/stephen-soltesz/go/cmds/lineprobe
go get github.com/stephen-soltesz/go/cmds/lineviewer

Together, these two commands make it easy to view streams of data in real time from the command line.

Lineviewer combines two servers: one to receive data sent by lineprobe and a second to plot and display data over http. Multiple lineprobe clients can connect to a single lineviewer server to plot multiple lines and axes.

Dependencies

To recreate the generated sources, install these dependencies.

GopherJS - translate Go code to javascript.

go get github.com/gopherjs/gopherjs

go-bindata - convert binary assets to Go code to be bundled with Go binaries.

go get github.com/jteeuwen/go-bindata
Example

Pipeline Example

First, start the server:

lineviewer --timestamp

Then run one or more lineprobes.

lineprobe --label "process count" --command "ps ax | wc -l"

And, finally open a browser to:

http://localhost:8080/

See the command help for more examples and options.

Directories

Path Synopsis
cmds
lineprobe
This command is the client portion of the pipeline plotter.
This command is the client portion of the pipeline plotter.
lineviewer
This command is the server portion of the pipeline plotter.
This command is the server portion of the pipeline plotter.
Collection is a container class for organizing raw line coordinate data.
Collection is a container class for organizing raw line coordinate data.
token
This package defines constant tokens for the collection protocol.
This package defines constant tokens for the collection protocol.
Package lineserver provides convenience functions for string-based, line communication between server and client.
Package lineserver provides convenience functions for string-based, line communication between server and client.
Package plotter abstracts the details of other chart packages into a simple interface composed of Figures, Charts, and Data
Package plotter abstracts the details of other chart packages into a simple interface composed of Figures, Charts, and Data

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL