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