MediaMetrics: Change dumpsys format
As the dumpsys no longer needs to be parseable by a program
convert to a more human readable form.
1) Make default time REALTIME consistently.
2) Dump time as a human readable string.
3) Remove dumpsys versioning code.
4) Delimiter changes.
Test: atest mediametrics_tests
Test: adb shell dumpsys media.metrics
Bug: 138583596
Change-Id: I6ee7d81a18e0e220b258c722d232c05805118abb
diff --git a/services/mediametrics/TimeMachine.h b/services/mediametrics/TimeMachine.h
index 4d24ce4..87de1c4 100644
--- a/services/mediametrics/TimeMachine.h
+++ b/services/mediametrics/TimeMachine.h
@@ -157,9 +157,22 @@
}
std::stringstream ss;
ss << key << "." << tsPair.first << "={";
- do {
- ss << eptr->first << ":" << eptr->second << ",";
- } while (++eptr != timeSequence.end());
+
+ time_string_t last_timestring{}; // last timestring used.
+ while (true) {
+ const time_string_t timestring = mediametrics::timeStringFromNs(eptr->first);
+ // find common prefix offset.
+ const size_t offset = commonTimePrefixPosition(timestring.time,
+ last_timestring.time);
+ last_timestring = timestring;
+ ss << "(" << (offset == 0 ? "" : "~") << ×tring.time[offset]
+ << ") " << eptr->second;
+ if (++eptr == timeSequence.end()) {
+ ss << "}";
+ break;
+ }
+ ss << ", ";
+ }
ss << "};\n";
return ss.str();
}