IMetricsRecorder

public interface IMetricsRecorder

com.android.tradefed.profiler.recorder.IMetricsRecorder
Known Indirect Subclasses
StubMetricsRecorder An IMetricsRecorder which does nothing. 
TraceMetricsRecorder An IMetricsRecorder that records metrics taken from the /d/tracing directory. 


Records metrics to communicate directly to an ITestProfiler. The metrics recorded cover a single test on a single ITestDevice only.

Summary

Public methods

abstract BiFunction<Double, Double, Double> getMergeFunction(String key)

Returns a BiFunction describing how to aggregate results for a particular metric over the course of multiple test runs.

abstract String getName()

Returns a name for this IMetricsRecorder.

abstract void setUp(ITestDevice device, Collection<String> descriptors)

Sets up the recorder.

abstract void startRecording()

Begin recording metrics.

abstract Map<String, Double> stopRecordingAndReturnMetrics()

Stop recording metrics and return metrics recorded.

Public methods

getMergeFunction

BiFunction<Double, Double, Double> getMergeFunction (String key)

Returns a BiFunction describing how to aggregate results for a particular metric over the course of multiple test runs. Examples of relevant functions are average, sum, or count. The BiFunction is used as an argument to merge(K, V, BiFunction).

Parameters
key String: the name of the metric

Returns
BiFunction<Double, Double, Double> a BiFunction used to aggregate values of that metric

getName

String getName ()

Returns a name for this IMetricsRecorder.

Returns
String the name

setUp

void setUp (ITestDevice device, 
                Collection<String> descriptors)

Sets up the recorder. After calling this method, the recorder is ready to begin. This method should be called by setUp(IInvocationContext).

Parameters
device ITestDevice: The device on which this recorder will monitor metrics.

descriptors Collection: A collection of strings describing what metrics to collect and by what means to collect them. It is up to individual implementers to decide how to interpret these string descriptors.

Throws
DeviceNotAvailableException

startRecording

void startRecording ()

Begin recording metrics. This should be called at the beginning of a single test.

Throws
DeviceNotAvailableException

stopRecordingAndReturnMetrics

Map<String, Double> stopRecordingAndReturnMetrics ()

Stop recording metrics and return metrics recorded. This should be called at the end of a single test.

Returns
Map<String, Double> a Map which contains all metrics recorded over the duration of the test.

Throws
DeviceNotAvailableException