diff options
Diffstat (limited to 'simpleperf/scripts/gecko_profile_generator.py')
-rwxr-xr-x | simpleperf/scripts/gecko_profile_generator.py | 27 |
1 files changed, 5 insertions, 22 deletions
diff --git a/simpleperf/scripts/gecko_profile_generator.py b/simpleperf/scripts/gecko_profile_generator.py index e7108ee6..396c9a58 100755 --- a/simpleperf/scripts/gecko_profile_generator.py +++ b/simpleperf/scripts/gecko_profile_generator.py @@ -30,7 +30,7 @@ import sys from dataclasses import dataclass, field from simpleperf_report_lib import ReportLib -from simpleperf_utils import BaseArgumentParser, flatten_arg_list +from simpleperf_utils import BaseArgumentParser, flatten_arg_list, ReportLibOptions from typing import List, Dict, Optional, NamedTuple, Set, Tuple @@ -295,22 +295,17 @@ def _gecko_profile( record_file: str, symfs_dir: Optional[str], kallsyms_file: Optional[str], - proguard_mapping_file: List[str], - comm_filter: Set[str], - sample_filter: Optional[str]) -> GeckoProfile: + report_lib_options: ReportLibOptions) -> GeckoProfile: """convert a simpleperf profile to gecko format""" lib = ReportLib() lib.ShowIpForUnknownSymbol() - for file_path in proguard_mapping_file: - lib.AddProguardMappingFile(file_path) if symfs_dir is not None: lib.SetSymfs(symfs_dir) lib.SetRecordFile(record_file) if kallsyms_file is not None: lib.SetKallsymsFile(kallsyms_file) - if sample_filter: - lib.SetSampleFilter(sample_filter) + lib.SetReportOptions(report_lib_options) arch = lib.GetArch() meta_info = lib.MetaInfo() @@ -324,9 +319,6 @@ def _gecko_profile( if sample is None: lib.Close() break - if comm_filter: - if sample.thread_comm not in comm_filter: - continue event = lib.GetEventOfCurrentSample() symbol = lib.GetSymbolOfCurrentSample() callchain = lib.GetCallChainOfCurrentSample() @@ -405,22 +397,13 @@ def main() -> None: parser.add_argument('--kallsyms', help='Set the path to find kernel symbols.') parser.add_argument('-i', '--record_file', nargs='?', default='perf.data', help='Default is perf.data.') - parser.add_argument( - '--proguard-mapping-file', nargs='+', - help='Add proguard mapping file to de-obfuscate symbols', - default=[]) - sample_filter_group = parser.add_argument_group('Sample filter options') - parser.add_sample_filter_options(sample_filter_group) - sample_filter_group.add_argument('--comm', nargs='+', action='append', help=""" - Use samples only in threads with selected names.""") + parser.add_report_lib_options() args = parser.parse_args() profile = _gecko_profile( record_file=args.record_file, symfs_dir=args.symfs, kallsyms_file=args.kallsyms, - proguard_mapping_file=args.proguard_mapping_file, - comm_filter=set(flatten_arg_list(args.comm)), - sample_filter=args.sample_filter) + report_lib_options=args.report_lib_options) json.dump(profile, sys.stdout, sort_keys=True) |