from small one page howto to huge articles all in one place
poll results
Last additions:
May 25th. 2007:
April, 26th. 2006:
| You are here: manpages
POSIX_TRACE_EVENT
Section: POSIX Programmer's Manual (3P) Updated: 2003 Index
Return to Main Contents
PROLOG
This manual page is part of the POSIX Programmer's Manual.
The Linux implementation of this interface may differ (consult
the corresponding Linux manual page for details of Linux behavior),
or the interface may not be implemented on Linux.
NAME
posix_trace_event, posix_trace_eventid_open - trace functions for
instrumenting application code
(TRACING)
SYNOPSIS
#include <sys/types.h>
#include <trace.h>
void posix_trace_event(trace_event_id_t event_id,
const void *restrictdata_ptr, size_t data_len);
int posix_trace_eventid_open(const char *restrict event_name,
trace_event_id_t *restrict event_id);
DESCRIPTION
The posix_trace_event() function shall record the event_id
and the user data pointed to by data_ptr in the
trace stream into which the calling process is being traced and in
which event_id is not filtered out. If the total size of
the user trace event data represented by data_len is not greater
than the declared maximum size for user trace event data,
then the truncation-status attribute of the trace event recorded
is POSIX_TRACE_NOT_TRUNCATED. Otherwise, the user trace
event data is truncated to this declared maximum size and the truncation-status
attribute of the trace event recorded is
POSIX_TRACE_TRUNCATED_RECORD.
If there is no trace stream created for the process or if the created
trace stream is not running, or if the trace event
specified by event_id is filtered out in the trace stream, the
posix_trace_event() function shall have no effect.
The posix_trace_eventid_open() function shall associate a user
trace event name with a trace event type identifier for
the calling process. The trace event name is the string pointed to
by the argument event_name. It shall have a maximum of
{TRACE_EVENT_NAME_MAX} characters (which has the minimum value {_POSIX_TRACE_EVENT_NAME_MAX}).
The number of user trace event type
identifiers that can be defined for any given process is limited by
the maximum value {TRACE_USER_EVENT_MAX}, which has the minimum
value {POSIX_TRACE_USER_EVENT_MAX}.
If the Trace Inherit option is not supported, the posix_trace_eventid_open()
function shall associate the user trace
event name pointed to by the event_name argument with a trace
event type identifier that is unique for the traced process,
and is returned in the variable pointed to by the event_id argument.
If the user trace event name has already been mapped
for the traced process, then the previously assigned trace event type
identifier shall be returned. If the per-process user trace
event name limit represented by {TRACE_USER_EVENT_MAX} has been reached,
the pre-defined POSIX_TRACE_UNNAMED_USEREVENT (see Trace Option:
User Trace Event ) user trace event shall be returned.
If the Trace Inherit option is supported, the posix_trace_eventid_open()
function shall associate the user trace event name
pointed to by the event_name argument with a trace event type
identifier that is unique for all the processes being traced
in this same trace stream, and is returned in the variable pointed
to by the event_id argument. If the user trace event name
has already been mapped for the traced processes, then the previously
assigned trace event type identifier shall be returned. If
the per-process user trace event name limit represented by {TRACE_USER_EVENT_MAX}
has been reached, the pre-defined
POSIX_TRACE_UNNAMED_USEREVENT ( Trace Option: User Trace Event
) user trace event
shall be returned.
- Note:
-
The above procedure, together with the fact that multiple processes
can only be traced into the same trace stream by
inheritance, ensure that all the processes that are traced into a
trace stream have the same mapping of trace event names to trace
event type identifiers.
If there is no trace stream created, the posix_trace_eventid_open()
function shall store this information for future
trace streams created for this process.
RETURN VALUE
No return value is defined for the posix_trace_event() function.
Upon successful completion, the posix_trace_eventid_open() function
shall return a value of zero. Otherwise, it shall
return the corresponding error number. The posix_trace_eventid_open()
function stores the trace event type identifier value
in the object pointed to by event_id, if successful.
ERRORS
The posix_trace_eventid_open() function shall fail if:
- ENAMETOOLONG
-
The size of the name pointed to by the event_name argument was
longer than the implementation-defined value
{TRACE_EVENT_NAME_MAX}.
The following sections are informative.
EXAMPLES
None.
APPLICATION USAGE
None.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
Trace Option: User Trace Event, posix_trace_start(),
posix_trace_trid_eventid_open(), the Base Definitions volume
of
IEEE Std 1003.1-2001, <sys/types.h>, <trace.h>
COPYRIGHT
Portions of this text are reprinted and reproduced in electronic form
from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
-- Portable Operating System Interface (POSIX), The Open Group Base
Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
Electrical and Electronics Engineers, Inc and The Open Group. In the
event of any discrepancy between this version and the original IEEE and
The Open Group Standard, the original IEEE and The Open Group Standard
is the referee document. The original Standard can be obtained online at
http://www.opengroup.org/unix/online.html .
Index
- PROLOG
-
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUE
-
- ERRORS
-
- EXAMPLES
-
- APPLICATION USAGE
-
- RATIONALE
-
- FUTURE DIRECTIONS
-
- SEE ALSO
-
- COPYRIGHT
-
Please read "Why adblockers are badwww.cars2fast4u.de
|