Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
rte_trace_point.h(3)		     DPDK		  rte_trace_point.h(3)

NAME
       rte_trace_point.h

SYNOPSIS
       #include	<stdbool.h>
       #include	<stdio.h>
       #include	<time.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_time_t(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 47 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 85 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 106 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 122 of file rte_trace_point.h.

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

       Definition at line 125 of file rte_trace_point.h.

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

       Definition at line 127 of file rte_trace_point.h.

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

       Definition at line 129 of file rte_trace_point.h.

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

       Definition at line 131 of file rte_trace_point.h.

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

       Definition at line 133 of file rte_trace_point.h.

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

       Definition at line 135 of file rte_trace_point.h.

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

       Definition at line 137 of file rte_trace_point.h.

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

       Definition at line 139 of file rte_trace_point.h.

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

       Definition at line 141 of file rte_trace_point.h.

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

       Definition at line 143 of file rte_trace_point.h.

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

       Definition at line 145 of file rte_trace_point.h.

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

       Definition at line 147 of file rte_trace_point.h.

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

       Definition at line 149 of file rte_trace_point.h.

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

       Definition at line 151 of file rte_trace_point.h.

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

       Definition at line 153 of file rte_trace_point.h.

   #define rte_trace_point_emit_time_t(val)
       Tracepoint function payload for time_t datatype

       Definition at line 155 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 165 of file rte_trace_point.h.

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

       Definition at line 175 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.

Version	25.11.0			Thu Jun	11 2026		  rte_trace_point.h(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=RTE_TRACE_BLOB_LEN_MAX&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help