Namespaces | Functions
ros::trace Namespace Reference

Namespaces

 impl
 

Functions

void call_end (const void *ptr_ref, const void *data, const uint64_t trace_id)
 Trace the end of a user-callback invocation. More...
 
void call_start (const void *ptr_ref, const void *data, const uint64_t trace_id)
 Trace the start of a function call through a function pointer. More...
 
template<typename T >
void callback_wrapper (const void *func_ptr, const boost::shared_ptr< T > &helper)
 Legacy compatibility function for above which takes a wrapper function directly. More...
 
bool compile_status () throw ()
 report whether tracing is compiled in More...
 
void fn_name_info (const void *fun_ptr, const void *ref)
 Emit tracing information linking the function ptr's name to the given reference pointer. More...
 
template<class P >
const void * get_ptr (const boost::function< void(P)> &func_ptr)
 
void link_step (const char *element_name, const void *caller_name, const void *in_data_ref, const void *out_data_ref, const uint64_t trace_id)
 Emit a trace message for a link in a processing chain. More...
 
void message_processed (const char *message_name, const void *callback_ref, const uint32_t receipt_time_sec, const uint32_t receipt_time_nsec)
 Mark the processing of a given "message". More...
 
void new_connection (const char *local_hostport_arg, const char *remote_hostport_arg, const void *channel_ref_arg, const char *channel_type_arg, const char *name_arg, const char *data_type_arg)
 Trace metadata on creation of a new connection. More...
 
void node_init (const char *node_name, unsigned int roscpp_version)
 also set's procname, but be aware that's limited to 16 chars More...
 
void publisher_link_handle_message (const void *channel_ref_arg, const void *buffer_ref_arg)
 Trace metadata on creation of a publisher link (incoming topic connection) More...
 
void publisher_message_queued (const char *topic_arg, const void *buffer_ref_arg)
 Trace a message being queue for publishing. More...
 
void publisher_message_queued (const std::string &topic_arg, const void *buffer_ref_arg)
 
void queue_delay (const char *queue_name, const void *ptr_ref, const void *data, const uint32_t entry_time_sec, const uint32_t entry_time_nsec)
 Trace queue delay experienced by the given function pointer. More...
 
void subscriber_call_end (const std::string &topic, const void *queue_ref, const void *callback_ref, const void *message_ref, int receipt_time_sec, int receipt_time_nsec)
 Marks the end of the call, same arguments as above. More...
 
void subscriber_call_start (const std::string &topic, const void *queue_ref, const void *callback_ref, const void *message_ref, int receipt_time_sec, int receipt_time_nsec)
 Trace the invocation of a previously queued subscriber call. More...
 
void subscriber_callback_added (const void *queue_ref_arg, const void *callback_ref_arg, const char *type_info_arg, const char *data_type_arg, const char *source_name_arg, int queue_size_arg)
 Trace metadata on a new subscription callback. More...
 
void subscriber_link_message_dropped (const void *message_ref_arg)
 Trac on an incoming message being dropped (queue full, etc.) More...
 
void subscriber_link_message_write (const void *message_ref_arg, const void *channel_ref_arg)
 Trace on a message being written to the socket. More...
 
void subscription_message_dropped (const char *topic_arg, const void *buffer_arg, const void *queue_ref_arg, const void *callback_ref_arg, const void *message_ref_arg, int receipt_time_sec, int receipt_time_nsec)
 
void subscription_message_queued (const char *topic_arg, const void *buffer_ref_arg, const void *queue_ref_arg, const void *callback_ref_arg, const void *message_ref_arg, int receipt_time_sec_arg, int receipt_time_nsec_arg)
 Trace on a message having been received and queued. More...
 
void task_init (const char *task_name, const char *owner=NULL)
 emit a tracepoint specifying a name for this thread. More...
 
void time_sleep (const void *callback_ref, int sleep_sec, int sleep_nsec)
 
void timer_added (const void *fun_ptr, const char *type_info, int period_sec, int period_nsec)
 
void timer_scheduled (const void *callback_ref, const void *timer_ref)
 Emit tracing information that the timer identified by 'timer_ref' has been scheduled for invocation on the callback-queue using the wrapper callback 'callback_ref'. More...
 

