ChibiOS 21.11.4
Statistics

Detailed Description

Statistics services.

Collaboration diagram for Statistics:

Data Structures

struct  kernel_stats_t
 Type of a kernel statistics structure. More...

Functions

void __stats_increase_irq (void)
 Increases the IRQ counter.
void __stats_ctxswc (thread_t *ntp, thread_t *otp)
 Updates context switch related statistics.
void __stats_start_measure_crit_thd (void)
 Starts the measurement of a thread critical zone.
void __stats_stop_measure_crit_thd (void)
 Stops the measurement of a thread critical zone.
void __stats_start_measure_crit_isr (void)
 Starts the measurement of an ISR critical zone.
void __stats_stop_measure_crit_isr (void)
 Stops the measurement of an ISR critical zone.
void __stats_init (void)
static void __stats_object_init (kernel_stats_t *ksp)
 Statistics initialization.

Function Documentation

◆ __stats_increase_irq()

void __stats_increase_irq ( void )

Increases the IRQ counter.

Definition at line 60 of file chstats.c.

References currcore, port_lock_from_isr(), and port_unlock_from_isr().

Here is the call graph for this function:

◆ __stats_ctxswc()

void __stats_ctxswc ( thread_t * ntp,
thread_t * otp )

Updates context switch related statistics.

Parameters
[in]ntpthe thread to be switched in
[in]otpthe thread to be switched out

Definition at line 73 of file chstats.c.

References chTMChainMeasurementToX(), currcore, and ch_thread::stats.

Here is the call graph for this function:

◆ __stats_start_measure_crit_thd()

void __stats_start_measure_crit_thd ( void )

Starts the measurement of a thread critical zone.

Definition at line 82 of file chstats.c.

References chTMStartMeasurementX(), and currcore.

Referenced by chSysLock().

Here is the call graph for this function:

◆ __stats_stop_measure_crit_thd()

void __stats_stop_measure_crit_thd ( void )

Stops the measurement of a thread critical zone.

Definition at line 90 of file chstats.c.

References chTMStopMeasurementX(), and currcore.

Referenced by chSysUnlock().

Here is the call graph for this function:

◆ __stats_start_measure_crit_isr()

void __stats_start_measure_crit_isr ( void )

Starts the measurement of an ISR critical zone.

Definition at line 98 of file chstats.c.

References chTMStartMeasurementX(), and currcore.

Referenced by chSysLockFromISR().

Here is the call graph for this function:

◆ __stats_stop_measure_crit_isr()

void __stats_stop_measure_crit_isr ( void )

Stops the measurement of an ISR critical zone.

Definition at line 106 of file chstats.c.

References chTMStopMeasurementX(), and currcore.

Referenced by chSysUnlockFromISR().

Here is the call graph for this function:

◆ __stats_init()

void __stats_init ( void )

◆ __stats_object_init()

void __stats_object_init ( kernel_stats_t * ksp)
inlinestatic

Statistics initialization.

Note
Internal use only.
Parameters
[out]ksppointer to the kernel__stats_t structure
Function Class:
Not an API, this function is for internal use only.

Definition at line 99 of file chstats.h.

References chTMObjectInit(), chTMStartMeasurementX(), kernel_stats_t::m_crit_isr, kernel_stats_t::m_crit_thd, kernel_stats_t::n_ctxswc, and kernel_stats_t::n_irq.

Referenced by chInstanceObjectInit().

Here is the call graph for this function: