record: Add system events

Add system events for memory allocation/free.

Update #3665.
This commit is contained in:
Sebastian Huber
2019-08-30 15:03:14 +02:00
parent 8ace7eada4
commit 1c72ad73ae
5 changed files with 1489 additions and 102 deletions
File diff suppressed because it is too large Load Diff
+31 -31
View File
@@ -55,7 +55,7 @@ extern "C" {
* The record version reflects the record event definitions. It is reported by
* the RTEMS_RECORD_VERSION event.
*/
#define RTEMS_RECORD_THE_VERSION 7
#define RTEMS_RECORD_THE_VERSION 8
/**
* @brief The items are in 32-bit little-endian format.
@@ -99,6 +99,8 @@ typedef enum {
RTEMS_RECORD_ACCEPT_ENTRY,
RTEMS_RECORD_ACCEPT_EXIT,
RTEMS_RECORD_ADDRESS,
RTEMS_RECORD_ALIGNED_ALLOC_ENTRY,
RTEMS_RECORD_ALIGNED_ALLOC_EXIT,
RTEMS_RECORD_ARCH,
RTEMS_RECORD_ARG_0,
RTEMS_RECORD_ARG_1,
@@ -115,6 +117,8 @@ typedef enum {
RTEMS_RECORD_BSP,
RTEMS_RECORD_BUFFER,
RTEMS_RECORD_CALLER,
RTEMS_RECORD_CALLOC_ENTRY,
RTEMS_RECORD_CALLOC_EXIT,
RTEMS_RECORD_CHOWN_ENTRY,
RTEMS_RECORD_CHOWN_EXIT,
RTEMS_RECORD_CLOSE_ENTRY,
@@ -131,6 +135,8 @@ typedef enum {
RTEMS_RECORD_FCNTL_EXIT,
RTEMS_RECORD_FDATASYNC_ENTRY,
RTEMS_RECORD_FDATASYNC_EXIT,
RTEMS_RECORD_FREE_ENTRY,
RTEMS_RECORD_FREE_EXIT,
RTEMS_RECORD_FREQUENCY,
RTEMS_RECORD_FSTAT_ENTRY,
RTEMS_RECORD_FSTAT_EXIT,
@@ -181,6 +187,8 @@ typedef enum {
RTEMS_RECORD_LISTEN_EXIT,
RTEMS_RECORD_LSEEK_ENTRY,
RTEMS_RECORD_LSEEK_EXIT,
RTEMS_RECORD_MALLOC_ENTRY,
RTEMS_RECORD_MALLOC_EXIT,
RTEMS_RECORD_MEMORY,
RTEMS_RECORD_MKNOD_ENTRY,
RTEMS_RECORD_MKNOD_EXIT,
@@ -199,6 +207,8 @@ typedef enum {
RTEMS_RECORD_PER_CPU_TAIL,
RTEMS_RECORD_POLL_ENTRY,
RTEMS_RECORD_POLL_EXIT,
RTEMS_RECORD_POSIX_MEMALIGN_ENTRY,
RTEMS_RECORD_POSIX_MEMALIGN_EXIT,
RTEMS_RECORD_PROCESSOR,
RTEMS_RECORD_PROCESSOR_MAXIMUM,
RTEMS_RECORD_READ_ENTRY,
@@ -207,6 +217,8 @@ typedef enum {
RTEMS_RECORD_READLINK_EXIT,
RTEMS_RECORD_READV_ENTRY,
RTEMS_RECORD_READV_EXIT,
RTEMS_RECORD_REALLOC_ENTRY,
RTEMS_RECORD_REALLOC_EXIT,
RTEMS_RECORD_RECV_ENTRY,
RTEMS_RECORD_RECV_EXIT,
RTEMS_RECORD_RECVFROM_ENTRY,
@@ -216,14 +228,28 @@ typedef enum {
RTEMS_RECORD_REGISTERS,
RTEMS_RECORD_RENAME_ENTRY,
RTEMS_RECORD_RENAME_EXIT,
RTEMS_RECORD_RETURN_0,
RTEMS_RECORD_RETURN_1,
RTEMS_RECORD_RETURN_2,
RTEMS_RECORD_RETURN_3,
RTEMS_RECORD_RETURN_4,
RTEMS_RECORD_RETURN_5,
RTEMS_RECORD_RETURN_6,
RTEMS_RECORD_RETURN_7,
RTEMS_RECORD_RETURN_8,
RTEMS_RECORD_RETURN_9,
RTEMS_RECORD_RTEMS_BARRIER_CREATE,
RTEMS_RECORD_RTEMS_BARRIER_DELETE,
RTEMS_RECORD_RTEMS_BARRIER_RELEASE,
RTEMS_RECORD_RTEMS_BARRIER_WAIT,
RTEMS_RECORD_RTEMS_CALLOC_ENTRY,
RTEMS_RECORD_RTEMS_CALLOC_EXIT,
RTEMS_RECORD_RTEMS_EVENT_RECEIVE,
RTEMS_RECORD_RTEMS_EVENT_SEND,
RTEMS_RECORD_RTEMS_EVENT_SYSTEM_RECEIVE,
RTEMS_RECORD_RTEMS_EVENT_SYSTEM_SEND,
RTEMS_RECORD_RTEMS_MALLOC_ENTRY,
RTEMS_RECORD_RTEMS_MALLOC_EXIT,
RTEMS_RECORD_RTEMS_MESSAGE_QUEUE_BROADCAST,
RTEMS_RECORD_RTEMS_MESSAGE_QUEUE_CREATE,
RTEMS_RECORD_RTEMS_MESSAGE_QUEUE_DELETE,
@@ -396,8 +422,10 @@ typedef enum {
RTEMS_RECORD_WATCHDOG_REMOVE,
RTEMS_RECORD_WATCHDOG_ROUTINE,
RTEMS_RECORD_WATCHDOG_STATE,
RTEMS_RECORD_WORKSPACE_ALLOC,
RTEMS_RECORD_WORKSPACE_FREE,
RTEMS_RECORD_WORKSPACE_ALLOC_ENTRY,
RTEMS_RECORD_WORKSPACE_ALLOC_EXIT,
RTEMS_RECORD_WORKSPACE_FREE_ENTY,
RTEMS_RECORD_WORKSPACE_FREE_EXIT,
RTEMS_RECORD_WORKSPACE_SIZE,
RTEMS_RECORD_WORKSPACE_USAGE,
RTEMS_RECORD_WRITE_ENTRY,
@@ -406,34 +434,6 @@ typedef enum {
RTEMS_RECORD_WRITEV_EXIT,
/* Unused system events */
RTEMS_RECORD_SYSTEM_310,
RTEMS_RECORD_SYSTEM_311,
RTEMS_RECORD_SYSTEM_312,
RTEMS_RECORD_SYSTEM_313,
RTEMS_RECORD_SYSTEM_314,
RTEMS_RECORD_SYSTEM_315,
RTEMS_RECORD_SYSTEM_316,
RTEMS_RECORD_SYSTEM_317,
RTEMS_RECORD_SYSTEM_318,
RTEMS_RECORD_SYSTEM_319,
RTEMS_RECORD_SYSTEM_320,
RTEMS_RECORD_SYSTEM_321,
RTEMS_RECORD_SYSTEM_322,
RTEMS_RECORD_SYSTEM_323,
RTEMS_RECORD_SYSTEM_324,
RTEMS_RECORD_SYSTEM_325,
RTEMS_RECORD_SYSTEM_326,
RTEMS_RECORD_SYSTEM_327,
RTEMS_RECORD_SYSTEM_328,
RTEMS_RECORD_SYSTEM_329,
RTEMS_RECORD_SYSTEM_330,
RTEMS_RECORD_SYSTEM_331,
RTEMS_RECORD_SYSTEM_332,
RTEMS_RECORD_SYSTEM_333,
RTEMS_RECORD_SYSTEM_334,
RTEMS_RECORD_SYSTEM_335,
RTEMS_RECORD_SYSTEM_336,
RTEMS_RECORD_SYSTEM_337,
RTEMS_RECORD_SYSTEM_338,
RTEMS_RECORD_SYSTEM_339,
RTEMS_RECORD_SYSTEM_340,
+30 -30
View File
@@ -44,6 +44,8 @@ static const char * const event_text[] = {
[ RTEMS_RECORD_ACCEPT_ENTRY ] = "ACCEPT_ENTRY",
[ RTEMS_RECORD_ACCEPT_EXIT ] = "ACCEPT_EXIT",
[ RTEMS_RECORD_ADDRESS ] = "ADDRESS",
[ RTEMS_RECORD_ALIGNED_ALLOC_ENTRY ] = "ALIGNED_ALLOC_ENTRY",
[ RTEMS_RECORD_ALIGNED_ALLOC_EXIT ] = "ALIGNED_ALLOC_EXIT",
[ RTEMS_RECORD_ARCH ] = "ARCH",
[ RTEMS_RECORD_ARG_0 ] = "ARG_0",
[ RTEMS_RECORD_ARG_1 ] = "ARG_1",
@@ -60,6 +62,8 @@ static const char * const event_text[] = {
[ RTEMS_RECORD_BSP ] = "BSP",
[ RTEMS_RECORD_BUFFER ] = "BUFFER",
[ RTEMS_RECORD_CALLER ] = "CALLER",
[ RTEMS_RECORD_CALLOC_ENTRY ] = "CALLOC_ENTRY",
[ RTEMS_RECORD_CALLOC_EXIT ] = "CALLOC_EXIT",
[ RTEMS_RECORD_CHOWN_ENTRY ] = "CHOWN_ENTRY",
[ RTEMS_RECORD_CHOWN_EXIT ] = "CHOWN_EXIT",
[ RTEMS_RECORD_CLOSE_ENTRY ] = "CLOSE_ENTRY",
@@ -76,6 +80,8 @@ static const char * const event_text[] = {
[ RTEMS_RECORD_FCNTL_EXIT ] = "FCNTL_EXIT",
[ RTEMS_RECORD_FDATASYNC_ENTRY ] = "FDATASYNC_ENTRY",
[ RTEMS_RECORD_FDATASYNC_EXIT ] = "FDATASYNC_EXIT",
[ RTEMS_RECORD_FREE_ENTRY ] = "FREE_ENTRY",
[ RTEMS_RECORD_FREE_EXIT ] = "FREE_EXIT",
[ RTEMS_RECORD_FREQUENCY ] = "FREQUENCY",
[ RTEMS_RECORD_FSTAT_ENTRY ] = "FSTAT_ENTRY",
[ RTEMS_RECORD_FSTAT_EXIT ] = "FSTAT_EXIT",
@@ -126,6 +132,8 @@ static const char * const event_text[] = {
[ RTEMS_RECORD_LISTEN_EXIT ] = "LISTEN_EXIT",
[ RTEMS_RECORD_LSEEK_ENTRY ] = "LSEEK_ENTRY",
[ RTEMS_RECORD_LSEEK_EXIT ] = "LSEEK_EXIT",
[ RTEMS_RECORD_MALLOC_ENTRY ] = "MALLOC_ENTRY",
[ RTEMS_RECORD_MALLOC_EXIT ] = "MALLOC_EXIT",
[ RTEMS_RECORD_MEMORY ] = "MEMORY",
[ RTEMS_RECORD_MKNOD_ENTRY ] = "MKNOD_ENTRY",
[ RTEMS_RECORD_MKNOD_EXIT ] = "MKNOD_EXIT",
@@ -144,6 +152,8 @@ static const char * const event_text[] = {
[ RTEMS_RECORD_PER_CPU_TAIL ] = "PER_CPU_TAIL",
[ RTEMS_RECORD_POLL_ENTRY ] = "POLL_ENTRY",
[ RTEMS_RECORD_POLL_EXIT ] = "POLL_EXIT",
[ RTEMS_RECORD_POSIX_MEMALIGN_ENTRY ] = "POSIX_MEMALIGN_ENTRY",
[ RTEMS_RECORD_POSIX_MEMALIGN_EXIT ] = "POSIX_MEMALIGN_EXIT",
[ RTEMS_RECORD_PROCESSOR ] = "PROCESSOR",
[ RTEMS_RECORD_PROCESSOR_MAXIMUM ] = "PROCESSOR_MAXIMUM",
[ RTEMS_RECORD_READ_ENTRY ] = "READ_ENTRY",
@@ -152,6 +162,8 @@ static const char * const event_text[] = {
[ RTEMS_RECORD_READLINK_EXIT ] = "READLINK_EXIT",
[ RTEMS_RECORD_READV_ENTRY ] = "READV_ENTRY",
[ RTEMS_RECORD_READV_EXIT ] = "READV_EXIT",
[ RTEMS_RECORD_REALLOC_ENTRY ] = "REALLOC_ENTRY",
[ RTEMS_RECORD_REALLOC_EXIT ] = "REALLOC_EXIT",
[ RTEMS_RECORD_RECV_ENTRY ] = "RECV_ENTRY",
[ RTEMS_RECORD_RECV_EXIT ] = "RECV_EXIT",
[ RTEMS_RECORD_RECVFROM_ENTRY ] = "RECVFROM_ENTRY",
@@ -161,14 +173,28 @@ static const char * const event_text[] = {
[ RTEMS_RECORD_REGISTERS ] = "REGISTERS",
[ RTEMS_RECORD_RENAME_ENTRY ] = "RENAME_ENTRY",
[ RTEMS_RECORD_RENAME_EXIT ] = "RENAME_EXIT",
[ RTEMS_RECORD_RETURN_0 ] = "RETURN_0",
[ RTEMS_RECORD_RETURN_1 ] = "RETURN_1",
[ RTEMS_RECORD_RETURN_2 ] = "RETURN_2",
[ RTEMS_RECORD_RETURN_3 ] = "RETURN_3",
[ RTEMS_RECORD_RETURN_4 ] = "RETURN_4",
[ RTEMS_RECORD_RETURN_5 ] = "RETURN_5",
[ RTEMS_RECORD_RETURN_6 ] = "RETURN_6",
[ RTEMS_RECORD_RETURN_7 ] = "RETURN_7",
[ RTEMS_RECORD_RETURN_8 ] = "RETURN_8",
[ RTEMS_RECORD_RETURN_9 ] = "RETURN_9",
[ RTEMS_RECORD_RTEMS_BARRIER_CREATE ] = "RTEMS_BARRIER_CREATE",
[ RTEMS_RECORD_RTEMS_BARRIER_DELETE ] = "RTEMS_BARRIER_DELETE",
[ RTEMS_RECORD_RTEMS_BARRIER_RELEASE ] = "RTEMS_BARRIER_RELEASE",
[ RTEMS_RECORD_RTEMS_BARRIER_WAIT ] = "RTEMS_BARRIER_WAIT",
[ RTEMS_RECORD_RTEMS_CALLOC_ENTRY ] = "RTEMS_CALLOC_ENTRY",
[ RTEMS_RECORD_RTEMS_CALLOC_EXIT ] = "RTEMS_CALLOC_EXIT",
[ RTEMS_RECORD_RTEMS_EVENT_RECEIVE ] = "RTEMS_EVENT_RECEIVE",
[ RTEMS_RECORD_RTEMS_EVENT_SEND ] = "RTEMS_EVENT_SEND",
[ RTEMS_RECORD_RTEMS_EVENT_SYSTEM_RECEIVE ] = "RTEMS_EVENT_SYSTEM_RECEIVE",
[ RTEMS_RECORD_RTEMS_EVENT_SYSTEM_SEND ] = "RTEMS_EVENT_SYSTEM_SEND",
[ RTEMS_RECORD_RTEMS_MALLOC_ENTRY ] = "RTEMS_MALLOC_ENTRY",
[ RTEMS_RECORD_RTEMS_MALLOC_EXIT ] = "RTEMS_MALLOC_EXIT",
[ RTEMS_RECORD_RTEMS_MESSAGE_QUEUE_BROADCAST ] = "RTEMS_MESSAGE_QUEUE_BROADCAST",
[ RTEMS_RECORD_RTEMS_MESSAGE_QUEUE_CREATE ] = "RTEMS_MESSAGE_QUEUE_CREATE",
[ RTEMS_RECORD_RTEMS_MESSAGE_QUEUE_DELETE ] = "RTEMS_MESSAGE_QUEUE_DELETE",
@@ -341,42 +367,16 @@ static const char * const event_text[] = {
[ RTEMS_RECORD_WATCHDOG_REMOVE ] = "WATCHDOG_REMOVE",
[ RTEMS_RECORD_WATCHDOG_ROUTINE ] = "WATCHDOG_ROUTINE",
[ RTEMS_RECORD_WATCHDOG_STATE ] = "WATCHDOG_STATE",
[ RTEMS_RECORD_WORKSPACE_ALLOC ] = "WORKSPACE_ALLOC",
[ RTEMS_RECORD_WORKSPACE_FREE ] = "WORKSPACE_FREE",
[ RTEMS_RECORD_WORKSPACE_ALLOC_ENTRY ] = "WORKSPACE_ALLOC_ENTRY",
[ RTEMS_RECORD_WORKSPACE_ALLOC_EXIT ] = "WORKSPACE_ALLOC_EXIT",
[ RTEMS_RECORD_WORKSPACE_FREE_ENTY ] = "WORKSPACE_FREE_ENTY",
[ RTEMS_RECORD_WORKSPACE_FREE_EXIT ] = "WORKSPACE_FREE_EXIT",
[ RTEMS_RECORD_WORKSPACE_SIZE ] = "WORKSPACE_SIZE",
[ RTEMS_RECORD_WORKSPACE_USAGE ] = "WORKSPACE_USAGE",
[ RTEMS_RECORD_WRITE_ENTRY ] = "WRITE_ENTRY",
[ RTEMS_RECORD_WRITE_EXIT ] = "WRITE_EXIT",
[ RTEMS_RECORD_WRITEV_ENTRY ] = "WRITEV_ENTRY",
[ RTEMS_RECORD_WRITEV_EXIT ] = "WRITEV_EXIT",
[ RTEMS_RECORD_SYSTEM_310 ] = "SYSTEM_310",
[ RTEMS_RECORD_SYSTEM_311 ] = "SYSTEM_311",
[ RTEMS_RECORD_SYSTEM_312 ] = "SYSTEM_312",
[ RTEMS_RECORD_SYSTEM_313 ] = "SYSTEM_313",
[ RTEMS_RECORD_SYSTEM_314 ] = "SYSTEM_314",
[ RTEMS_RECORD_SYSTEM_315 ] = "SYSTEM_315",
[ RTEMS_RECORD_SYSTEM_316 ] = "SYSTEM_316",
[ RTEMS_RECORD_SYSTEM_317 ] = "SYSTEM_317",
[ RTEMS_RECORD_SYSTEM_318 ] = "SYSTEM_318",
[ RTEMS_RECORD_SYSTEM_319 ] = "SYSTEM_319",
[ RTEMS_RECORD_SYSTEM_320 ] = "SYSTEM_320",
[ RTEMS_RECORD_SYSTEM_321 ] = "SYSTEM_321",
[ RTEMS_RECORD_SYSTEM_322 ] = "SYSTEM_322",
[ RTEMS_RECORD_SYSTEM_323 ] = "SYSTEM_323",
[ RTEMS_RECORD_SYSTEM_324 ] = "SYSTEM_324",
[ RTEMS_RECORD_SYSTEM_325 ] = "SYSTEM_325",
[ RTEMS_RECORD_SYSTEM_326 ] = "SYSTEM_326",
[ RTEMS_RECORD_SYSTEM_327 ] = "SYSTEM_327",
[ RTEMS_RECORD_SYSTEM_328 ] = "SYSTEM_328",
[ RTEMS_RECORD_SYSTEM_329 ] = "SYSTEM_329",
[ RTEMS_RECORD_SYSTEM_330 ] = "SYSTEM_330",
[ RTEMS_RECORD_SYSTEM_331 ] = "SYSTEM_331",
[ RTEMS_RECORD_SYSTEM_332 ] = "SYSTEM_332",
[ RTEMS_RECORD_SYSTEM_333 ] = "SYSTEM_333",
[ RTEMS_RECORD_SYSTEM_334 ] = "SYSTEM_334",
[ RTEMS_RECORD_SYSTEM_335 ] = "SYSTEM_335",
[ RTEMS_RECORD_SYSTEM_336 ] = "SYSTEM_336",
[ RTEMS_RECORD_SYSTEM_337 ] = "SYSTEM_337",
[ RTEMS_RECORD_SYSTEM_338 ] = "SYSTEM_338",
[ RTEMS_RECORD_SYSTEM_339 ] = "SYSTEM_339",
[ RTEMS_RECORD_SYSTEM_340 ] = "SYSTEM_340",
File diff suppressed because it is too large Load Diff
+22
View File
@@ -136,6 +136,28 @@ static void Init(rtems_task_argument arg)
rtems_record_caller_arg_8(0, 1, 2, 3, 4, 5, 6, 7);
rtems_record_caller_arg_9(0, 1, 2, 3, 4, 5, 6, 7, 8);
rtems_record_caller_arg_10(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
rtems_record_entry(RTEMS_RECORD_USER_3);
rtems_record_entry_1(RTEMS_RECORD_USER_3, 0);
rtems_record_entry_2(RTEMS_RECORD_USER_3, 0, 1);
rtems_record_entry_3(RTEMS_RECORD_USER_3, 0, 1, 2);
rtems_record_entry_4(RTEMS_RECORD_USER_3, 0, 1, 2, 3);
rtems_record_entry_5(RTEMS_RECORD_USER_3, 0, 1, 2, 3, 4);
rtems_record_entry_6(RTEMS_RECORD_USER_3, 0, 1, 2, 3, 4, 5);
rtems_record_entry_7(RTEMS_RECORD_USER_3, 0, 1, 2, 3, 4, 5, 6);
rtems_record_entry_8(RTEMS_RECORD_USER_3, 0, 1, 2, 3, 4, 5, 6, 7);
rtems_record_entry_9(RTEMS_RECORD_USER_3, 0, 1, 2, 3, 4, 5, 6, 7, 8);
rtems_record_entry_10(RTEMS_RECORD_USER_3, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
rtems_record_exit(RTEMS_RECORD_USER_4);
rtems_record_exit_1(RTEMS_RECORD_USER_4, 0);
rtems_record_exit_2(RTEMS_RECORD_USER_4, 0, 1);
rtems_record_exit_3(RTEMS_RECORD_USER_4, 0, 1, 2);
rtems_record_exit_4(RTEMS_RECORD_USER_4, 0, 1, 2, 3);
rtems_record_exit_5(RTEMS_RECORD_USER_4, 0, 1, 2, 3, 4);
rtems_record_exit_6(RTEMS_RECORD_USER_4, 0, 1, 2, 3, 4, 5);
rtems_record_exit_7(RTEMS_RECORD_USER_4, 0, 1, 2, 3, 4, 5, 6);
rtems_record_exit_8(RTEMS_RECORD_USER_4, 0, 1, 2, 3, 4, 5, 6, 7);
rtems_record_exit_9(RTEMS_RECORD_USER_4, 0, 1, 2, 3, 4, 5, 6, 7, 8);
rtems_record_exit_10(RTEMS_RECORD_USER_4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
level = rtems_record_interrupt_disable();
rtems_record_interrupt_enable(level);