Function Documentation

void ros::trace::call_end ( const void *  ptr_ref,
const void *  data,
const uint64_t  trace_id 
)

Trace the end of a user-callback invocation.

See also
trace_call_start.

Definition at line 73 of file tracetools.cpp.

void ros::trace::call_start ( const void *  ptr_ref,
const void *  data,
const uint64_t  trace_id 
)

Trace the start of a function call through a function pointer.

Note: This should only be used if the exact function pointer given here has been registered using trace_name_info. For the ROS subscription queue, which creates new callback objects on every message, use trace_subscriber_callback_start instead

Note: This is intended for use by the middleware, which invokes user-defined functions through function pointers.

Parameters
ptr_refFunction pointer reference.
dataFunction argument, if any. May be NULL.
trace_idA unique id for this call. Could be a sequence number.
See also
ros::trace::callback_wrapper
trace_call_end

Definition at line 67 of file tracetools.cpp.

template<typename T >
void ros::trace::callback_wrapper ( const void *  func_ptr,
const boost::shared_ptr< T > &  helper 
)

Legacy compatibility function for above which takes a wrapper function directly.

Definition at line 58 of file tracetools.h.

bool ros::trace::compile_status ( )
throw (
)

report whether tracing is compiled in

Definition at line 29 of file tracetools.cpp.

void ros::trace::fn_name_info ( const void *  fun_ptr,
const void *  ref 
)

Emit tracing information linking the function ptr's name to the given reference pointer.

Definition at line 88 of file tracetools.cpp.

template<class P >
const void* ros::trace::get_ptr ( const boost::function< void(P)> &  func_ptr)

Definition at line 26 of file tracetools.h.

void ros::trace::link_step ( const char *  element_name,
const void *  caller_name,
const void *  in_data_ref,
const void *  out_data_ref,
const uint64_t  trace_id 
)

Emit a trace message for a link in a processing chain.

Parameters
elementthe containing link element (usually 'this')
caller_nameif available, a reference to the caller of this element
in_data_refa pointer to the incoming data element, for association to the preceding link
out_data_refa pointer to the outgoing data element, for association with the succeeding link
trace_idan optional id for distinguishing different traces where the data refcallback_wrapper's are the same

Definition at line 128 of file tracetools.cpp.

void ros::trace::message_processed ( const char *  message_name,
const void *  callback_ref,
const uint32_t  receipt_time_sec,
const uint32_t  receipt_time_nsec 
)

Mark the processing of a given "message".

Note that, by using internal message-names, this also constitutes the main tracepoint for user-defined tracing.

Hint: Every trace message also includes the timestamp of the trace function call with microsecond precision. If the time of processing and of receipt is almost the same, this is often sufficient. OTOH, if you process message at fixed rates, it can be useful.

Hint2: The callback_ref argument is also necessary for disambiguation if the same message could be processed in multiple places. If the message-name itself is unique, you can omit it without impacting analysis.

Parameters
message_nameName of the "message"
callback_refFunction pointer of the callback you're in
receipt_time_secSeconds part of the receive time
receipt_time_nsecNanoseconds part of the receive time

Definition at line 79 of file tracetools.cpp.

void ros::trace::new_connection ( const char *  local_hostport_arg,
const char *  remote_hostport_arg,
const void *  channel_ref_arg,
const char *  channel_type_arg,
const char *  name_arg,
const char *  data_type_arg 
)

Trace metadata on creation of a new connection.

Definition at line 143 of file tracetools.cpp.

void ros::trace::node_init ( const char *  node_name,
unsigned int  roscpp_version 
)

also set's procname, but be aware that's limited to 16 chars

Definition at line 61 of file tracetools.cpp.

void ros::trace::publisher_link_handle_message ( const void *  channel_ref_arg,
const void *  buffer_ref_arg 
)

Trace metadata on creation of a publisher link (incoming topic connection)

Definition at line 152 of file tracetools.cpp.

void ros::trace::publisher_message_queued ( const char *  topic_arg,
const void *  buffer_ref_arg 
)

