C++ API Reference

This section contains the C++ API documentation for dftracer utilities.

Note

The C++ API documentation is generated using Doxygen and Breathe. Make sure to run Doxygen before building the documentation.

C++ Components:

Overview

The dftracer utilities C++ library is organized into several namespaces:

  • dftracer::utils::core - Core utilities and data structures

  • dftracer::utils::reader - Trace file reading

  • dftracer::utils::indexer - Indexing capabilities

  • dftracer::utils::pipeline - Processing pipelines

  • dftracer::utils::coro - C++20 coroutine primitives

  • dftracer::utils::task_graph - DAG-based task graph builder

  • dftracer::utils::utilities - Composable processing utilities

  • dftracer::utils::io - Async I/O backends (io_uring, kqueue, thread pool)

  • dftracer::utils::utilities::composites::dft::aggregators - Event aggregation pipeline

  • dftracer::utils::utilities::composites::dft::indexing - Bloom filter indexing system

  • dftracer::utils::utilities::common::arrow - Arrow data interchange (RecordBatchBuilder, IpcWriter)

        graph TB
    subgraph Core["dftracer::utils (Core)"]
        Pipeline["Pipeline"]
        Executor["Executor"]
        Scheduler["Scheduler"]
        Watchdog["Watchdog"]
        TimerService["TimerService"]
    end

    subgraph Coro["dftracer::utils::coro"]
        CoroTask["CoroTask<T>"]
        Channel["Channel<T>"]
        Generator["Generator<T>"]
        CoroScope["CoroScope"]
    end

    subgraph IO["dftracer::utils::io"]
        IoBackend["IoBackend"]
        IoAwaitable["IoAwaitable"]
    end

    subgraph Utilities["dftracer::utils::utilities"]
        Reader["Reader"]
        Indexer["Indexer"]
        Compression["Compression"]
        Hash["Hash"]
        FileIO["FileIO"]
        Text["Text"]
        Filesystem["Filesystem"]
        Statistics["Statistics"]
        Arrow["Arrow"]
    end

    subgraph DFT["dftracer::utils::composites::dft"]
        Aggregators["Aggregators"]
        Indexing["Indexing"]
        Views["Views"]
        CallTree["Call Tree"]
    end

    subgraph TaskGraph["dftracer::utils::task_graph"]
        TG["TaskGraph"]
        TGrp["TaskGroup"]
    end

    TG --> Pipeline
    Pipeline --> Executor
    Pipeline --> Scheduler
    Executor --> IoBackend
    Executor --> CoroTask
    Watchdog --> Executor
    TimerService --> Executor
    DFT --> Utilities
    Aggregators --> Channel
    Indexing --> Channel
    

Main Classes

See the individual component pages above for detailed API documentation.