reactor-c
C Runtime for Lingua Franca
Loading...
Searching...
No Matches
tracepoint.h File Reference

Definitions of tracepoint functions for use with the C code generator and any other code generator that uses the C infrastructure (such as the Python code generator). More...

#include "lf_types.h"
#include <stdio.h>
#include "trace_types.h"

Go to the source code of this file.

Macros

#define TRACEPOINT_H
 
#define tracepoint_reaction_starts(env, reaction, worker)
 
#define tracepoint_reaction_ends(env, reaction, worker)
 
#define tracepoint_worker_wait_starts(env, worker)
 
#define tracepoint_worker_wait_ends(env, worker)
 
#define tracepoint_scheduler_advancing_time_starts(env)
 
#define tracepoint_scheduler_advancing_time_ends(env)
 
#define tracepoint_reaction_deadline_missed(env, reaction, worker)
 

Typedefs

typedef struct trace_t trace_t
 

Detailed Description

Definitions of tracepoint functions for use with the C code generator and any other code generator that uses the C infrastructure (such as the Python code generator).

Author
Edward A. Lee
Peter Donovan

See: https://www.lf-lang.org/docs/handbook/tracing?target=c

The trace file is named trace.lft and is a binary file with the following format:

Header:

  • instant_t: The start time. This is both the starting physical time and the starting logical time.
  • int: Size N of the table mapping pointers to descriptions. This is followed by N records each of which has:
  • A pointer value (the key).
  • A null-terminated string (the description).

Traces: A sequence of traces, each of which begins with an int giving the length of the trace followed by binary representations of the trace_record struct written using fwrite().

Macro Definition Documentation

◆ TRACEPOINT_H

#define TRACEPOINT_H

◆ tracepoint_reaction_deadline_missed

#define tracepoint_reaction_deadline_missed ( env,
reaction,
worker )
Value:
while (0) { \
(void)env; \
(void)reaction; \
(void)worker; \
}
void * worker(void *arg)
Definition reactor_threaded.c:875

◆ tracepoint_reaction_ends

#define tracepoint_reaction_ends ( env,
reaction,
worker )
Value:
while (0) { \
(void)env; \
(void)reaction; \
(void)worker; \
}

◆ tracepoint_reaction_starts

#define tracepoint_reaction_starts ( env,
reaction,
worker )
Value:
while (0) { \
(void)env; \
(void)reaction; \
(void)worker; \
}

◆ tracepoint_scheduler_advancing_time_ends

#define tracepoint_scheduler_advancing_time_ends ( env)
Value:
while (0) { \
(void)env; \
}

◆ tracepoint_scheduler_advancing_time_starts

#define tracepoint_scheduler_advancing_time_starts ( env)
Value:
while (0) { \
(void)env; \
}

◆ tracepoint_worker_wait_ends

#define tracepoint_worker_wait_ends ( env,
worker )
Value:
while (0) { \
(void)env; \
(void)worker; \
}

◆ tracepoint_worker_wait_starts

#define tracepoint_worker_wait_starts ( env,
worker )
Value:
while (0) { \
(void)env; \
(void)worker; \
}

Typedef Documentation

◆ trace_t

typedef struct trace_t trace_t