summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Wright <michaelwr@google.com>2017-10-11 15:44:26 +0100
committerMichael Wright <michaelwr@google.com>2017-10-11 15:44:26 +0100
commit05cd77c494aa7042fca7978e1b934855598b765e (patch)
treef6fe5ac42ef2b9389220e431a0c4e6eca3dabd1f
parent52ea25cf06cef250ec73052611b48556b3fce4d5 (diff)
downloadnative-05cd77c494aa7042fca7978e1b934855598b765e.tar.gz
Revert PDX tracing.
This broke full-eng / docs / m_e_arm-eng builds. Test: lunch full-eng && m-j8 Change-Id: I79b0176738e4de35cca25e9618e64aa2bd4c4316
-rw-r--r--libs/vr/libbufferhubqueue/buffer_hub_queue_client.cpp14
-rw-r--r--libs/vr/libpdx/private/pdx/trace.h97
2 files changed, 25 insertions, 86 deletions
diff --git a/libs/vr/libbufferhubqueue/buffer_hub_queue_client.cpp b/libs/vr/libbufferhubqueue/buffer_hub_queue_client.cpp
index 8bea0cde7a..095404ba51 100644
--- a/libs/vr/libbufferhubqueue/buffer_hub_queue_client.cpp
+++ b/libs/vr/libbufferhubqueue/buffer_hub_queue_client.cpp
@@ -176,11 +176,6 @@ bool BufferHubQueue::WaitForBuffers(int timeout) {
int32_t index;
std::tie(event_fd, index) = Unstuff(events[i].data.u64);
- PDX_TRACE_FORMAT(
- "epoll_event|queue_id=%d;num_events=%d;event_index=%d;event_fd=%d;"
- "slot=%d|",
- id(), num_events, i, event_fd, index);
-
ALOGD_IF(TRACE,
"BufferHubQueue::WaitForBuffers: event %d: event_fd=%d index=%d",
i, event_fd, index);
@@ -218,10 +213,6 @@ Status<void> BufferHubQueue::HandleBufferEvent(size_t slot, int event_fd,
}
const int events = status.get();
- PDX_TRACE_FORMAT(
- "buffer|queue_id=%d;buffer_id=%d;slot=%zu;event_fd=%d;poll_events=%x;"
- "events=%d|",
- id(), buffers_[slot]->id(), slot, event_fd, poll_events, events);
if (events & EPOLLIN) {
return Enqueue({buffers_[slot], slot, buffers_[slot]->GetQueueIndex()});
@@ -353,17 +344,12 @@ Status<std::shared_ptr<BufferHubBuffer>> BufferHubQueue::Dequeue(int timeout,
ALOGD_IF(TRACE, "BufferHubQueue::Dequeue: count=%zu, timeout=%d", count(),
timeout);
- PDX_TRACE_FORMAT("BufferHubQueue::Dequeue|count=%zu|", count());
-
if (count() == 0) {
if (!WaitForBuffers(timeout))
return ErrorStatus(ETIMEDOUT);
}
auto& entry = available_buffers_.top();
- PDX_TRACE_FORMAT("buffer|buffer_id=%d;slot=%zu|", entry.buffer->id(),
- entry.slot);
-
std::shared_ptr<BufferHubBuffer> buffer = std::move(entry.buffer);
*slot = entry.slot;
diff --git a/libs/vr/libpdx/private/pdx/trace.h b/libs/vr/libpdx/private/pdx/trace.h
index c687fd6259..ebe8491ebc 100644
--- a/libs/vr/libpdx/private/pdx/trace.h
+++ b/libs/vr/libpdx/private/pdx/trace.h
@@ -1,82 +1,35 @@
#ifndef ANDROID_PDX_TRACE_H_
#define ANDROID_PDX_TRACE_H_
-#include <array>
+// Tracing utilities for libpdx. Tracing in the service framework is enabled
+// under these conditions:
+// 1. ATRACE_TAG is defined, AND
+// 2. ATRACE_TAG does not equal ATRACE_TAG_NEVER, AND
+// 3. PDX_TRACE_ENABLED is defined, AND
+// 4. PDX_TRACE_ENABLED is equal to logical true.
+//
+// If any of these conditions are not met tracing is completely removed from the
+// library and headers.
+
+// If ATRACE_TAG is not defined, default to never.
+#ifndef ATRACE_TAG
+#define ATRACE_TAG ATRACE_TAG_NEVER
+#endif
+// Include tracing functions after the trace tag is defined.
#include <utils/Trace.h>
-// Enables internal tracing in libpdx. This is disabled by default to avoid
-// spamming the trace buffers during normal trace activities. libpdx must be
-// built with this set to true to enable internal tracing.
-#ifndef PDX_LIB_TRACE_ENABLED
-#define PDX_LIB_TRACE_ENABLED false
+// If PDX_TRACE_ENABLED is not defined, default to off.
+#ifndef PDX_TRACE_ENABLED
+#define PDX_TRACE_ENABLED 0
#endif
-namespace android {
-namespace pdx {
-
-// Utility to generate scoped tracers with arguments.
-class ScopedTraceArgs {
- public:
- template <typename... Args>
- ScopedTraceArgs(uint64_t tag, const char* format, Args&&... args)
- : tag_{tag} {
- if (atrace_is_tag_enabled(tag_)) {
- std::array<char, 1024> buffer;
- snprintf(buffer.data(), buffer.size(), format,
- std::forward<Args>(args)...);
- atrace_begin(tag_, buffer.data());
- }
- }
-
- ~ScopedTraceArgs() { atrace_end(tag_); }
-
- private:
- uint64_t tag_;
-
- ScopedTraceArgs(const ScopedTraceArgs&) = delete;
- void operator=(const ScopedTraceArgs&) = delete;
-};
-
-// Utility to generate scoped tracers.
-class ScopedTrace {
- public:
- template <typename... Args>
- ScopedTrace(uint64_t tag, bool enabled, const char* name)
- : tag_{tag}, enabled_{enabled} {
- if (enabled_)
- atrace_begin(tag_, name);
- }
-
- ~ScopedTrace() {
- if (enabled_)
- atrace_end(tag_);
- }
-
- private:
- uint64_t tag_;
- bool enabled_;
-
- ScopedTrace(const ScopedTrace&) = delete;
- void operator=(const ScopedTrace&) = delete;
-};
-
-} // namespace pdx
-} // namespace android
-
-// Macro to define a scoped tracer with arguments. Uses PASTE(x, y) macro
-// defined in utils/Trace.h.
-#define PDX_TRACE_FORMAT(format, ...) \
- ::android::pdx::ScopedTraceArgs PASTE(__tracer, __LINE__) { \
- ATRACE_TAG, format, ##__VA_ARGS__ \
- }
-
-// TODO(eieio): Rename this to PDX_LIB_TRACE_NAME() for internal use by libpdx
-// and rename internal uses inside the library. This version is only enabled
-// when PDX_LIB_TRACE_ENABLED is true.
-#define PDX_TRACE_NAME(name) \
- ::android::pdx::ScopedTrace PASTE(__tracer, __LINE__) { \
- ATRACE_TAG, PDX_LIB_TRACE_ENABLED, name \
- }
+#if (ATRACE_TAG) != (ATRACE_TAG_NEVER) && (PDX_TRACE_ENABLED)
+#define PDX_TRACE_NAME ATRACE_NAME
+#else
+#define PDX_TRACE_NAME(name) \
+ do { \
+ } while (0)
+#endif
#endif // ANDROID_PDX_TRACE_H_