from wa import Parameter, ApkWorkload class ${class_name}(ApkWorkload): name = '${name}' description = "This is an placeholder description" # Replace with a list of supported package name(s) in the APK file(s). package_names = ['package_name'] parameters = [ # Workload parameters go here e.g. Parameter('example_parameter', kind=int, allowed_values=[1,2,3], default=1, override=True, mandatory=False, description='This is an example parameter') ] def __init__(self, target, **kwargs): super(${class_name}, self).__init__(target, **kwargs) # Define any additional attiributes required for the workload def init_resources(self, context): super(${class_name}, self).init_resources(context) # This method may be used to perform early resource discovery and # initialization. This is invoked during the initial loading stage and # before the device is ready, so cannot be used for any device-dependent # initialization. This method is invoked before the workload instance is # validated. def initialize(self, context): super(${class_name}, self).initialize(context) # This method should be used to perform once-per-run initialization of a # workload instance. def validate(self): super(${class_name}, self).validate(context) # Validate inter-parameter assumptions etc def setup(self, context): super(${class_name}, self).setup(context) # Perform any necessary setup before starting the application def extract_results(self, context): super(${class_name}, self).extract_results(context) # Extract results on the target def update_output(self, context): super(${class_name}, self).update_output(context) # Update the output within the specified execution context with the # metrics and artifacts form this workload iteration. def teardown(self, context): super(${class_name}, self).teardown(context) # Perform any final clean up for the Workload.