Skip to content

doc: api: add telemetry, logging, probes, and debug streams reference page - #542

Merged
lgirdwood merged 1 commit into
thesofproject:masterfrom
lgirdwood:topic/docs-telemetry-reference
Oct 15, 2026
Merged

lgirdwood merged 1 commit into
thesofproject:masterfrom
lgirdwood:topic/docs-telemetry-reference

Conversation

@lgirdwood

Copy link
Copy Markdown
Member

Summary

Add a dedicated Telemetry, Logging & Probes C API reference page (api/telemetry.rst) and integrate it into api/index.rst.

Architecture & Overview

SOF features a multi-tiered diagnostic and telemetry subsystem. This PR documents the four architectural domains and integrates their Doxygen API definitions via Breathe:

  1. Host DMA Tracing & Dictionary Logging (trace_logging_api):
    • Circular host DMA trace buffers (dma-trace.h), runtime logging filters and dictionary encoder (trace-soflogger.h), boot checkpoint codes (trace-boot.h), and panic crash dumps (ipc/trace.h).
  2. Audio Probes & Stream Tap Points (audio_probe_api):
    • Pipeline buffer extraction and injection probes (probe/probe.h), extraction frame format framing (0xBABEBEBA, ipc/probe_dma_frame.h), and IPC commands (ipc3/probe.h).
  3. Hardware Telemetry & Performance Monitoring (telemetry_perf_api):
    • Real-time CPU cycle accounting and execution metrics (telemetry.h), Memory Window 3 Performance Measurement Window (WIN3_MBASE, ADSP_PMW, performance_monitor.h), and SRAM Window 0 firmware status registers (kernel/mailbox.h).
  4. Abstract Debug Streams & Low-Level Debugging (debug_stream_api):
    • Structured packet framing (DEBUG_STREAM_IDENTIFIER 0x1ED15EED, user/debug_stream.h), Memory Window 2 debug slots (user/debug_stream_slot.h), text debug messages (user/debug_stream_text_msg.h), and GDB target stub (sof/debug/gdb/gdb.h).

Diagrams Included

  • DSP Firmware Trace Pipeline: Flowchart tracking log filtering, trace ring buffer queuing, host stream DMA, and user-space dictionary decoding.
  • Audio Probe Tap Points: Diagram illustrating extraction and injection probe attachments to pipeline interconnect buffers.
  • Shared SRAM Mailbox Layout: Memory map detailing Windows 0 (FSR/Mailbox), 1 (IPC), 2 (Debug Slots & Telemetry), and 3 (Performance Monitoring / PMW).

Verification

… page

Add dedicated Telemetry, Logging & Probes C API reference page (api/telemetry.rst)
and integrate into api/index.rst.

Highlights:
- Document multi-tiered telemetry, logging, audio probes, and debug streams architecture.
- Add ASCII flow diagrams for DSP firmware trace pipeline, audio probe tap points,
  and shared SRAM mailbox memory windows (Window 0-3).
- Integrate Breathe Doxygen groups:
  - trace_logging_api (Host DMA Tracing & Dictionary Logging)
  - audio_probe_api (Audio Probes & Stream Tap Points)
  - telemetry_perf_api (Hardware Telemetry & Performance Monitoring)
  - debug_stream_api (Abstract Debug Streams & Low-Level Debugging)

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
@lgirdwood
lgirdwood force-pushed the topic/docs-telemetry-reference branch from f451c5c to 85779f5 Compare October 15, 2026 18:16
@lgirdwood
lgirdwood merged commit e3e6a5a into thesofproject:master Oct 15, 2026
5 checks passed
@lgirdwood
lgirdwood deleted the topic/docs-telemetry-reference branch October 15, 2026 19:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants