Zephyr Project API 3.7.0
A Scalable Open Source RTOS
|
Tracing utility macros. More...
Macros | |
#define | SYS_PORT_TRACING_TYPE_MASK(type, trace_call) _SYS_PORT_TRACING_TYPE_MASK(type)(trace_call) |
Checks if an object type should be traced or not. | |
#define | SYS_PORT_TRACING_FUNC(type, func, ...) _SYS_PORT_TRACE_IF_NOT_DISABLED(type, _SYS_PORT_TRACING_FUNC(type, func), __VA_ARGS__) |
Tracing macro for function calls which are not directly associated with a specific type of object. | |
#define | SYS_PORT_TRACING_FUNC_ENTER(type, func, ...) _SYS_PORT_TRACE_IF_NOT_DISABLED(type, _SYS_PORT_TRACING_FUNC_ENTER(type, func), __VA_ARGS__) |
Tracing macro for the entry into a function that might or might not return a value. | |
#define | SYS_PORT_TRACING_FUNC_BLOCKING(type, func, ...) |
Tracing macro for when a function blocks during its execution. | |
#define | SYS_PORT_TRACING_FUNC_EXIT(type, func, ...) _SYS_PORT_TRACE_IF_NOT_DISABLED(type, _SYS_PORT_TRACING_FUNC_EXIT(type, func), __VA_ARGS__) |
Tracing macro for when a function ends its execution. | |
#define | SYS_PORT_TRACING_OBJ_INIT(obj_type, obj, ...) |
Tracing macro for the initialization of an object. | |
#define | SYS_PORT_TRACING_OBJ_FUNC(obj_type, func, obj, ...) |
Tracing macro for simple object function calls often without returns or branching. | |
#define | SYS_PORT_TRACING_OBJ_FUNC_ENTER(obj_type, func, obj, ...) |
Tracing macro for the entry into a function that might or might not return a value. | |
#define | SYS_PORT_TRACING_OBJ_FUNC_BLOCKING(obj_type, func, obj, timeout, ...) |
Tracing macro for when a function blocks during its execution. | |
#define | SYS_PORT_TRACING_OBJ_FUNC_EXIT(obj_type, func, obj, ...) |
Tracing macro for when a function ends its execution. | |
#define | SYS_PORT_TRACING_TRACKING_FIELD(type) SYS_PORT_TRACING_TYPE_MASK(type, struct type *_obj_track_next;) |
Field added to kernel objects so they are tracked. | |
Tracing utility macros.
#define SYS_PORT_TRACING_FUNC | ( | type, | |
func, | |||
... | |||
) | _SYS_PORT_TRACE_IF_NOT_DISABLED(type, _SYS_PORT_TRACING_FUNC(type, func), __VA_ARGS__) |
#include <include/zephyr/tracing/tracing_macros.h>
Tracing macro for function calls which are not directly associated with a specific type of object.
type | Type of tracing event or object type |
func | Name of the function responsible for the call. This does not need to exactly match the name of the function but should rather match what the user called in case of system calls etc. That is, we can often omit the z_vrfy/z_impl part of the name. |
... | Additional parameters relevant to the tracing call |
#define SYS_PORT_TRACING_FUNC_BLOCKING | ( | type, | |
func, | |||
... | |||
) |
#include <include/zephyr/tracing/tracing_macros.h>
Tracing macro for when a function blocks during its execution.
type | Type of tracing event or object type |
func | Name of the function responsible for the call. This does not need to exactly match the name of the function but should rather match what the user called in case of system calls etc. That is, we can often omit the z_vrfy/z_impl part of the name. |
... | Additional parameters relevant to the tracing call |
#define SYS_PORT_TRACING_FUNC_ENTER | ( | type, | |
func, | |||
... | |||
) | _SYS_PORT_TRACE_IF_NOT_DISABLED(type, _SYS_PORT_TRACING_FUNC_ENTER(type, func), __VA_ARGS__) |
#include <include/zephyr/tracing/tracing_macros.h>
Tracing macro for the entry into a function that might or might not return a value.
type | Type of tracing event or object type |
func | Name of the function responsible for the call. This does not need to exactly match the name of the function but should rather match what the user called in case of system calls etc. That is, we can often omit the z_vrfy/z_impl part of the name. |
... | Additional parameters relevant to the tracing call |
#define SYS_PORT_TRACING_FUNC_EXIT | ( | type, | |
func, | |||
... | |||
) | _SYS_PORT_TRACE_IF_NOT_DISABLED(type, _SYS_PORT_TRACING_FUNC_EXIT(type, func), __VA_ARGS__) |
#include <include/zephyr/tracing/tracing_macros.h>
Tracing macro for when a function ends its execution.
Potential return values can be given as additional arguments.
type | Type of tracing event or object type |
func | Name of the function responsible for the call. This does not need to exactly match the name of the function but should rather match what the user called in case of system calls etc. That is, we can often omit the z_vrfy/z_impl part of the name. |
... | Additional parameters relevant to the tracing call |
#define SYS_PORT_TRACING_OBJ_FUNC | ( | obj_type, | |
func, | |||
obj, | |||
... | |||
) |
#include <include/zephyr/tracing/tracing_macros.h>
Tracing macro for simple object function calls often without returns or branching.
obj_type | The type of object associated with the call (k_thread, k_sem, k_mutex etc.) |
func | Name of the function responsible for the call. This does not need to exactly match the name of the function but should rather match what the user called in case of system calls etc. That is, we can often omit the z_vrfy/z_impl part of the name. |
obj | Object |
... | Additional parameters relevant to the tracing call |
#include <include/zephyr/tracing/tracing_macros.h>
Tracing macro for when a function blocks during its execution.
obj_type | The type of object associated with the call (k_thread, k_sem, k_mutex etc.) |
func | Name of the function responsible for the call. This does not need to exactly match the name of the function but should rather match what the user called in case of system calls etc. That is, we can often omit the z_vrfy/z_impl part of the name. |
obj | Object |
timeout | Timeout |
... | Additional parameters relevant to the tracing call |
#define SYS_PORT_TRACING_OBJ_FUNC_ENTER | ( | obj_type, | |
func, | |||
obj, | |||
... | |||
) |
#include <include/zephyr/tracing/tracing_macros.h>
Tracing macro for the entry into a function that might or might not return a value.
obj_type | The type of object associated with the call (k_thread, k_sem, k_mutex etc.) |
func | Name of the function responsible for the call. This does not need to exactly match the name of the function but should rather match what the user called in case of system calls etc. That is, we can often omit the z_vrfy/z_impl part of the name. |
obj | Object |
... | Additional parameters relevant to the tracing call |
#define SYS_PORT_TRACING_OBJ_FUNC_EXIT | ( | obj_type, | |
func, | |||
obj, | |||
... | |||
) |
#include <include/zephyr/tracing/tracing_macros.h>
Tracing macro for when a function ends its execution.
Potential return values can be given as additional arguments.
obj_type | The type of object associated with the call (k_thread, k_sem, k_mutex etc.) |
func | Name of the function responsible for the call. This does not need to exactly match the name of the function but should rather match what the user called in case of system calls etc. That is, we can often omit the z_vrfy/z_impl part of the name. |
obj | Object |
... | Additional parameters relevant to the tracing call |
#define SYS_PORT_TRACING_OBJ_INIT | ( | obj_type, | |
obj, | |||
... | |||
) |
#include <include/zephyr/tracing/tracing_macros.h>
Tracing macro for the initialization of an object.
#define SYS_PORT_TRACING_TRACKING_FIELD | ( | type | ) | SYS_PORT_TRACING_TYPE_MASK(type, struct type *_obj_track_next;) |
#include <include/zephyr/tracing/tracing_macros.h>
Field added to kernel objects so they are tracked.
type | Type of object being tracked (k_thread, k_sem, etc.) |
#define SYS_PORT_TRACING_TYPE_MASK | ( | type, | |
trace_call | |||
) | _SYS_PORT_TRACING_TYPE_MASK(type)(trace_call) |
#include <include/zephyr/tracing/tracing_macros.h>
Checks if an object type should be traced or not.
type | Tracing event type/object |
trace_call | Tracing call |