Macros
Profiler macros. More...
Macros |
|
#define | DEFINE_PROFILER (name, ...) extern const char PROFILER_ ## name ## _ID[]; |
Define a new profiler.
More...
|
|
#define | PROFILER_REGISTER_ALL () profiler_register_all () |
Register all profilers.
More...
|
|
#define | PROFILER_REGISTER (name, config) profiler_register (name, config) |
Register profiler with config.
More...
|
|
#define | PROFILER_UNREGISTER (name) profiler_unregister (name) |
Unregister profiler.
More...
|
|
#define | PROFILER_SET_PARENT (name, parent) profiler_set_parent (name, parent) |
Specify a profiler's parent.
More...
|
|
#define | PROFILER_BEGIN (name) profiler_begin (name) |
Start profiler.
More...
|
|
#define | PROFILER_END (name) profiler_end (name) |
Stop profiler.
More...
|
|
#define | PROFILER_MARK (name, start) start ? profiler_begin (name) : profiler_end (name) |
Start or stop a profiler.
More...
|
|
#define | PROFILER_PRINT_STATUS (name) profiler_print_status (name) |
Print a profiler's status.
More...
|
|
#define | PROFILER_PRINT_ALL_STATUSES () profiler_print_status (NULL) |
Print the status of all profilers.
More...
|
|
#define | PROFILER_GET_STATUS (name, status) profiler_get_status (name, status) |
Retrieve the status of a profiler.
More...
|
|
#define | PROFILER_RESET (name) profiler_reset (name) |
Reset a profiler.
More...
|
|
#define | PROFILER_RESET_ALL () profiler_reset (NULL) |
Reset all profilers.
More...
|
|
Detailed Description
Profiler macros.
Macro Definition Documentation
◆ DEFINE_PROFILER
#define DEFINE_PROFILER | ( |
name,
|
|
...
|
|||
) | extern const char PROFILER_ ## name ## _ID[]; |
Define a new profiler.
This allows for automatically registering profilers. This should be used in a custom header file named:
app_profiler_definitions.h
All profilers should be defined in this header file.
Then at the start of the app, call PROFILER_REGISTER_ALL() to automatially register all profilers.
- Parameters
-
name
The name of the profiler to define
- Examples:
- utility/profiler/app_profiler_definitions.h .
◆ PROFILER_BEGIN
#define PROFILER_BEGIN | ( |
name
|
) | profiler_begin (name) |
Start profiler.
Start the profiler with the specified name.
- Note
- It is recommended to use this macro over the profiler_begin() API as profiling can be disabled via PROFILER_DISABLED global define.
- Parameters
-
name
The name of the profiler as a string
- Examples:
- utility/profiler/main.c .
◆ PROFILER_END
#define PROFILER_END | ( |
name
|
) | profiler_end (name) |
Stop profiler.
Stop the profiler with the specified name.
- Note
- It is recommended to use this macro over the profiler_end() API as profiling can be disabled via PROFILER_DISABLED global define.
- Parameters
-
name
The name of the profiler as a string
- Examples:
- utility/profiler/main.c .
◆ PROFILER_GET_STATUS
#define PROFILER_GET_STATUS | ( |
name,
|
|
status
|
|||
) | profiler_get_status (name, status) |
Retrieve the status of a profiler.
Retrieve the status of a specific profiler and populate a profiler_status_t
- Note
- It is recommended to use this macro over the profiler_get_status() API as profiling can be disabled via PROFILER_DISABLED global define.
- Parameters
-
name
Name of the profile as a string status
profiler_status_t object to hold profiler status
◆ PROFILER_MARK
#define PROFILER_MARK | ( |
name,
|
|
start
|
|||
) | start ? profiler_begin (name) : profiler_end (name) |
Start or stop a profiler.
This starts/stops a profiler from recording.
- Parameters
-
name
Name of the profile as a string start
true to start profile, false to stop
◆ PROFILER_PRINT_ALL_STATUSES
#define PROFILER_PRINT_ALL_STATUSES | ( |
|
) | profiler_print_status (NULL) |
Print the status of all profilers.
Print the status of all profilers to the log bus.
- Note
- It is recommended to use this macro over the profiler_print_status() API as profiling can be disabled via PROFILER_DISABLED global define.
- Examples:
- utility/profiler/main.c .
◆ PROFILER_PRINT_STATUS
#define PROFILER_PRINT_STATUS | ( |
name
|
) | profiler_print_status (name) |
Print a profiler's status.
Print the status of the specified profiler to the log bus.
- Note
- It is recommended to use this macro over the profiler_print_status() API as profiling can be disabled via PROFILER_DISABLED global define.
- Parameters
-
name
Name of the profile as a string
◆ PROFILER_REGISTER
#define PROFILER_REGISTER | ( |
name,
|
|
config
|
|||
) | profiler_register (name, config) |
Register profiler with config.
Register a profiler with a custom config, profiler_config_t
See PROFILER_REGISTER_ALL() to register all profilers automatically.
- Note
- It is recommended to use this macro over the profiler_register() API as profiling can be disabled via PROFILER_DISABLED global define.
- Parameters
-
name
The name of the profiler as a string config
profiler_config_t profiler configuration, leave NULL to use default config
◆ PROFILER_REGISTER_ALL
#define PROFILER_REGISTER_ALL | ( |
|
) | profiler_register_all () |
Register all profilers.
Register all profilers defined in
app_profiler_definitions.h
See
DEFINE_PROFILER
for more details.
- Note
- It is recommended to use this macro over the profiler_register_all() API as the profiling can be disabled via PROFILER_DISABLED global define.
- Examples:
- utility/profiler/main.c .
◆ PROFILER_RESET
#define PROFILER_RESET | ( |
name
|
) | profiler_reset (name) |
Reset a profiler.
Reset a specific profiler's stats
- Note
- It is recommended to use this macro over the profiler_reset() API as profiling can be disabled via PROFILER_DISABLED global define.
- Parameters
-
name
Name of the profile as a string
◆ PROFILER_RESET_ALL
#define PROFILER_RESET_ALL | ( |
|
) | profiler_reset (NULL) |
Reset all profilers.
Reset all profiler's stats
- Note
- It is recommended to use this macro over the profiler_reset() API as profiling can be disabled via PROFILER_DISABLED global define.
- Examples:
- utility/profiler/main.c .
◆ PROFILER_SET_PARENT
#define PROFILER_SET_PARENT | ( |
name,
|
|
parent
|
|||
) | profiler_set_parent (name, parent) |
Specify a profiler's parent.
Specify the parent of a profiler
- Note
- It is recommended to use this macro over the profiler_set_parent() API as profiling can be disabled via PROFILER_DISABLED global define.
- Parameters
-
name
Name of profiler parent
Name of parent profiler
◆ PROFILER_UNREGISTER
#define PROFILER_UNREGISTER | ( |
name
|
) | profiler_unregister (name) |
Unregister profiler.
Unregister a previously register profiler with the given name.
- Note
- It is recommended to use this macro over the profiler_unregister() API as profiling can be disabled via PROFILER_DISABLED global define.
- Parameters
-
name
The name of the profiler as a string