-
CONFIG_PERCEPIO_RECORDER_TRC_CFG_USE_IMPLICIT_IFE_RULES
¶
Use Implicit IFE Rules
Type: bool
Help¶
Tracealyzer groups the events into "instances" based on Instance Finish
Events (IFEs), produced either by default rules or calls to the recorder
functions vTraceInstanceFinishedNow and vTraceInstanceFinishedNext.
If TRC_CFG_USE_IMPLICIT_IFE_RULES is one (1), the default IFE rules is
used, resulting in a "typical" grouping of events into instances.
If these rules don't give appropriate instances in your case, you can
override the default rules using vTraceInstanceFinishedNow/Next for one
or several tasks. The default IFE rules are then disabled for those tasks.
If TRC_CFG_USE_IMPLICIT_IFE_RULES is zero (0), the implicit IFE rules are
disabled globally. You must then call vTraceInstanceFinishedNow or
vTraceInstanceFinishedNext to manually group the events into instances,
otherwise the tasks will appear a single long instance.
The default IFE rules count the following events as "instance finished":
- Task delay, delay until
- Task suspend
- Blocking on "input" operations, i.e., when the task is waiting for the
next a message/signal/event. But only if this event is blocking.
Direct dependencies¶
PERCEPIO_TRC_RECORDER_MODE_SNAPSHOT
&& PERCEPIO_TRC_RECORDER_MODE_SNAPSHOT
&& PERCEPIO_TRACERECORDER
(Includes any dependencies from ifs and menus.)
Default¶
y
Kconfig definition¶
At /home/runner/work/sdk-nrf/sdk-nrf/ncs/modules/debug/TraceRecorder/kernelports/Zephyr/Kconfig:672
Included via <Zephyr>/Kconfig:8
→ <Zephyr>/Kconfig.zephyr:23
→ <Zephyr>/modules/Kconfig:6
→ <BuildDir>/kconfig/Kconfig.modules:56
Menu path: (Top) → Modules → TraceRecorder (/home/runner/work/sdk-nrf/sdk-nrf/ncs/modules/debug/TraceRecorder) → Percepio Trace Recorder → Snapshot Configuration
config PERCEPIO_RECORDER_TRC_CFG_USE_IMPLICIT_IFE_RULES
bool "Use Implicit IFE Rules"
default y
depends on PERCEPIO_TRC_RECORDER_MODE_SNAPSHOT && PERCEPIO_TRC_RECORDER_MODE_SNAPSHOT && PERCEPIO_TRACERECORDER
help
Tracealyzer groups the events into "instances" based on Instance Finish
Events (IFEs), produced either by default rules or calls to the recorder
functions vTraceInstanceFinishedNow and vTraceInstanceFinishedNext.
If TRC_CFG_USE_IMPLICIT_IFE_RULES is one (1), the default IFE rules is
used, resulting in a "typical" grouping of events into instances.
If these rules don't give appropriate instances in your case, you can
override the default rules using vTraceInstanceFinishedNow/Next for one
or several tasks. The default IFE rules are then disabled for those tasks.
If TRC_CFG_USE_IMPLICIT_IFE_RULES is zero (0), the implicit IFE rules are
disabled globally. You must then call vTraceInstanceFinishedNow or
vTraceInstanceFinishedNext to manually group the events into instances,
otherwise the tasks will appear a single long instance.
The default IFE rules count the following events as "instance finished":
- Task delay, delay until
- Task suspend
- Blocking on "input" operations, i.e., when the task is waiting for the
next a message/signal/event. But only if this event is blocking.
(The ‘depends on’ condition includes propagated dependencies from ifs and menus.)