Remove hardware IP block based filtering (#820)
* Analysis report block based filtering is the default now
* Update documentation
* Update CHANGELOG
* Fix tests
* Replace hardware block based filtering tests with report block
based filtering tests
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
537a269e95
Коммит
98bb0f4237
+4
-30
@@ -178,50 +178,24 @@ Examples:
|
||||
help="\t\t\tDispatch ID filtering.",
|
||||
)
|
||||
|
||||
class AggregateDict(argparse.Action):
|
||||
def __call__(self, parser, namespace, values, option_string=None):
|
||||
aggregated_dict = getattr(namespace, self.dest, {})
|
||||
if aggregated_dict is None:
|
||||
aggregated_dict = {}
|
||||
for key, value in values:
|
||||
aggregated_dict[key] = value
|
||||
setattr(namespace, self.dest, aggregated_dict)
|
||||
|
||||
def validate_block(value):
|
||||
# Metric id regex, for example, 10, 4, 4.3, 4.32
|
||||
# Dont allow more than two digits after decimal point
|
||||
metric_id_pattern = re.compile(r"^\d+$|^\d+\.\d$|^\d+\.\d\d$")
|
||||
# Allow only the following hardware blocks
|
||||
hardware_block_pattern = re.compile(r"^(SQ|SQC|TA|TD|TCP|TCC|SPI|CPC|CPF)$")
|
||||
if metric_id_pattern.match(value):
|
||||
return (str(value), "metric_id")
|
||||
if hardware_block_pattern.match(value):
|
||||
return (str(value), "hardware_block")
|
||||
raise argparse.ArgumentTypeError(f"Invalid hardware block or metric id: {value}")
|
||||
return value
|
||||
raise argparse.ArgumentTypeError(f"Invalid metric id: {value}")
|
||||
|
||||
profile_group.add_argument(
|
||||
"-b",
|
||||
"--block",
|
||||
type=validate_block,
|
||||
action=AggregateDict,
|
||||
dest="filter_blocks",
|
||||
metavar="",
|
||||
nargs="+",
|
||||
required=False,
|
||||
default={},
|
||||
help="""\t\t\tSpecify metric id(s) from --list-metrics for filtering (e.g. 10, 4, 4.3).
|
||||
\t\t\tCan provide multiple space separated arguments.
|
||||
\t\t\tCan also accept Hardware blocks.
|
||||
\t\t\tHardware block filtering (to be deprecated soon):
|
||||
\t\t\t SQ
|
||||
\t\t\t SQC
|
||||
\t\t\t TA
|
||||
\t\t\t TD
|
||||
\t\t\t TCP
|
||||
\t\t\t TCC
|
||||
\t\t\t SPI
|
||||
\t\t\t CPC
|
||||
\t\t\t CPF""",
|
||||
default=[],
|
||||
help="""\t\t\tSpecify metric id(s) from --list-metrics for filtering (e.g. 10, 4, 4.3).\n\t\t\tCan provide multiple space separated arguments.""",
|
||||
)
|
||||
profile_group.add_argument(
|
||||
"--list-metrics",
|
||||
|
||||
Ссылка в новой задаче
Block a user