Posts Tagged ‘chart’

h1

NetDebugLog for Linux, NetDebugPlot update

September 16, 2012

NetDebugLog, the open source C++ client for NetDebugPlot, is now compatible with Linux (tested with Ubuntu 12.04.1 LTS)!

NetDebugPlot also got a major update with a huge performance increase and a few other improvements.

netdebuglog windows linux ubuntu logo

h1

NetDebugPlot: Real-time charts for debugging

September 8, 2012

I just released NetDebugPlot, a tool to debug and visualize program internals. It’s a basic real-time line chart viewer that can get connected to a local or remote program via NetDebugLog.

NetDebugPlot: real-time chart for debugging

Here is the feature list:

  • Real-time line charts
  • Scale time and Y axis with scroll mouse or text boxes
  • Each series has its own color
  • Pause chart (data continues to be received)
  • Save chart to .jpg image
  • Change client’s port number

NetDebugLog is an open source C++ client for NetDebugPlot (GitHub project page). There are 1 .cpp and 1 .h files to include in a project to make it all work. It consists of a TCP client, a couple configuration and logging functions. It’s currently implemented with Winsock and QueryPerformanceCounter (high resolution timer) and could easily be ported to other platforms.

Here is how to use it:

#include <iostream>
#include "NetDebugLog/NetDebugLog.h"

int main(int argc, char* argv[])
{
	static int delay = 33;

	// Those are default
	//SetNetLogIPAddress("127.0.0.1");
	//SetNetLogPort(13000);
	//SetNetLogEnabled(false);

	srand(0);
	while (true)
	{
		float val1 = (float)((rand() % 25)*(rand() % 2 == 0?1:-1));
		float val2 = val1 + (float)(rand() % 25);

		NetLog(val1);
		NetLog("test", val2);

		Sleep(delay);
	}

	return 0;
}

More screenshots with various series and zoom levels / time scales:

NetDebugPlot: real-time chart and data series

NetDebugPlot: real-time chart and zooming screenshot

Download and more info here

h1

MiniPlot and debugging

August 29, 2012

There are tons of function plotters and there is Excel to plot data series but I needed something else so I made MiniPlot.

Instantly plot data with MiniPlot

This software lets you type in or paste any number of data series and generate corresponding line charts on the fly. It’s dead simple to use and there is no button to click to generate charts, it’s instantaneous.

Here is the feature list:

  • Updates as you type
  • Automatically fits all series
  • Auto axis scale with window size
  • Each series has its own color
  • Chart types: line, point, column, area
  • Save chart as .jpg image
  • Copy image to clipboard

I spend a lot of time reading the Visual Studio output window and the lines coming out of logs and tracepoints. But it can be full of other garbage like other log categories that I don’t really want to turn off, or random Visual Studio output about threads, dlls and all.
When I need to visualize my data, I’d copy paste the VS output in a text editor, remove all the garbage and end up with my values properly printed each per line, I’d open up Excel and paste those values, insert a new line chart, and I’d finally have a chart representing my data.

Now, with MiniPlot I just select all the text in the Visual Studio output window and paste it in there and I have my line chart instantly.
Whenever I can I just add tracepoints to the program I’m debugging, put in the textbox something like: playerSpeed {playerSpeed}, and paste the output in MiniPlot (which ignores all the crap that doesn’t match the 2 supported formats to add a point) so I can visualize what’s going on without recompiling my application nor having to use a text editor + Excel.

Series can be displayed as line, point, column or area charts.

MiniPlot chart types (point, line, column, area)

There is no install needed (though you need .NET Framework 3.5), it’s just a 500KB standalone executable.

Download and more info here