Provided by: dpdk-doc_24.11.2-2_all bug

NAME

       rte_trace_point.h

SYNOPSIS

       #include <stdbool.h>
       #include <stdio.h>
       #include <rte_branch_prediction.h>
       #include <rte_common.h>
       #include <rte_compat.h>
       #include <rte_cycles.h>
       #include <rte_per_lcore.h>
       #include <rte_stdatomic.h>
       #include <rte_string_fns.h>
       #include <rte_trace.h>
       #include <rte_uuid.h>

   Macros
       #define RTE_TRACE_POINT_ARGS
       #define RTE_TRACE_POINT(tp,  args, ...)      __RTE_TRACE_POINT(generic, tp, args, __VA_ARGS__)
       #define RTE_TRACE_POINT_FP(tp,  args, ...)        __RTE_TRACE_POINT(fp, tp, args, __VA_ARGS__)
       #define RTE_TRACE_POINT_REGISTER(trace,  name)
       #define rte_trace_point_emit_u64(val)
       #define rte_trace_point_emit_i64(val)
       #define rte_trace_point_emit_u32(val)
       #define rte_trace_point_emit_i32(val)
       #define rte_trace_point_emit_u16(val)
       #define rte_trace_point_emit_i16(val)
       #define rte_trace_point_emit_u8(val)
       #define rte_trace_point_emit_i8(val)
       #define rte_trace_point_emit_int(val)
       #define rte_trace_point_emit_long(val)
       #define rte_trace_point_emit_size_t(val)
       #define rte_trace_point_emit_float(val)
       #define rte_trace_point_emit_double(val)
       #define rte_trace_point_emit_ptr(val)
       #define rte_trace_point_emit_string(val)
       #define rte_trace_point_emit_blob(val,  len)
       #define RTE_TRACE_BLOB_LEN_MAX   64

   Functions
       typedef (uint64_t) rte_trace_point_t
       __rte_experimental int rte_trace_point_enable (rte_trace_point_t *tp)
       __rte_experimental int rte_trace_point_disable (rte_trace_point_t *tp)
       __rte_experimental bool rte_trace_point_is_enabled (rte_trace_point_t *tp)
       __rte_experimental rte_trace_point_t * rte_trace_point_lookup (const char *name)

Detailed Description

       RTE Tracepoint API

       This file provides the tracepoint API to RTE applications.

       Warning
           EXPERIMENTAL: this API may change without prior notice

       Definition in file rte_trace_point.h.

