Baical is free high-performance tools set for sending and receiving traces & telemetry and log messages from your software and drivers.

Project components:

  • Baical - server application for receiving, storing, viewing and managing telemetry & trace data
  • P7 - open source, cross-platform, high-speed library for sending logs, telemetry & trace data from your application. (C/C++/C#/Python)
  • Angara - ETW message consumer (TraceView replacement), receives traces from your windows driver or application on local PC and pass them to Baical server over network.


Data centralization

Baical provides for sofware engineers and engineers in test a flexible and comfortable way to receive, process and view traces, logs and telemetry from multiple systems in real-time.


Baical server is designed with thoughts of modularity. All components, except core, are plugins.

There are 4 plugins groups:

  • Providers - plugins are in charge of receiving and demultiplexing incoming data into separated srteams
  • Processors - plugins are in charge of incoming data analysis in real-time
  • Viewers - plugins are in charge of displaying incoming information in real-time or off-line
  • Storages - plugins are in charge of storing stream data and providing access to data for viewers and processors

Trace and logs viewer

Displaying maximum information for every trace message in real time:

  • Text message
  • Source file name, line number and function name
  • Module ID & name (if it was registered)
  • Level (error, warning, .. etc.)
  • Hight precision time with 100ns accuracy
  • Current thread ID and name (if it was registered)
  • Current processor number
  • Trace ID
  • Sequence Number

Trace viewer main features

  • On-line and off-line streams filtration
  • On-line modules verbosity level management
  • Fast search
  • Flexible export
  • Color schemes
  • Predicates and regular expressions support for next features: search, filter, export, color schemes and highlighting
  • Instant navigation on huge files (gigabytes)

Telemetry viewer

Real time and off-line displaying telemetry information

  • Displaying threads cyclograms, buffers levels, CPU loading, any user values
  • Selecting displaying algo for every counter
  • Enable/disable remote counters in real-time streams
  • Hight precision samples time stamp (100ns)
  • Counters groups
  • Searching engine based on predicates
  • Flexible export to CSV files
  • Hardware accelerated drawing
  • Flexible scaling up to 100ns per pixel
  • Up to 256 counters per stream
  • Instant navigation on huge files (gigabytes)