57#ifndef _RTEMS_RTEMS_RATEMON_H
58#define _RTEMS_RTEMS_RATEMON_H
61#include <sys/_timespec.h>
134 struct timespec min_cpu_time;
140 struct timespec max_cpu_time;
146 struct timespec total_cpu_time;
152 struct timespec min_wall_time;
158 struct timespec max_wall_time;
164 struct timespec total_wall_time;
192 struct timespec since_last_period;
201 struct timespec executed_since_last_period;
217#define RTEMS_PERIOD_STATUS WATCHDOG_NO_TIMEOUT
void rtems_rate_monotonic_report_statistics_with_plugin(const struct rtems_printer *printer)
Reports the period statistics using the printer plugin.
rtems_rate_monotonic_period_states
This enumeration defines the states in which a period may be.
Definition: ratemon.h:91
rtems_status_code rtems_rate_monotonic_get_statistics(rtems_id id, rtems_rate_monotonic_period_statistics *status)
Gets the statistics of the period.
Definition: ratemongetstatistics.c:45
rtems_status_code rtems_rate_monotonic_cancel(rtems_id id)
Cancels the period.
Definition: ratemoncancel.c:73
rtems_status_code rtems_rate_monotonic_period(rtems_id id, rtems_interval length)
Concludes the current period and start the next period, or gets the period status.
Definition: ratemonperiod.c:315
rtems_status_code rtems_rate_monotonic_delete(rtems_id id)
Deletes the period.
Definition: ratemondelete.c:45
void rtems_rate_monotonic_report_statistics(void)
Reports the period statistics using the printk() printer.
Definition: ratemonreportstatistics.c:178
rtems_status_code rtems_rate_monotonic_get_status(rtems_id id, rtems_rate_monotonic_period_status *status)
Gets the detailed status of the period.
Definition: ratemongetstatus.c:46
rtems_status_code rtems_rate_monotonic_ident(rtems_name name, rtems_id *id)
Identifies a period by the object name.
Definition: ratemonident.c:45
rtems_status_code rtems_rate_monotonic_create(rtems_name name, rtems_id *id)
Creates a period.
Definition: ratemoncreate.c:50
void rtems_rate_monotonic_reset_all_statistics(void)
Resets the statistics of all periods.
Definition: ratemonresetall.c:47
rtems_status_code rtems_rate_monotonic_reset_statistics(rtems_id id)
Resets the statistics of the period.
Definition: ratemonresetstatistics.c:44
@ RATE_MONOTONIC_ACTIVE
This status indicates the period is on the watchdog chain, and running. The owner may be executing or...
Definition: ratemon.h:102
@ RATE_MONOTONIC_EXPIRED
This status indicates the period is off the watchdog chain, and has expired. The owner may still exec...
Definition: ratemon.h:109
@ RATE_MONOTONIC_INACTIVE
This status indicates the period is off the watchdog chain, and has never been initialized.
Definition: ratemon.h:96
rtems_status_code
This enumeration provides status codes for directives of the Classic API.
Definition: status.h:85
uint32_t rtems_name
This type represents Classic API object names.
Definition: types.h:226
Objects_Id rtems_id
This type represents RTEMS object identifiers.
Definition: types.h:94
Watchdog_Interval rtems_interval
This type represents clock tick intervals.
Definition: types.h:114
This header file provides types used by the Classic API.
This header file provides the status codes of Classic API directives and support functions.
This structure provides the statistics of a period.
Definition: ratemon.h:119
uint32_t missed_count
This member contains the number of periods missed.
Definition: ratemon.h:128
uint32_t count
This member contains the number of periods executed.
Definition: ratemon.h:123
This structure provides the detailed status of a period.
Definition: ratemon.h:174
uint32_t postponed_jobs_count
This member contains the count of jobs which are not released yet.
Definition: ratemon.h:206
rtems_rate_monotonic_period_states state
This member contains the state of the period.
Definition: ratemon.h:183
rtems_id owner
This member contains the identifier of the owner task of the period.
Definition: ratemon.h:178
This header file provides the interfaces of the Watchdog Handler related to watchdog ticks which are ...