Re: [PATCH v4 01/17] perf jevents: Clean up pytype warnings

From: Arnaldo Carvalho de Melo
Date: Tue Aug 09 2022 - 15:37:52 EST


Em Thu, Aug 04, 2022 at 03:18:00PM -0700, Ian Rogers escreveu:
> Improve type hints to clean up pytype warnings.

Thanks, applied.

- Arnaldo


> Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
> ---
> tools/perf/pmu-events/jevents.py | 13 ++++++-------
> 1 file changed, 6 insertions(+), 7 deletions(-)
>
> diff --git a/tools/perf/pmu-events/jevents.py b/tools/perf/pmu-events/jevents.py
> index 83e0dcbeac9a..5b72048d50da 100755
> --- a/tools/perf/pmu-events/jevents.py
> +++ b/tools/perf/pmu-events/jevents.py
> @@ -6,8 +6,7 @@ import csv
> import json
> import os
> import sys
> -from typing import Callable
> -from typing import Sequence
> +from typing import (Callable, Optional, Sequence)
>
> # Global command line arguments.
> _args = None
> @@ -57,7 +56,7 @@ class JsonEvent:
> '. '), '.').replace('\n', '\\n').replace(
> '\"', '\\"').replace('\r', '\\r')
>
> - def convert_aggr_mode(aggr_mode: str) -> str:
> + def convert_aggr_mode(aggr_mode: str) -> Optional[str]:
> """Returns the aggr_mode_class enum value associated with the JSON string."""
> if not aggr_mode:
> return None
> @@ -67,7 +66,7 @@ class JsonEvent:
> }
> return aggr_mode_to_enum[aggr_mode]
>
> - def lookup_msr(num: str) -> str:
> + def lookup_msr(num: str) -> Optional[str]:
> """Converts the msr number, or first in a list to the appropriate event field."""
> if not num:
> return None
> @@ -79,7 +78,7 @@ class JsonEvent:
> }
> return msrmap[int(num.split(',', 1)[0], 0)]
>
> - def real_event(name: str, event: str) -> str:
> + def real_event(name: str, event: str) -> Optional[str]:
> """Convert well known event names to an event string otherwise use the event argument."""
> fixed = {
> 'inst_retired.any': 'event=0xc0,period=2000003',
> @@ -95,7 +94,7 @@ class JsonEvent:
> return fixed[name.lower()]
> return event
>
> - def unit_to_pmu(unit: str) -> str:
> + def unit_to_pmu(unit: str) -> Optional[str]:
> """Convert a JSON Unit to Linux PMU name."""
> if not unit:
> return None
> @@ -154,7 +153,7 @@ class JsonEvent:
> if self.metric_expr:
> self.metric_expr = self.metric_expr.replace('\\', '\\\\')
> arch_std = jd.get('ArchStdEvent')
> - if precise and self.desc and not '(Precise Event)' in self.desc:
> + if precise and self.desc and '(Precise Event)' not in self.desc:
> extra_desc += ' (Must be precise)' if precise == '2' else (' (Precise '
> 'event)')
> event = f'config={llx(configcode)}' if configcode is not None else f'event={llx(eventcode)}'
> --
> 2.37.1.559.g78731f0fdb-goog

--

- Arnaldo