summaryrefslogtreecommitdiffstats
path: root/c-user/config/event-record.rst
blob: 6c93a3adfa0d025708c0ed829572c0cdf471dd8e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
.. SPDX-License-Identifier: CC-BY-SA-4.0

.. Copyright (C) 2019, 2020 embedded brains GmbH (http://www.embedded-brains.de)

Event Recording Configuration
=============================

This section describes configuration options related to the event recording.

.. index:: CONFIGURE_RECORD_EXTENSIONS_ENABLED

.. _CONFIGURE_RECORD_EXTENSIONS_ENABLED:

CONFIGURE_RECORD_EXTENSIONS_ENABLED
-----------------------------------

CONSTANT:
    ``CONFIGURE_RECORD_EXTENSIONS_ENABLED``

OPTION TYPE:
    This configuration option is a boolean feature define.

DEFAULT CONFIGURATION:
    If this configuration option is undefined, then the described feature is not
    enabled.

DESCRIPTION:
    In case

    * this configuration option is defined

    * and :ref:`CONFIGURE_RECORD_PER_PROCESSOR_ITEMS` is properly defined,

    then the event record extensions are enabled.

NOTES:
    The record extensions capture thread create, start, restart, delete, switch,
    begin, exitted and terminate events.

.. index:: CONFIGURE_RECORD_FATAL_DUMP_BASE64

.. _CONFIGURE_RECORD_FATAL_DUMP_BASE64:

CONFIGURE_RECORD_FATAL_DUMP_BASE64
----------------------------------

CONSTANT:
    ``CONFIGURE_RECORD_FATAL_DUMP_BASE64``

OPTION TYPE:
    This configuration option is a boolean feature define.

DEFAULT CONFIGURATION:
    If this configuration option is undefined, then the described feature is not
    enabled.

DESCRIPTION:
    In case

    * this configuration option is defined

    * and :ref:`CONFIGURE_RECORD_PER_PROCESSOR_ITEMS` is properly defined,

    * and :ref:`CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB` is undefined,

    then the event records are dumped in Base64 encoding in a fatal error
    extension (see :ref:`Terminate`).

NOTES:
    This extension can be used to produce crash dumps.

.. index:: CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB

.. _CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB:

CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB
---------------------------------------

CONSTANT:
    ``CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB``

OPTION TYPE:
    This configuration option is a boolean feature define.

DEFAULT CONFIGURATION:
    If this configuration option is undefined, then the described feature is not
    enabled.

DESCRIPTION:
    In case

    * this configuration option is defined

    * and :ref:`CONFIGURE_RECORD_PER_PROCESSOR_ITEMS` is properly defined,

    then the event records are compressed by zlib and dumped in Base64 encoding
    in a fatal error extension (see :ref:`Terminate`).

NOTES:
    The zlib compression needs about 512KiB of RAM.  This extension can be used
    to produce crash dumps.

.. index:: CONFIGURE_RECORD_PER_PROCESSOR_ITEMS

.. _CONFIGURE_RECORD_PER_PROCESSOR_ITEMS:

CONFIGURE_RECORD_PER_PROCESSOR_ITEMS
------------------------------------

CONSTANT:
    ``CONFIGURE_RECORD_PER_PROCESSOR_ITEMS``

OPTION TYPE:
    This configuration option is an integer define.

DEFAULT VALUE:
    The default value is 0.

VALUE CONSTRAINTS:
    The value of this configuration option shall satisfy all of the following
    constraints:

    * It shall be greater than or equal to 16.

    * It shall be less than or equal to ``SIZE_MAX``.

    * It shall be a power of two.

    * It shall be less than or equal to a
      BSP-specific and application-specific value which depends on the size of the
      memory available to the application.

DESCRIPTION:
    The value of this configuration option defines the event record item count
    per processor.

NOTES:
    The event record buffers are statically allocated for each configured
    processor (:ref:`CONFIGURE_MAXIMUM_PROCESSORS`).  If the value of this
    configuration option is zero, then nothing is allocated.