1 /* 2 * Copyright (c) 2025 Analog Devices, Inc. 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #ifndef ZEPHYR_SUBSYS_CPU_LOAD_H_ 8 #define ZEPHYR_SUBSYS_CPU_LOAD_H_ 9 10 #include <stdint.h> 11 12 #ifdef __cplusplus 13 extern "C" { 14 #endif 15 16 /** 17 * @brief CPU Load Monitoring 18 * @defgroup subsys_cpu_load CPU Load 19 * @since 4.3 20 * @version 0.1.0 21 * @ingroup os_services 22 * @{ 23 */ 24 25 /** 26 * @brief Get the CPU load as a percentage. 27 * 28 * Return the percent that the CPU has spent in the active (non-idle) state between calls to this 29 * function. 30 * 31 * @param cpu_id The ID of the CPU for which to get the load. 32 * 33 * @return CPU load in percent (0-100) in case of success 34 * @retval -errno code in case of failure. 35 * 36 */ 37 int cpu_load_metric_get(int cpu_id); 38 39 /** 40 * @} 41 */ 42 43 #ifdef __cplusplus 44 } 45 #endif 46 47 #endif /* ZEPHYR_SUBSYS_CPU_LOAD_H_ */ 48