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... | |
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.
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.
ptr_ref | Function pointer reference. |
data | Function argument, if any. May be NULL. |
trace_id | A unique id for this call. Could be a sequence number. |
Definition at line 67 of file tracetools.cpp.
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.
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.
element | the containing link element (usually 'this') |
caller_name | if available, a reference to the caller of this element |
in_data_ref | a pointer to the incoming data element, for association to the preceding link |
out_data_ref | a pointer to the outgoing data element, for association with the succeeding link |
trace_id | an 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.
message_name | Name of the "message" |
callback_ref | Function pointer of the callback you're in |
receipt_time_sec | Seconds part of the receive time |
receipt_time_nsec | Nanoseconds 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.
topic | The topic the callback relates to |
queue_ref | The wrapper object referenced in trace_subscriber_callback_added |
callback_ref | The target function pointer |
message_ref | The message (should match the id in trace_subscription_message_queued) |
receipt_time_sec | Second part of receiption_time |
receipt_time_nsec | Nanosecond part of receiption_time |
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.