diff options
| author | 2018-10-09 03:18:09 +0000 | |
|---|---|---|
| committer | 2018-10-09 03:18:09 +0000 | |
| commit | bb6736228130b269b8cadae478869b9da4abf3db (patch) | |
| tree | 4ba4ea2893e566d1965978ce2f2b2dbeaaf53b77 | |
| parent | bf90544829837f8e565ba335d0d842f1fdbd6c04 (diff) | |
| parent | ef89d730c45b9972a9607471472fe1dc7249b7f4 (diff) | |
Merge "MetricsLogger writes to both event log and statsd"
3 files changed, 28 insertions, 33 deletions
diff --git a/core/java/android/metrics/LogMaker.java b/core/java/android/metrics/LogMaker.java index e84f91314386..19848ee6d415 100644 --- a/core/java/android/metrics/LogMaker.java +++ b/core/java/android/metrics/LogMaker.java @@ -436,4 +436,12 @@ public class LogMaker { } return true; } + + /** + * @return entries containing key value pairs. + * @hide + */ + public SparseArray<Object> getEntries() { + return entries; + } } diff --git a/core/java/com/android/internal/logging/MetricsLogger.java b/core/java/com/android/internal/logging/MetricsLogger.java index e99e39e1284c..c4aa1d7583a3 100644 --- a/core/java/com/android/internal/logging/MetricsLogger.java +++ b/core/java/com/android/internal/logging/MetricsLogger.java @@ -19,6 +19,7 @@ import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.metrics.LogMaker; import android.os.Build; +import android.util.StatsLog; import android.view.View; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; @@ -41,8 +42,11 @@ public class MetricsLogger { return sMetricsLogger; } - protected void saveLog(Object[] rep) { - EventLogTags.writeSysuiMultiAction(rep); + protected void saveLog(LogMaker log) { + // TODO(b/116684537): Flag guard logging to event log and statsd socket. + EventLogTags.writeSysuiMultiAction(log.serialize()); + StatsLog.write(StatsLog.KEY_VALUE_PAIRS_ATOM, /* UID is retrieved from statsd side */ 0, + log.getEntries()); } public static final int VIEW_UNKNOWN = MetricsEvent.VIEW_UNKNOWN; @@ -53,7 +57,7 @@ public class MetricsLogger { if (content.getType() == MetricsEvent.TYPE_UNKNOWN) { content.setType(MetricsEvent.TYPE_ACTION); } - saveLog(content.serialize()); + saveLog(content); } public void visible(int category) throws IllegalArgumentException { @@ -61,9 +65,7 @@ public class MetricsLogger { throw new IllegalArgumentException("Must define metric category"); } EventLogTags.writeSysuiViewVisibility(category, 100); - saveLog(new LogMaker(category) - .setType(MetricsEvent.TYPE_OPEN) - .serialize()); + saveLog(new LogMaker(category).setType(MetricsEvent.TYPE_OPEN)); } public void hidden(int category) throws IllegalArgumentException { @@ -71,9 +73,7 @@ public class MetricsLogger { throw new IllegalArgumentException("Must define metric category"); } EventLogTags.writeSysuiViewVisibility(category, 0); - saveLog(new LogMaker(category) - .setType(MetricsEvent.TYPE_CLOSE) - .serialize()); + saveLog(new LogMaker(category).setType(MetricsEvent.TYPE_CLOSE)); } public void visibility(int category, boolean visibile) @@ -92,25 +92,17 @@ public class MetricsLogger { public void action(int category) { EventLogTags.writeSysuiAction(category, ""); - saveLog(new LogMaker(category) - .setType(MetricsEvent.TYPE_ACTION) - .serialize()); + saveLog(new LogMaker(category).setType(MetricsEvent.TYPE_ACTION)); } public void action(int category, int value) { EventLogTags.writeSysuiAction(category, Integer.toString(value)); - saveLog(new LogMaker(category) - .setType(MetricsEvent.TYPE_ACTION) - .setSubtype(value) - .serialize()); + saveLog(new LogMaker(category).setType(MetricsEvent.TYPE_ACTION).setSubtype(value)); } public void action(int category, boolean value) { EventLogTags.writeSysuiAction(category, Boolean.toString(value)); - saveLog(new LogMaker(category) - .setType(MetricsEvent.TYPE_ACTION) - .setSubtype(value ? 1 : 0) - .serialize()); + saveLog(new LogMaker(category).setType(MetricsEvent.TYPE_ACTION).setSubtype(value ? 1 : 0)); } public void action(int category, String pkg) { @@ -118,19 +110,15 @@ public class MetricsLogger { throw new IllegalArgumentException("Must define metric category"); } EventLogTags.writeSysuiAction(category, pkg); - saveLog(new LogMaker(category) - .setType(MetricsEvent.TYPE_ACTION) - .setPackageName(pkg) - .serialize()); + saveLog(new LogMaker(category).setType(MetricsEvent.TYPE_ACTION).setPackageName(pkg)); } /** Add an integer value to the monotonically increasing counter with the given name. */ public void count(String name, int value) { EventLogTags.writeSysuiCount(name, value); saveLog(new LogMaker(MetricsEvent.RESERVED_FOR_LOGBUILDER_COUNTER) - .setCounterName(name) - .setCounterValue(value) - .serialize()); + .setCounterName(name) + .setCounterValue(value)); } /** Increment the bucket with the integer label on the histogram with the given name. */ @@ -138,10 +126,9 @@ public class MetricsLogger { // see LogHistogram in system/core/libmetricslogger/metrics_logger.cpp EventLogTags.writeSysuiHistogram(name, bucket); saveLog(new LogMaker(MetricsEvent.RESERVED_FOR_LOGBUILDER_HISTOGRAM) - .setCounterName(name) - .setCounterBucket(bucket) - .setCounterValue(1) - .serialize()); + .setCounterName(name) + .setCounterBucket(bucket) + .setCounterValue(1)); } /** @deprecated use {@link #visible(int)} */ diff --git a/core/java/com/android/internal/logging/testing/FakeMetricsLogger.java b/core/java/com/android/internal/logging/testing/FakeMetricsLogger.java index fbaf87a30b24..6786427b5d86 100644 --- a/core/java/com/android/internal/logging/testing/FakeMetricsLogger.java +++ b/core/java/com/android/internal/logging/testing/FakeMetricsLogger.java @@ -16,8 +16,8 @@ public class FakeMetricsLogger extends MetricsLogger { private Queue<LogMaker> logs = new LinkedList<>(); @Override - protected void saveLog(Object[] rep) { - logs.offer(new LogMaker(rep)); + protected void saveLog(LogMaker log) { + logs.offer(log); } public Queue<LogMaker> getLogs() { |