VLC 4.0.0-dev
Loading...
Searching...
No Matches
Collaboration diagram for Tracer API:

Macros

#define vlc_tracer_TraceWithTs(tracer, ts, ...)
 
#define vlc_tracer_Trace(tracer, ...)    vlc_tracer_TraceWithTs(tracer, vlc_tick_now(), __VA_ARGS__)
 
#define VLC_TRACE_END    vlc_tracer_entry_FromString(NULL, NULL)
 
#define VLC_TRACE(key, value)
 
#define VLC_TRACE_TICK_NS(key, tick)   VLC_TRACE((key), NS_FROM_VLC_TICK((tick)))
 

Functions

struct vlc_tracervlc_tracer_Create (vlc_object_t *parent, const char *name)
 Create a tracer object.
 
void vlc_tracer_Destroy (struct vlc_tracer *tracer)
 Destroy a tracer object.
 
void vlc_tracer_TraceWithTs (struct vlc_tracer *tracer, vlc_tick_t ts, const struct vlc_tracer_trace *trace)
 Emit traces.
 
static struct vlc_tracer_entry vlc_tracer_entry_FromInt (const char *key, int64_t value)
 
static struct vlc_tracer_entry vlc_tracer_entry_FromDouble (const char *key, double value)
 
static struct vlc_tracer_entry vlc_tracer_entry_FromString (const char *key, const char *value)
 

Detailed Description

Macro Definition Documentation

◆ VLC_TRACE

#define VLC_TRACE (   key,
  value 
)
Value:
_Generic((value), \
const char *: vlc_tracer_entry_FromString) (key, value)
static struct vlc_tracer_entry vlc_tracer_entry_FromDouble(const char *key, double value)
Definition vlc_tracer.h:181
static struct vlc_tracer_entry vlc_tracer_entry_FromInt(const char *key, int64_t value)
Definition vlc_tracer.h:173
static struct vlc_tracer_entry vlc_tracer_entry_FromString(const char *key, const char *value)
Definition vlc_tracer.h:190

◆ VLC_TRACE_END

#define VLC_TRACE_END    vlc_tracer_entry_FromString(NULL, NULL)

◆ VLC_TRACE_TICK_NS

#define VLC_TRACE_TICK_NS (   key,
  tick 
)    VLC_TRACE((key), NS_FROM_VLC_TICK((tick)))

◆ vlc_tracer_Trace

#define vlc_tracer_Trace (   tracer,
  ... 
)     vlc_tracer_TraceWithTs(tracer, vlc_tick_now(), __VA_ARGS__)

◆ vlc_tracer_TraceWithTs

#define vlc_tracer_TraceWithTs (   tracer,
  ts,
  ... 
)
Value:
(vlc_tracer_TraceWithTs)(tracer, ts, &(const struct vlc_tracer_trace) { \
.entries = (const struct vlc_tracer_entry[]) { \
__VA_ARGS__ \
} \
})
#define vlc_tracer_TraceWithTs(tracer, ts,...)
Definition vlc_tracer.h:163
Trace message.
Definition vlc_tracer.h:69
Trace record containing the key-values from the trace.
Definition vlc_tracer.h:81

Function Documentation

◆ vlc_tracer_Create()

struct vlc_tracer * vlc_tracer_Create ( vlc_object_t parent,
const char *  name 
)

Create a tracer object.

Note
This function is for advanced debugging/testing. Use vlc_object_get_tracer() to get the existing tracer.
Parameters
parentparent object used to create the tracer
namemodule to load or NULL for the default one
Returns
a valid tracer or NULL in case of error

References unlikely, vlc_module_load(), VLC_OBJECT, vlc_object_delete, vlc_object_logger, and vlc_tracer_load().

Referenced by libvlc_InternalInit().

◆ vlc_tracer_Destroy()

void vlc_tracer_Destroy ( struct vlc_tracer tracer)

Destroy a tracer object.

References VLC_OBJECT, and vlc_object_delete.

Referenced by libvlc_InternalCleanup().

◆ vlc_tracer_entry_FromDouble()

static struct vlc_tracer_entry vlc_tracer_entry_FromDouble ( const char *  key,
double  value 
)
inlinestatic

◆ vlc_tracer_entry_FromInt()

static struct vlc_tracer_entry vlc_tracer_entry_FromInt ( const char *  key,
int64_t  value 
)
inlinestatic

◆ vlc_tracer_entry_FromString()

static struct vlc_tracer_entry vlc_tracer_entry_FromString ( const char *  key,
const char *  value 
)
inlinestatic

◆ vlc_tracer_TraceWithTs()

void vlc_tracer_TraceWithTs ( struct vlc_tracer tracer,
vlc_tick_t  ts,
const struct vlc_tracer_trace trace 
)

Emit traces.

Parameters
tracertracer emitting the traces
tstimestamp of the current trace
tracethe trace to register with its list of key / value parameters. Key must be a not NULL string. Value has to be defined with one of the type defined in the vlc_tracer_entry union.

References vlc_tracer::ops, vlc_tracer_operations::trace, and vlc_tracer_module::tracer.