diff options
author | Yabin Cui <yabinc@google.com> | 2022-03-22 13:54:06 -0700 |
---|---|---|
committer | Yabin Cui <yabinc@google.com> | 2022-03-22 13:58:34 -0700 |
commit | e0353e6273367af081e6f0ba44d32cb056752e64 (patch) | |
tree | daef2c86030bbf2db6bde978eadd36c697625168 | |
parent | 5bfafafa2eac8a942943450c0f5e4bf5f76d8e83 (diff) | |
download | extras-e0353e6273367af081e6f0ba44d32cb056752e64.tar.gz |
simpleperf: modify SetSampleFilter in report interface.
Use a list of strings to pass filters, so we can accept parameters
with spaces, like thread names with spaces.
Bug: 222758831
Test: run test.py with script change.
Change-Id: I6fd1cfc11bc95dd01f8ffa554593d2c01dee6a12
-rw-r--r-- | simpleperf/report_lib_interface.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/simpleperf/report_lib_interface.cpp b/simpleperf/report_lib_interface.cpp index c55209ab..1025c325 100644 --- a/simpleperf/report_lib_interface.cpp +++ b/simpleperf/report_lib_interface.cpp @@ -199,7 +199,7 @@ class ReportLib { } const char* GetSupportedTraceOffCpuModes(); bool SetTraceOffCpuMode(const char* mode); - bool SetSampleFilter(const char* filter); + bool SetSampleFilter(const char** filters, int filters_len); Sample* GetNextSample(); Event* GetEventOfCurrentSample() { return ¤t_event_; } @@ -296,8 +296,11 @@ bool ReportLib::SetTraceOffCpuMode(const char* mode) { return true; } -bool ReportLib::SetSampleFilter(const char* filter) { - std::vector<std::string> args = android::base::Split(filter, " "); +bool ReportLib::SetSampleFilter(const char** filters, int filters_len) { + std::vector<std::string> args; + for (int i = 0; i < filters_len; i++) { + args.emplace_back(filters[i]); + } OptionFormatMap option_formats = GetRecordFilterOptionFormats(false); OptionValueMap options; std::vector<std::pair<OptionName, OptionValue>> ordered_options; @@ -595,7 +598,7 @@ void MergeJavaMethods(ReportLib* report_lib, bool merge) EXPORT; bool AddProguardMappingFile(ReportLib* report_lib, const char* mapping_file) EXPORT; const char* GetSupportedTraceOffCpuModes(ReportLib* report_lib) EXPORT; bool SetTraceOffCpuMode(ReportLib* report_lib, const char* mode) EXPORT; -bool SetSampleFilter(ReportLib* report_lib, const char* filter) EXPORT; +bool SetSampleFilter(ReportLib* report_lib, const char** filters, int filters_len) EXPORT; Sample* GetNextSample(ReportLib* report_lib) EXPORT; Event* GetEventOfCurrentSample(ReportLib* report_lib) EXPORT; @@ -656,8 +659,8 @@ bool SetTraceOffCpuMode(ReportLib* report_lib, const char* mode) { return report_lib->SetTraceOffCpuMode(mode); } -bool SetSampleFilter(ReportLib* report_lib, const char* filter) { - return report_lib->SetSampleFilter(filter); +bool SetSampleFilter(ReportLib* report_lib, const char** filters, int filters_len) { + return report_lib->SetSampleFilter(filters, filters_len); } Sample* GetNextSample(ReportLib* report_lib) { |