flux Trace

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.


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.


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.


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.


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...

technical software and tooling


Contact Us

This email address is being protected from spambots. You need JavaScript enabled to view it.