Macro Definition Documentation

   #define RTE_TRACE_POINT_ARGS
       Macro to define the tracepoint arguments in RTE_TRACE_POINT macro.

       See also
           RTE_TRACE_POINT, RTE_TRACE_POINT_FP

       Definition at line 44 of file rte_trace_point.h.

   #define RTE_TRACE_POINT(tp, args,  ...)      __RTE_TRACE_POINT(generic, tp, args, __VA_ARGS__)
       Create a tracepoint.

       A tracepoint is defined by specifying:

       • its  input  arguments:  they  are the C function style parameters to define the arguments of tracepoint
         function. These input arguments are embedded using the RTE_TRACE_POINT_ARGS macro.

       • its output event fields: they are the sources of event fields that form the payload of any  event  that
         the  execution  of  the  tracepoint  macro  emits  for this particular tracepoint. The application uses
         rte_trace_point_emit_* macros to emit the output event fields.

       Parameters
           tp Tracepoint object. Before using the tracepoint, an application  needs  to  define  the  tracepoint
           using RTE_TRACE_POINT_REGISTER macro.
           args C function style input arguments to define the arguments to tracepoint function.
           ...  Define  the  payload  of trace function. The payload will be formed using rte_trace_point_emit_*
           macros. Use ';' delimiter between two payloads.

       See also
           RTE_TRACE_POINT_ARGS, RTE_TRACE_POINT_REGISTER, rte_trace_point_emit_*

       Definition at line 80 of file rte_trace_point.h.

   #define RTE_TRACE_POINT_FP(tp, args,  ...)        __RTE_TRACE_POINT(fp, tp, args, __VA_ARGS__)
       Create a tracepoint for fast path.

       Similar to RTE_TRACE_POINT, except that it is removed at compilation time unless the  RTE_ENABLE_TRACE_FP
       configuration parameter is set.

       Parameters
           tp  Tracepoint  object.  Before  using  the tracepoint, an application needs to define the tracepoint
           using RTE_TRACE_POINT_REGISTER macro.
           args C function style input arguments to define the arguments to tracepoint. function.
           ... Define the payload of trace function. The payload will  be  formed  using  rte_trace_point_emit_*
           macros, Use ';' delimiter between two payloads.

       See also
           RTE_TRACE_POINT

       Definition at line 101 of file rte_trace_point.h.

   #define RTE_TRACE_POINT_REGISTER(trace, name)
       Register a tracepoint.

       Parameters
           trace The tracepoint object created using RTE_TRACE_POINT_REGISTER.
           name The name of the tracepoint object.

       Returns

           • 0: Successfully registered the tracepoint.

           • <0: Failure to register the tracepoint.

       Definition at line 117 of file rte_trace_point.h.

   #define rte_trace_point_emit_u64(val)
       Tracepoint function payload for uint64_t datatype

       Definition at line 120 of file rte_trace_point.h.

   #define rte_trace_point_emit_i64(val)
       Tracepoint function payload for int64_t datatype

       Definition at line 122 of file rte_trace_point.h.

   #define rte_trace_point_emit_u32(val)
       Tracepoint function payload for uint32_t datatype

       Definition at line 124 of file rte_trace_point.h.

   #define rte_trace_point_emit_i32(val)
       Tracepoint function payload for int32_t datatype

       Definition at line 126 of file rte_trace_point.h.

   #define rte_trace_point_emit_u16(val)
       Tracepoint function payload for uint16_t datatype

       Definition at line 128 of file rte_trace_point.h.

   #define rte_trace_point_emit_i16(val)
       Tracepoint function payload for int16_t datatype

       Definition at line 130 of file rte_trace_point.h.

   #define rte_trace_point_emit_u8(val)
       Tracepoint function payload for uint8_t datatype

       Definition at line 132 of file rte_trace_point.h.

   #define rte_trace_point_emit_i8(val)
       Tracepoint function payload for int8_t datatype

       Definition at line 134 of file rte_trace_point.h.

   #define rte_trace_point_emit_int(val)
       Tracepoint function payload for int datatype

       Definition at line 136 of file rte_trace_point.h.

   #define rte_trace_point_emit_long(val)
       Tracepoint function payload for long datatype

       Definition at line 138 of file rte_trace_point.h.

   #define rte_trace_point_emit_size_t(val)
       Tracepoint function payload for size_t datatype

       Definition at line 140 of file rte_trace_point.h.

   #define rte_trace_point_emit_float(val)
       Tracepoint function payload for float datatype

       Definition at line 142 of file rte_trace_point.h.

   #define rte_trace_point_emit_double(val)
       Tracepoint function payload for double datatype

       Definition at line 144 of file rte_trace_point.h.

   #define rte_trace_point_emit_ptr(val)
       Tracepoint function payload for pointer datatype

       Definition at line 146 of file rte_trace_point.h.

   #define rte_trace_point_emit_string(val)
       Tracepoint function payload for string datatype

       Definition at line 148 of file rte_trace_point.h.

   #define rte_trace_point_emit_blob(val, len)
       Tracepoint function to capture a blob.

       Parameters
           val Pointer to the array to be captured.
           len Length to be captured. The maximum supported length is RTE_TRACE_BLOB_LEN_MAX bytes.

       Definition at line 158 of file rte_trace_point.h.

   #define RTE_TRACE_BLOB_LEN_MAX   64
       Macro to define maximum emit length of blob.

       Definition at line 168 of file rte_trace_point.h.

Function Documentation

   typedef (uint64_t)
       The tracepoint object.

   __rte_experimental int rte_trace_point_enable (rte_trace_point_t * tp)
       Enable recording events of the given tracepoint in the trace buffer.

       Parameters
           tp The tracepoint object to enable.

       Returns

           • 0: Success.

           • (-ERANGE): Trace object is not registered.

   __rte_experimental int rte_trace_point_disable (rte_trace_point_t * tp)
       Disable recording events of the given tracepoint in the trace buffer.

       Parameters
           tp The tracepoint object to disable.

       Returns

           • 0: Success.

           • (-ERANGE): Trace object is not registered.

   __rte_experimental bool rte_trace_point_is_enabled (rte_trace_point_t * tp)
       Test if recording events from the given tracepoint is enabled.

       Parameters
           tp The tracepoint object.

       Returns
           true if tracepoint is enabled, false otherwise.

   __rte_experimental rte_trace_point_t * rte_trace_point_lookup (const char * name)
       Lookup a tracepoint object from its name.

       Parameters
           name The name of the tracepoint.

       Returns
           The tracepoint object or NULL if not found.

Author

       Generated automatically by Doxygen for DPDK from the source code.

DPDK                                             Version 24.11.2                            rte_trace_point.h(3)