From 05cd77c494aa7042fca7978e1b934855598b765e Mon Sep 17 00:00:00 2001 From: Michael Wright Date: Wed, 11 Oct 2017 15:44:26 +0100 Subject: [PATCH] Revert PDX tracing. This broke full-eng / docs / m_e_arm-eng builds. Test: lunch full-eng && m-j8 Change-Id: I79b0176738e4de35cca25e9618e64aa2bd4c4316 --- .../libbufferhubqueue/buffer_hub_queue_client.cpp | 14 ---- libs/vr/libpdx/private/pdx/trace.h | 97 ++++++---------------- 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 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> 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 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 +// 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 -// 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 - ScopedTraceArgs(uint64_t tag, const char* format, Args&&... args) - : tag_{tag} { - if (atrace_is_tag_enabled(tag_)) { - std::array buffer; - snprintf(buffer.data(), buffer.size(), format, - std::forward(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 - 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_ -- 2.11.0