TimeToPic Logger help
Quick start with example application
Examples here done with Windows version. They should work same way on Linux too.
1. Start all TimeToPic bundle applications (TimeToPic, TimeToPic Logger and TtpLoggerExample). You may need allow network connections those apps on your anti-virus app.
2. Move mouse on example application area. You should see traces coming to Logger UI.
3. That's it!
TimeToPic Logger basically logs ASCII stream to file on disk. Application acts as server that client will send log data. When logger is started it starts listening a defined set of ports for connections. Once connection is received, incoming data is displayed and written to log. If incoming log stream is following TimeToPic log format, those elements are automatically analysed and shown on display. Most functions are behind one mouse click.
The most relevant feature you should be aware of are:
- Multisocket logging: N-clients can send stream to logger. Traces are ordered by their timestamps. There are a small timewindow (1 second + connection count * 1 sec) that allow difference of senders clocks
- Console logging: You can pipe console output if you start logger from command line... "dir | timetopiclogger mode=stdin" (logger should be on path)
- Pause on logging stream by button or by pressing pause key. Data keeps logging to disk while display paused.
- Various filters for limiting display content
- TimeToPic primiting support (event, state and valueabs) for various tasks (such as variable view and graph analysis)
For graph tool usage, please check documentation from "Using graph analysis" section.
Settings are simple. You can setup default logging directory, listening ports and suffix setting when using multi connection logging. TimeToPic logger will use log name rotation log1.txt ... log10.txt .. log1.txt. User cannot specify log name.
Logline view colors explained
New burst of traces & new trace
Clicking variable view
Clicking traces on logline view
User can right click log lines on logline view. If there is suitable word (split by separator character such as ';' ':' ..), it will be highlighted with blue color. Second right mouse click will remove highlight.
Markers are useful for highlighting test phases to log. Before test, click marker and do test. When finish, click marker again. Then repeat test..
Typing filter to free mode filter input
Dragging variable view item to free mode filter input
Building filter using filter builder
Using state machine visualization
Logging from multiple connections
Start logger normally. Then start clients that connects to logger and start sending data.
Word about timestamps
Each client time-stamp format should be same.
Each client clock should be within 1 second. If one client clock is too much late, its traces will be dropped. If one client clock is too much ahead, it will cause that other clients clocks are "too old" and their traces will be dropped.
Logging from console
To make integration to other logging systems as easy as possible, it is possible log stdio stream too from console.
Controlling TimeToPic from logger
Open both TimeToPic and TimeToPic logger. Whenever you want TimeToPic picture updated, press load button from Logger bottom right. Logger also ask TimeToPic load log when it is closed (for example connection to target is closed).
Compare mode compares TimeToPic items to selected time position. User clicks compare button and then compare starts. Compare values are shown variable view real time. This would be useful when testing something and you compare values between tests.
Logger control keywords
Control logger behavior using log magic words
TimeToPic logger checks some special words from log stream in order to control its internal operation
When TimeToPic logger detects word ”
TimeToPicloggerClear” in stream it resets variable and logline views and starts new log file. This is useful when system boots or desired use case starts.
When TimeToPic logger detects word ”
TimeToPicloggerStartNewCompare” in stream it will start compare mode for items in variable view. This is useful when user wants compare variable values when executing same test case over and over.
Limitations of logger
Current version of logger can process data about 1Mbyte/s (1000Kbyte/s) sec (Intel I7-2600k @ 16GB RAM). Peak values can be higher. This is mainly analytics performed for each trace.