12#ifndef __SOF_TELEMETRY_H__
13#define __SOF_TELEMETRY_H__
17#include <zephyr/timing/timing.h>
20#ifndef CONFIG_INTEL_ADSP_DEBUG_SLOT_MANAGER
22#define SOF_DW_TELEMETRY_SLOT 1
26#define SOF_AVG_PERF_MEAS_DEPTH 64
28#define SOF_AVG_PERF_MEAS_PERIOD 16
79#ifdef CONFIG_INTEL_ADSP_DEBUG_SLOT_MANAGER
88#ifdef CONFIG_TIMING_FUNCTIONS
90#define telemetry_timestamp timing_counter_get
93#define telemetry_timestamp sof_cycle_get_64
IPC4 Base Firmware parameters, memory configuration, and status definitions.
void telemetry_update(uint32_t begin_ccount, uint32_t current_ccount)
Update periodic telemetry metrics with elapsed core clock cycles.
struct system_tick_info * telemetry_get_systick_info_ptr(void)
Retrieve pointer to system tick telemetry structure for current core.
Per-core system tick and cycle execution metrics.
Definition telemetry.h:38
uint32_t last_ccount
Cycle counter snapshot at end of previous tick.
Definition telemetry.h:42
uint32_t peak_utilization
Peak CPU utilization percentage observed.
Definition telemetry.h:44
uint32_t rsvd[2]
Reserved for padding and future metrics.
Definition telemetry.h:47
uint32_t last_time_elapsed
Cycles consumed during previous tick interval.
Definition telemetry.h:40
uint32_t count
Total tick / measurement iteration count.
Definition telemetry.h:39
uint32_t max_time_elapsed
Peak cycle consumption observed across all intervals.
Definition telemetry.h:41
uint32_t avg_utilization
Rolling average CPU utilization percentage (0-100)
Definition telemetry.h:43
uint32_t peak_utilization_4k
Peak utilization over 4K sample rolling window.
Definition telemetry.h:45
uint32_t peak_utilization_8k
Peak utilization over 8K sample rolling window.
Definition telemetry.h:46
Circular queue tracking execution cycle history for rolling averages.
Definition telemetry.h:63
size_t elements[SOF_AVG_PERF_MEAS_DEPTH]
Historic cycle measurements.
Definition telemetry.h:64
uint8_t full
1 if queue has wrapped, 0 otherwise
Definition telemetry.h:66
size_t size
Number of valid measurements stored.
Definition telemetry.h:67
size_t sum
Running cumulative sum of valid measurements.
Definition telemetry.h:68
size_t index
Current head index in circular queue.
Definition telemetry.h:65
Layout of telemetry data published in shared Memory Window.
Definition telemetry.h:54
uint32_t separator_1
Header boundary delimiter.
Definition telemetry.h:55
#define SOF_AVG_PERF_MEAS_DEPTH
Number of historic entries in circular performance measurement queue.
Definition telemetry.h:26