OSDN Git Service

Merge "zram performance test." am: bb0eca64ee am: 50f6f801ff
[android-x86/system-extras.git] / simpleperf / event_type.cpp
index 526cfa5..ddec6f9 100644 (file)
 #include <string>
 #include <vector>
 
-#include <base/file.h>
-#include <base/logging.h>
+#include <android-base/file.h>
+#include <android-base/logging.h>
 
 #include "event_attr.h"
 #include "event_fd.h"
 #include "utils.h"
 
-#define EVENT_TYPE_TABLE_ENTRY(name, type, config) \
-  { name, type, config }                           \
-  ,
+#define EVENT_TYPE_TABLE_ENTRY(name, type, config) {name, type, config},
 
 static const std::vector<EventType> static_event_type_array = {
 #include "event_type_table.h"
@@ -105,7 +103,8 @@ const EventType* FindEventTypeByName(const std::string& name) {
 std::unique_ptr<EventTypeAndModifier> ParseEventType(const std::string& event_type_str) {
   static std::string modifier_characters = "ukhGHp";
   std::unique_ptr<EventTypeAndModifier> event_type_modifier(new EventTypeAndModifier);
-  std::string name = event_type_str;
+  event_type_modifier->name = event_type_str;
+  std::string event_type_name = event_type_str;
   std::string modifier;
   size_t comm_pos = event_type_str.rfind(':');
   if (comm_pos != std::string::npos) {
@@ -118,17 +117,17 @@ std::unique_ptr<EventTypeAndModifier> ParseEventType(const std::string& event_ty
       }
     }
     if (match_modifier) {
-      name = event_type_str.substr(0, comm_pos);
+      event_type_name = event_type_str.substr(0, comm_pos);
       modifier = event_type_str.substr(comm_pos + 1);
     }
   }
-  const EventType* event_type = FindEventTypeByName(name);
+  const EventType* event_type = FindEventTypeByName(event_type_name);
   if (event_type == nullptr) {
     // Try if the modifier belongs to the event type name, like some tracepoint events.
     if (!modifier.empty()) {
-      name = event_type_str;
+      event_type_name = event_type_str;
       modifier.clear();
-      event_type = FindEventTypeByName(name);
+      event_type = FindEventTypeByName(event_type_name);
     }
     if (event_type == nullptr) {
       return nullptr;
@@ -171,5 +170,6 @@ std::unique_ptr<EventTypeAndModifier> ParseEventType(const std::string& event_ty
         LOG(ERROR) << "Unknown event type modifier '" << c << "'";
     }
   }
+  event_type_modifier->modifier = modifier;
   return event_type_modifier;
 }