am 66317770: cutils: trace: add asynchronous events
* commit '66317770d37c012b12609defdc750304c97bd8d3': cutils: trace: add asynchronous events
This commit is contained in:
commit
ee2dccf21b
1 changed files with 41 additions and 0 deletions
|
|
@ -181,6 +181,47 @@ static inline void atrace_end(uint64_t tag)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Trace the beginning of an asynchronous event. Unlike ATRACE_BEGIN/ATRACE_END
|
||||||
|
* contexts, asynchronous events do not need to be nested. The name describes
|
||||||
|
* the event, and the cookie provides a unique identifier for distinguishing
|
||||||
|
* simultaneous events. The name and cookie used to begin an event must be
|
||||||
|
* used to end it.
|
||||||
|
*/
|
||||||
|
#define ATRACE_ASYNC_BEGIN(name, cookie) \
|
||||||
|
atrace_async_begin(ATRACE_TAG, name, cookie)
|
||||||
|
static inline void atrace_async_begin(uint64_t tag, const char* name,
|
||||||
|
int32_t cookie)
|
||||||
|
{
|
||||||
|
if (CC_UNLIKELY(atrace_is_tag_enabled(tag))) {
|
||||||
|
char buf[ATRACE_MESSAGE_LENGTH];
|
||||||
|
size_t len;
|
||||||
|
|
||||||
|
len = snprintf(buf, ATRACE_MESSAGE_LENGTH, "S|%d|%s|%d", getpid(),
|
||||||
|
name, cookie);
|
||||||
|
write(atrace_marker_fd, buf, len);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Trace the end of an asynchronous event.
|
||||||
|
* This should have a corresponding ATRACE_ASYNC_BEGIN.
|
||||||
|
*/
|
||||||
|
#define ATRACE_ASYNC_END(name, cookie) atrace_async_end(ATRACE_TAG, name, cookie)
|
||||||
|
static inline void atrace_async_end(uint64_t tag, const char* name,
|
||||||
|
int32_t cookie)
|
||||||
|
{
|
||||||
|
if (CC_UNLIKELY(atrace_is_tag_enabled(tag))) {
|
||||||
|
char buf[ATRACE_MESSAGE_LENGTH];
|
||||||
|
size_t len;
|
||||||
|
|
||||||
|
len = snprintf(buf, ATRACE_MESSAGE_LENGTH, "F|%d|%s|%d", getpid(),
|
||||||
|
name, cookie);
|
||||||
|
write(atrace_marker_fd, buf, len);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Traces an integer counter value. name is used to identify the counter.
|
* Traces an integer counter value. name is used to identify the counter.
|
||||||
* This can be used to track how a value changes over time.
|
* This can be used to track how a value changes over time.
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue