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

Commit 32ac3f16 authored by James Hawkins's avatar James Hawkins Committed by android-build-merger
Browse files

Merge "libmetricslogger: Lookup tag ID by name at runtime." am: 90e9c1f0

am: 2c41fa99

Change-Id: I5a8362a9f6b2a865f00c3374f7e9474756a7a9e2
parents 7b25ef1c 2c41fa99
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -18,12 +18,6 @@ cc_defaults {
        "-Wall",
        "-Wextra",
        "-Werror",

        // The following define maps the sysui_multi_action logtag ID as represented by:
        //   frameworks/base/core/java/com/android/internal/logging/EventLogTags.logtags
        //
        // TODO(jhawkins): Query this value at runtime.
        "-DMULTI_ACTION_LOG_TAG=524292",
    ],
}

+12 −3
Original line number Diff line number Diff line
@@ -18,28 +18,37 @@

#include <cstdlib>

#include <log/event_tag_map.h>
#include <log/log_event_list.h>

namespace {

EventTagMap* kEventTagMap = android_openEventTagMap(nullptr);
const int kSysuiMultiActionTag = android_lookupEventTagNum(
    kEventTagMap, "sysui_multi_action", "(content|4)", ANDROID_LOG_UNKNOWN);

}  // namespace

namespace android {
namespace metricslogger {

// Mirror com.android.internal.logging.MetricsLogger#histogram().
void LogHistogram(const std::string& event, int32_t data) {
    android_log_event_list log(MULTI_ACTION_LOG_TAG);
    android_log_event_list log(kSysuiMultiActionTag);
    log << LOGBUILDER_CATEGORY << LOGBUILDER_HISTOGRAM << LOGBUILDER_NAME << event
        << LOGBUILDER_BUCKET << data << LOGBUILDER_VALUE << 1 << LOG_ID_EVENTS;
}

// Mirror com.android.internal.logging.MetricsLogger#count().
void LogCounter(const std::string& name, int32_t val) {
    android_log_event_list log(MULTI_ACTION_LOG_TAG);
    android_log_event_list log(kSysuiMultiActionTag);
    log << LOGBUILDER_CATEGORY << LOGBUILDER_COUNTER << LOGBUILDER_NAME << name << LOGBUILDER_VALUE
        << val << LOG_ID_EVENTS;
}

// Mirror com.android.internal.logging.MetricsLogger#action().
void LogMultiAction(int32_t category, int32_t field, const std::string& value) {
    android_log_event_list log(MULTI_ACTION_LOG_TAG);
    android_log_event_list log(kSysuiMultiActionTag);
    log << LOGBUILDER_CATEGORY << category << LOGBUILDER_TYPE << TYPE_ACTION
        << field << value << LOG_ID_EVENTS;
}