Software tracing provides developers with information that is useful for troubleshooting. This information is used both during the development cycles and after the software is released.
flux trace is a multi-functional open-source waveform/trace format targeted at semiconductor and embedded multicore system applications. The trace data is packed into a binary format and allows scalable compression.
Creating log and trace data for embedded or web-based applications
Multilingual trace emitters enable the generation of uniform traces, logs, statistical and simulation data in multi-language projects.
Generating packed analog and digital simulation data with scalable compression.
flux is a dense binary format, suitable for analog and digital simulation. Optionally you can use compression to additionally pack the signal data.
The support of files and data streams such as TCP or UDP enables various applications.
Multi-core
flux is designed for large scale multi-core architectures. traces from different cores or devices can be merged and synchronized.
Scalable Compression
flux is a dense binary format. Optionally you can use compression to additionally pack the signal data.
Multi-functional
Using flux, you can trace events, store analog and digital signal waveforms, log registers and variable values and forward messages in any form and structure.
Variable buffer management
Buffers define how to keep and handle trace data within your application. You may use existing buffer types (ring buffer, simple buffer) or define your own one.
Multi-language
Trace emitters for Java, Python, C/C++, JS and Typescript available.
Generic concept
You can derive your own custom trace format based on flux by adding a specific structure and semantics.
Stream trace to file, tcp, udp or custom streams
Buffer handlers are available for streaming data into files, over TCP or UDP. Custom handlers allow any other type of streaming.
Supporting wide range of datra types
Whether integer data of any length, arrays, logic vectors or structures. flux trace has the means to package your information.
Multi-domain
You can transmit data over time or other domains like frequency, index, or using a second independend time domain (scope).
Java
simpleC
Python
TypeScript
JavaScript
Signal Data
Numerical signals (Integer, Float) and Events (Enumeration)
Textual and Binary data (e.g. Images)
Logic bits and vectors (e.g. Verilog)
Numerical and Enumeration Arrays
Text Arrays
Structured data)
Only Numerical, Enumeration, Text and Binary members
Buffer and Handler
Extendable Buffers
File handler
TCP handler
prep
prep
prep
UDP handler
prep
prep
prep
prep
Other features
Multi domain
Scalable Compression
ZLIB, GZIP
LZ4, FastLZ
ZLIB
prep
prep
Selected Resources
F001 FluxConcept
flux trace format is an open waveform/trace format targeting semiconductor and multi-core embedded system use-cases. The trace data is packed into a binary format and allows scalable compression...