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