36#ifndef _RTEMS_PROFILING_H
37#define _RTEMS_PROFILING_H
199#define RTEMS_PROFILING_SMP_LOCK_CONTENTION_COUNTS 4
338 uint32_t indentation_level,
339 const char *indentation
void rtems_profiling_iterate(rtems_profiling_visitor visitor, void *visitor_arg)
Iterates through all profiling data of the system.
Definition: profilingiterate.c:163
rtems_profiling_type
Type of profiling data.
Definition: profiling.h:80
#define RTEMS_PROFILING_SMP_LOCK_CONTENTION_COUNTS
Count of lock contention counters for SMP lock profiling.
Definition: profiling.h:199
void(* rtems_profiling_visitor)(void *arg, const rtems_profiling_data *data)
Visitor function for the profiling iteration.
Definition: profiling.h:309
int rtems_profiling_report_xml(const char *name, const rtems_printer *printer, uint32_t indentation_level, const char *indentation)
Reports profiling data as XML.
Definition: profilingreportxml.c:294
@ RTEMS_PROFILING_PER_CPU
Type of per-CPU profiling data.
Definition: profiling.h:86
@ RTEMS_PROFILING_SMP_LOCK
Type of SMP lock profiling data.
Definition: profiling.h:93
User print interface to the bspIO print plug in.
Per-CPU profiling data.
Definition: profiling.h:116
uint32_t max_interrupt_time
The maximum time spent to process a single sequence of nested interrupts in nanoseconds.
Definition: profiling.h:175
uint64_t total_thread_dispatch_disabled_time
Total time of disabled thread dispatching in nanoseconds.
Definition: profiling.h:149
uint32_t max_thread_dispatch_disabled_time
The maximum time of disabled thread dispatching in nanoseconds.
Definition: profiling.h:130
rtems_profiling_header header
The profiling data header.
Definition: profiling.h:120
uint32_t max_interrupt_delay
The maximum interrupt delay in nanoseconds if supported by the hardware.
Definition: profiling.h:163
uint64_t total_interrupt_time
Total time of interrupt processing in nanoseconds.
Definition: profiling.h:193
uint32_t processor_index
The processor index of this profiling data.
Definition: profiling.h:125
uint64_t thread_dispatch_disabled_count
Count of times when the thread dispatch disable level changes from zero to one in thread context.
Definition: profiling.h:138
uint64_t interrupt_count
Count of times when the interrupt nest level changes from zero to one.
Definition: profiling.h:183
SMP lock profiling data.
Definition: profiling.h:219
uint64_t usage_count
The count of lock uses.
Definition: profiling.h:245
uint32_t max_acquire_time
The maximum lock acquire time in nanoseconds.
Definition: profiling.h:233
const char * name
The lock name.
Definition: profiling.h:228
rtems_profiling_header header
The profiling data header.
Definition: profiling.h:223
uint64_t total_section_time
Total lock section time in nanoseconds.
Definition: profiling.h:266
uint64_t total_acquire_time
Total lock acquire time in nanoseconds.
Definition: profiling.h:256
uint32_t max_section_time
The maximum lock section time in nanoseconds.
Definition: profiling.h:238
Collection of profiling data.
Definition: profiling.h:284
rtems_profiling_per_cpu per_cpu
Per-CPU profiling data if indicated by the header.
Definition: profiling.h:293
rtems_profiling_smp_lock smp_lock
SMP lock profiling data if indicated by the header.
Definition: profiling.h:298
rtems_profiling_header header
Header to specify the actual profiling data.
Definition: profiling.h:288