Keep raw name of power_rails
Bug: 226403822
Change-Id: I57c1b034d256e9ae77edb954fbcf0cd4ea584260
diff --git a/src/trace_processor/importers/proto/android_probes_module.cc b/src/trace_processor/importers/proto/android_probes_module.cc
index 559c78e..141d176 100644
--- a/src/trace_processor/importers/proto/android_probes_module.cc
+++ b/src/trace_processor/importers/proto/android_probes_module.cc
@@ -126,8 +126,10 @@
writer.AppendStringView(desc.rail_name());
writer.AppendStringView("_uws");
}
- AndroidProbesTracker::GetOrCreate(context_)->SetPowerRailName(
- desc.index(), context_->storage->InternString(writer.GetStringView()));
+ AndroidProbesTracker::GetOrCreate(context_)->SetPowerRailNames(
+ desc.index(),
+ {context_->storage->InternString(desc.rail_name()),
+ context_->storage->InternString(writer.GetStringView())});
}
// For each energy data message, turn it into its own trace packet
diff --git a/src/trace_processor/importers/proto/android_probes_parser.cc b/src/trace_processor/importers/proto/android_probes_parser.cc
index 882191d..7eadba6 100644
--- a/src/trace_processor/importers/proto/android_probes_parser.cc
+++ b/src/trace_processor/importers/proto/android_probes_parser.cc
@@ -104,10 +104,15 @@
PERFETTO_DCHECK(desc.has_timestamp_ms());
PERFETTO_DCHECK(ts / 1000000 == static_cast<int64_t>(desc.timestamp_ms()));
- TrackId track =
- context_->track_tracker->InternGlobalCounterTrack(*opt_rail_name);
- context_->event_tracker->PushCounter(ts, static_cast<double>(desc.energy()),
- track);
+ TrackId track = context_->track_tracker->InternGlobalCounterTrack(
+ opt_rail_name->friendly);
+ context_->event_tracker->PushCounter(
+ ts, static_cast<double>(desc.energy()), track,
+ [this, opt_rail_name](ArgsTracker::BoundInserter* args_table) {
+ args_table->AddArg(
+ context_->storage->InternString("power_rails.names.raw"),
+ Variadic::String(opt_rail_name->raw));
+ });
} else {
context_->storage->IncrementStats(stats::power_rail_unknown_index);
}
diff --git a/src/trace_processor/importers/proto/android_probes_tracker.h b/src/trace_processor/importers/proto/android_probes_tracker.h
index fa0ffe2..c9a6704 100644
--- a/src/trace_processor/importers/proto/android_probes_tracker.h
+++ b/src/trace_processor/importers/proto/android_probes_tracker.h
@@ -51,21 +51,27 @@
seen_packages_.emplace(std::move(package_name));
}
- base::Optional<StringId> GetPowerRailName(uint32_t index) {
- if (index >= power_rails_strs_id_.size())
+ struct PowerRailsNames {
+ StringId raw;
+ StringId friendly;
+ };
+
+ base::Optional<PowerRailsNames> GetPowerRailName(uint32_t index) {
+ if (index >= power_rails_names_str_id_.size())
return base::nullopt;
- return power_rails_strs_id_[index];
+ return power_rails_names_str_id_[index];
}
- void SetPowerRailName(uint32_t index, StringId name) {
- if (power_rails_strs_id_.size() <= index)
- power_rails_strs_id_.resize(index + 1);
- power_rails_strs_id_[index] = name;
+ void SetPowerRailNames(uint32_t index, PowerRailsNames names) {
+ if (power_rails_names_str_id_.size() <= index)
+ power_rails_names_str_id_.resize(index + 1);
+ power_rails_names_str_id_[index] = names;
}
private:
std::set<std::string> seen_packages_;
- std::vector<StringId> power_rails_strs_id_;
+ std::vector<PowerRailsNames> power_rails_names_str_id_;
+ std::vector<StringId> power_rails_raw_names_str_id_;
};
} // namespace trace_processor