Revert^2 Move proto definitions to external/perfetto
This commit moves the layer and transaction .proto files
to external/perfetto/protos/perfetto/trace/android/.
Test: atest libsurfaceflinger_unittest && atest transactiontrace_testsuite
Bug: b/284424784
Change-Id: Ia7e446c528d188c748a800fbf16ab3b8b9a7b9d1
diff --git a/services/surfaceflinger/Tracing/TransactionTracing.cpp b/services/surfaceflinger/Tracing/TransactionTracing.cpp
index bc69191..8aacbca 100644
--- a/services/surfaceflinger/Tracing/TransactionTracing.cpp
+++ b/services/surfaceflinger/Tracing/TransactionTracing.cpp
@@ -59,7 +59,7 @@
status_t TransactionTracing::writeToFile(const std::string& filename) {
std::scoped_lock lock(mTraceLock);
- proto::TransactionTraceFile fileProto = createTraceFileProto();
+ perfetto::protos::TransactionTraceFile fileProto = createTraceFileProto();
addStartingStateToProtoLocked(fileProto);
return mBuffer.writeToFile(fileProto, filename);
}
@@ -70,10 +70,11 @@
mBuffer.setSize(mBufferSizeInBytes);
}
-proto::TransactionTraceFile TransactionTracing::createTraceFileProto() const {
- proto::TransactionTraceFile proto;
- proto.set_magic_number(uint64_t(proto::TransactionTraceFile_MagicNumber_MAGIC_NUMBER_H) << 32 |
- proto::TransactionTraceFile_MagicNumber_MAGIC_NUMBER_L);
+perfetto::protos::TransactionTraceFile TransactionTracing::createTraceFileProto() const {
+ perfetto::protos::TransactionTraceFile proto;
+ proto.set_magic_number(
+ uint64_t(perfetto::protos::TransactionTraceFile_MagicNumber_MAGIC_NUMBER_H) << 32 |
+ perfetto::protos::TransactionTraceFile_MagicNumber_MAGIC_NUMBER_L);
auto timeOffsetNs = static_cast<std::uint64_t>(systemTime(SYSTEM_TIME_REALTIME) -
systemTime(SYSTEM_TIME_MONOTONIC));
proto.set_real_to_elapsed_time_offset_nanos(timeOffsetNs);
@@ -89,7 +90,8 @@
}
void TransactionTracing::addQueuedTransaction(const TransactionState& transaction) {
- proto::TransactionState* state = new proto::TransactionState(mProtoParser.toProto(transaction));
+ perfetto::protos::TransactionState* state =
+ new perfetto::protos::TransactionState(mProtoParser.toProto(transaction));
mTransactionQueue.push(state);
}
@@ -152,7 +154,7 @@
ATRACE_CALL();
std::scoped_lock lock(mTraceLock);
std::vector<std::string> removedEntries;
- proto::TransactionTraceEntry entryProto;
+ perfetto::protos::TransactionTraceEntry entryProto;
while (auto incomingTransaction = mTransactionQueue.pop()) {
auto transaction = *incomingTransaction;
@@ -211,7 +213,7 @@
std::make_move_iterator(entries.end()));
}
- proto::TransactionTraceEntry removedEntryProto;
+ perfetto::protos::TransactionTraceEntry removedEntryProto;
for (const std::string& removedEntry : removedEntries) {
removedEntryProto.ParseFromString(removedEntry);
updateStartingStateLocked(removedEntryProto);
@@ -236,7 +238,7 @@
base::ScopedLockAssertion assumeLocked(mTraceLock);
mTransactionsAddedToBufferCv.wait_for(lock, std::chrono::milliseconds(100),
[&]() REQUIRES(mTraceLock) {
- proto::TransactionTraceEntry entry;
+ perfetto::protos::TransactionTraceEntry entry;
if (mBuffer.used() > 0) {
entry.ParseFromString(mBuffer.back());
}
@@ -268,19 +270,19 @@
}
void TransactionTracing::updateStartingStateLocked(
- const proto::TransactionTraceEntry& removedEntry) {
+ const perfetto::protos::TransactionTraceEntry& removedEntry) {
mStartingTimestamp = removedEntry.elapsed_realtime_nanos();
// Keep track of layer starting state so we can reconstruct the layer state as we purge
// transactions from the buffer.
- for (const proto::LayerCreationArgs& addedLayer : removedEntry.added_layers()) {
+ for (const perfetto::protos::LayerCreationArgs& addedLayer : removedEntry.added_layers()) {
TracingLayerState& startingState = mStartingStates[addedLayer.layer_id()];
startingState.layerId = addedLayer.layer_id();
mProtoParser.fromProto(addedLayer, startingState.args);
}
// Merge layer states to starting transaction state.
- for (const proto::TransactionState& transaction : removedEntry.transactions()) {
- for (const proto::LayerState& layerState : transaction.layer_changes()) {
+ for (const perfetto::protos::TransactionState& transaction : removedEntry.transactions()) {
+ for (const perfetto::protos::LayerState& layerState : transaction.layer_changes()) {
auto it = mStartingStates.find(layerState.layer_id());
if (it == mStartingStates.end()) {
// TODO(b/238781169) make this log fatal when we switch over to using new fe
@@ -307,12 +309,13 @@
}
}
-void TransactionTracing::addStartingStateToProtoLocked(proto::TransactionTraceFile& proto) {
+void TransactionTracing::addStartingStateToProtoLocked(
+ perfetto::protos::TransactionTraceFile& proto) {
if (mStartingStates.size() == 0) {
return;
}
- proto::TransactionTraceEntry* entryProto = proto.add_entry();
+ perfetto::protos::TransactionTraceEntry* entryProto = proto.add_entry();
entryProto->set_elapsed_realtime_nanos(mStartingTimestamp);
entryProto->set_vsync_id(0);
@@ -321,7 +324,7 @@
entryProto->mutable_added_layers()->Add(mProtoParser.toProto(state.args));
}
- proto::TransactionState transactionProto = mProtoParser.toProto(mStartingStates);
+ perfetto::protos::TransactionState transactionProto = mProtoParser.toProto(mStartingStates);
transactionProto.set_vsync_id(0);
transactionProto.set_post_time(mStartingTimestamp);
entryProto->mutable_transactions()->Add(std::move(transactionProto));
@@ -338,9 +341,9 @@
}
}
-proto::TransactionTraceFile TransactionTracing::writeToProto() {
+perfetto::protos::TransactionTraceFile TransactionTracing::writeToProto() {
std::scoped_lock<std::mutex> lock(mTraceLock);
- proto::TransactionTraceFile proto = createTraceFileProto();
+ perfetto::protos::TransactionTraceFile proto = createTraceFileProto();
addStartingStateToProtoLocked(proto);
mBuffer.writeToProto(proto);
return proto;