Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a3d2ec8a authored by Priyanka Advani's avatar Priyanka Advani Committed by Android (Google) Code Review
Browse files

Revert "Fix libtracing_perfetto performance impact"

This reverts commit 81deab75.

Reason for revert: Droid-monitored triggered revert due to likely culprit for breakages in b/329487228. Will be verifying through ABTD before submitting the revert.

Change-Id: I83f9eac29fb9f51e2d79053c6e98a047d7ab74d9
parent 81deab75
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -131,8 +131,7 @@ Result traceCounter(uint64_t category, const char* name, int64_t value) {
}

uint64_t getEnabledCategories() {
  if (internal::isPerfettoRegistered()) {
    // TODO(b/303199244): Return only enabled categories and not all registered ones
  if (internal::isPerfettoSdkTracingEnabled()) {
    return internal::getDefaultCategories();
  } else {
    return atrace_get_enabled_tags();
+7 −7
Original line number Diff line number Diff line
@@ -70,8 +70,6 @@ PERFETTO_TE_CATEGORIES_DECLARE(FRAMEWORK_CATEGORIES);

PERFETTO_TE_CATEGORIES_DEFINE(FRAMEWORK_CATEGORIES);

std::atomic_bool is_perfetto_registered = false;

struct PerfettoTeCategory* toCategory(uint64_t inCategory) {
  switch (inCategory) {
    case TRACE_CATEGORY_ALWAYS:
@@ -137,11 +135,15 @@ struct PerfettoTeCategory* toCategory(uint64_t inCategory) {

}  // namespace

bool isPerfettoRegistered() {
  return is_perfetto_registered;
bool isPerfettoSdkTracingEnabled() {
  return android::os::perfetto_sdk_tracing();
}

struct PerfettoTeCategory* toPerfettoCategory(uint64_t category) {
  if (!isPerfettoSdkTracingEnabled()) {
    return nullptr;
  }

  struct PerfettoTeCategory* perfettoCategory = toCategory(category);
  bool enabled = PERFETTO_UNLIKELY(PERFETTO_ATOMIC_LOAD_EXPLICIT(
      (*perfettoCategory).enabled, PERFETTO_MEMORY_ORDER_RELAXED));
@@ -149,10 +151,9 @@ struct PerfettoTeCategory* toPerfettoCategory(uint64_t category) {
}

void registerWithPerfetto(bool test) {
  if (!android::os::perfetto_sdk_tracing()) {
  if (!isPerfettoSdkTracingEnabled()) {
    return;
  }

  static std::once_flag registration;
  std::call_once(registration, [test]() {
    struct PerfettoProducerInitArgs args = PERFETTO_PRODUCER_INIT_ARGS_INIT();
@@ -160,7 +161,6 @@ void registerWithPerfetto(bool test) {
    PerfettoProducerInit(args);
    PerfettoTeInit();
    PERFETTO_TE_REGISTER_CATEGORIES(FRAMEWORK_CATEGORIES);
    is_perfetto_registered = true;
  });
}

+1 −1
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ namespace tracing_perfetto {

namespace internal {

bool isPerfettoRegistered();
bool isPerfettoSdkTracingEnabled();

struct PerfettoTeCategory* toPerfettoCategory(uint64_t category);