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

Commit b63072e4 authored by Ruchi Kandoi's avatar Ruchi Kandoi
Browse files

Add the functionality for logging counters.

Also correct clang-format for libmetricslogger

Test: Run libmetriclogger_test
Change-Id: If61f0bdc394a43e249ec4691da70175eeaf4cec6
parent 67529d29
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ cc_defaults {
        // 524291 corresponds to sysui_histogram, from
        // frameworks/base/core/java/com/android/internal/logging/EventLogTags.logtags
        "-DHISTOGRAM_LOG_TAG=524292",
        "-DCOUNT_LOG_TAG=524290",
    ],
}

+10 −5
Original line number Diff line number Diff line
@@ -24,12 +24,17 @@ namespace metricslogger {
// buffer.
void LogHistogram(const std::string& event, int32_t data);

// Logs a Tron counter metric named |name| containing |val| count to the Tron
// log buffer.
void LogCounter(const std::string& name, int32_t val);

// TODO: replace these with the metric_logger.proto definitions
enum {
    LOGBUILDER_CATEGORY = 757,
    LOGBUILDER_NAME = 799,
    LOGBUILDER_BUCKET = 801,
    LOGBUILDER_VALUE = 802,
    LOGBUILDER_COUNTER = 803,
    LOGBUILDER_HISTOGRAM = 804,
};

+10 −6
Original line number Diff line number Diff line
@@ -26,11 +26,15 @@ namespace metricslogger {
// Mirror com.android.internal.logging.MetricsLogger#histogram().
void LogHistogram(const std::string& event, int32_t data) {
    android_log_event_list log(HISTOGRAM_LOG_TAG);
  log << LOGBUILDER_CATEGORY << LOGBUILDER_HISTOGRAM
      << LOGBUILDER_NAME << event
      << LOGBUILDER_BUCKET << data
      << LOGBUILDER_VALUE << 1
      << LOG_ID_EVENTS;
    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(COUNT_LOG_TAG);
    log << LOGBUILDER_CATEGORY << LOGBUILDER_COUNTER << LOGBUILDER_NAME << name << LOGBUILDER_VALUE
        << val << LOG_ID_EVENTS;
}

}  // namespace metricslogger
+6 −2
Original line number Diff line number Diff line
@@ -22,3 +22,7 @@ TEST(MetricsLoggerTest, AddSingleBootEvent) {
    android::metricslogger::LogHistogram("test_event", 42);
    // TODO(jhawkins): Verify the EventLog is updated.
}

TEST(MetricsLoggerTest, AddCounterVal) {
    android::metricslogger::LogCounter("test_count", 10);
}