zither
Zither is an simple and experimental tool that allows you to easily instrument your code, and react to instrumentation in multiple ways.
Here are some useless examples:
// example.jsvar _ = ;var through = ; var zither = ;var instruments = zither;var instruments2 = zither; var formatForConsole = ; var z1 = ;var z2 = ; // Print all timer events from the zither stream to the consolez1; // Print all events from test.zither input stream to the console in uppercasez2; { var eventCount = 0 totalEvents = 10 work i; for i = 0; i < totalEvents; i++ instruments; instruments2; work = instruments; workstart; ;}
Output:
jirwin@shirley:~/projects/node-zither$ nodejs example.js
FROM INPUT SOURCE TEST.ZITHER: {"NAME":"TEST EVENT","TIMESTAMP":1396648876749,"TYPE":"EVENT","INPUTSOURCE":"TEST.ZITHER"}
FROM INPUT SOURCE TEST.ZITHER: {"NAME":"TEST EVENT","TIMESTAMP":1396648876750,"TYPE":"EVENT","INPUTSOURCE":"TEST.ZITHER"}
FROM INPUT SOURCE TEST.ZITHER: {"NAME":"TEST EVENT","TIMESTAMP":1396648876750,"TYPE":"EVENT","INPUTSOURCE":"TEST.ZITHER"}
FROM INPUT SOURCE TEST.ZITHER: {"NAME":"TEST EVENT","TIMESTAMP":1396648876750,"TYPE":"EVENT","INPUTSOURCE":"TEST.ZITHER"}
FROM INPUT SOURCE TEST.ZITHER: {"NAME":"TEST EVENT","TIMESTAMP":1396648876751,"TYPE":"EVENT","INPUTSOURCE":"TEST.ZITHER"}
FROM INPUT SOURCE TEST.ZITHER: {"NAME":"TEST EVENT","TIMESTAMP":1396648876751,"TYPE":"EVENT","INPUTSOURCE":"TEST.ZITHER"}
FROM INPUT SOURCE TEST.ZITHER: {"NAME":"TEST EVENT","TIMESTAMP":1396648876752,"TYPE":"EVENT","INPUTSOURCE":"TEST.ZITHER"}
FROM INPUT SOURCE TEST.ZITHER: {"NAME":"TEST EVENT","TIMESTAMP":1396648876752,"TYPE":"EVENT","INPUTSOURCE":"TEST.ZITHER"}
FROM INPUT SOURCE TEST.ZITHER: {"NAME":"TEST EVENT","TIMESTAMP":1396648876753,"TYPE":"EVENT","INPUTSOURCE":"TEST.ZITHER"}
FROM INPUT SOURCE TEST.ZITHER: {"NAME":"TEST EVENT","TIMESTAMP":1396648876753,"TYPE":"EVENT","INPUTSOURCE":"TEST.ZITHER"}
from input source test.zither2: {"name":"foo.work.timer","startTime":1396648876753,"endTime":null,"duration":null,"state":"start","type":"timer","inputSource":"test.zither2"}
from input source test.zither2: {"name":"foo.work.timer","startTime":1396648876753,"endTime":1396648877305,"duration":552,"state":"end","type":"timer","inputSource":"test.zither2"}