wlauto.instrumentation.pmu_logger package

Module contents

class wlauto.instrumentation.pmu_logger.CciPmuLogger(device, **kwargs)[source]

Bases: wlauto.core.instrumentation.Instrument

aliases = AC([])
artifacts = AC([])
core_modules = []
description = "\n This instrument allows collecting CCI counter data.\n\n It relies on the pmu_logger.ko kernel driver, the source for which is\n included with Workload Automation (see inside ``wlauto/external`` directory).\n You will need to build this against your specific kernel. Once compiled, it needs\n to be placed in the dependencies directory (usually ``~/.workload_uatomation/dependencies``).\n\n .. note:: When compling pmu_logger.ko for a new hardware platform, you may need to\n modify CCI_BASE inside pmu_logger.c to contain the base address of where\n CCI is mapped in memory on your device.\n\n This instrument relies on ``trace-cmd`` instrument to also be enabled. You should enable\n at least ``'bprint'`` trace event.\n\n "
finalize(*args, **kwargs)
initialize(*args, **kwargs)
kind = 'instrument'
name = 'cci_pmu_logger'
parameters = AC(["Param({'kind': <type 'list'>, 'mandatory': None, 'name': 'modules', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <type 'list'>, 'mandatory': None, 'name': 'events', 'constraint': None, 'default': ['0x63', '0x6A', '0x83', '0x8A'], 'allowed_values': None, 'global_alias': 'cci_pmu_events', 'override': False})", "Param({'kind': <type 'list'>, 'mandatory': None, 'name': 'event_labels', 'constraint': None, 'default': [], 'allowed_values': None, 'global_alias': 'cci_pmu_event_labels', 'override': False})", "Param({'kind': <function integer>, 'mandatory': None, 'name': 'period', 'constraint': None, 'default': 10, 'allowed_values': None, 'global_alias': 'cci_pmu_period', 'override': False})", "Param({'kind': <function boolean>, 'mandatory': None, 'name': 'install_module', 'constraint': None, 'default': True, 'allowed_values': None, 'global_alias': 'cci_pmu_install_module', 'override': False})"])
validate(*args, **kwargs)