Trace a message being queue for publishing.

Definition at line 160 of file tracetools.cpp.

void ros::trace::publisher_message_queued ( const std::string &  topic_arg,
const void *  buffer_ref_arg 
)

Definition at line 166 of file tracetools.cpp.

void ros::trace::queue_delay ( const char *  queue_name,
const void *  ptr_ref,
const void *  data,
const uint32_t  entry_time_sec,
const uint32_t  entry_time_nsec 
)

Trace queue delay experienced by the given function pointer.

Definition at line 238 of file tracetools.cpp.

void ros::trace::subscriber_call_end ( const std::string &  topic,
const void *  queue_ref,
const void *  callback_ref,
const void *  message_ref,
int  receipt_time_sec,
int  receipt_time_nsec 
)

Marks the end of the call, same arguments as above.

Definition at line 229 of file tracetools.cpp.

void ros::trace::subscriber_call_start ( const std::string &  topic,
const void *  queue_ref,
const void *  callback_ref,
const void *  message_ref,
int  receipt_time_sec,
int  receipt_time_nsec 
)

Trace the invocation of a previously queued subscriber call.

Note: This is intended for use by the middleware, which invokes user-defined functions through function pointers.

Parameters
topicThe topic the callback relates to
queue_refThe wrapper object referenced in trace_subscriber_callback_added
callback_refThe target function pointer
message_refThe message (should match the id in trace_subscription_message_queued)
receipt_time_secSecond part of receiption_time
receipt_time_nsecNanosecond part of receiption_time
See also
trace_subscriber_callback_added
trace_subscription_message_queued

Definition at line 221 of file tracetools.cpp.

void ros::trace::subscriber_callback_added ( const void *  queue_ref_arg,
const void *  callback_ref_arg,
const char *  type_info_arg,
const char *  data_type_arg,
const char *  source_name_arg,
int  queue_size_arg 
)

Trace metadata on a new subscription callback.

Definition at line 210 of file tracetools.cpp.

void ros::trace::subscriber_link_message_dropped ( const void *  message_ref_arg)

Trac on an incoming message being dropped (queue full, etc.)

Definition at line 180 of file tracetools.cpp.

void ros::trace::subscriber_link_message_write ( const void *  message_ref_arg,
const void *  channel_ref_arg 
)

Trace on a message being written to the socket.

Definition at line 173 of file tracetools.cpp.

void ros::trace::subscription_message_dropped ( const char *  topic_arg,
const void *  buffer_arg,
const void *  queue_ref_arg,
const void *  callback_ref_arg,
const void *  message_ref_arg,
int  receipt_time_sec,
int  receipt_time_nsec 
)

Definition at line 196 of file tracetools.cpp.

void ros::trace::subscription_message_queued ( const char *  topic_arg,
const void *  buffer_ref_arg,
const void *  queue_ref_arg,
const void *  callback_ref_arg,
const void *  message_ref_arg,
int  receipt_time_sec_arg,
int  receipt_time_nsec_arg 
)

Trace on a message having been received and queued.

Definition at line 186 of file tracetools.cpp.

void ros::trace::task_init ( const char *  task_name,
const char *  owner = NULL 
)

emit a tracepoint specifying a name for this thread.

also set's procname, and tries to create something that's unique within 16 chars by truncating task_name if necessary

Definition at line 36 of file tracetools.cpp.

void ros::trace::time_sleep ( const void *  callback_ref,
int  sleep_sec,
int  sleep_nsec 
)

Definition at line 122 of file tracetools.cpp.

void ros::trace::timer_added ( const void *  fun_ptr,
const char *  type_info,
int  period_sec,
int  period_nsec 
)

Definition at line 107 of file tracetools.cpp.

void ros::trace::timer_scheduled ( const void *  callback_ref,
const void *  timer_ref 
)

Emit tracing information that the timer identified by 'timer_ref' has been scheduled for invocation on the callback-queue using the wrapper callback 'callback_ref'.

Definition at line 116 of file tracetools.cpp.



tracetools
Author(s): Ingo Luetkebohle
autogenerated on Wed Dec 18 2019 03:54:24