videoLat  2.1
Video conferencing delay measurements
Instance Methods | Protected Attributes | Properties | List of all members
MeasurementDataStore Class Reference

#import <MeasurementDataStore.h>

Inheritance diagram for MeasurementDataStore:
Inheritance graph
[legend]
Collaboration diagram for MeasurementDataStore:
Collaboration graph
[legend]

Instance Methods

(BOOL) - isCalibration
 Return true if this is a calibration.
 
(NSString *) - defaultNameForDocument
 
(NSString *) - defaultExtensionForDocument
 File extension to use for this document.
 
(void) - addDataPoint:sent:received:
 
(void) - addMissingDataPoint:sent:
 
(void) - trim
 
(NSString *) - asCSVString
 Return the data values (not the metadata) as a CSV string, for export.
 
(NSNumber *) - valueForIndex:
 Return value for a given index, used by graph views.
 
(void) - useCalibration:
 
(void) - useInputCalibration:
 
(void) - useOutputCalibration:
 

Protected Attributes

double sum
 Internal: sum of all values.
 
double sumSquares
 Internal: sum of the squares of all values.
 
double min
 minimum value More...
 
double max
 maximum value More...
 
int count
 total number of values More...
 
int missCount
 number of attempts that did not result in a valid measurement More...
 
BOOL isTrimmed
 True after trim has been called at end-of-measurement.
 
MeasurementDataStorecalibration
 calibration used, for single-machine measurements
 
NSMutableArray * store
 Internal: the values themselves.
 

Properties

NSString * measurementType
 Metadata variable, set by owner.
 
NSString * date
 Metadata variable, set by owner.
 
NSString * description
 Metadata variable, set by owner.
 
NSString * uuid
 Unique ID, set at init time.
 
DeviceDescriptioninput
 Input device used.
 
DeviceDescriptionoutput
 Output device used.
 
double average
 Returns the average of all values.
 
double stddev
 Returns the standard deviation of all values.
 
NSString * outputBaseMeasurementID
 Accessor for name of input calibration.
 
NSString * inputBaseMeasurementID
 Accessor for name of output calibration.
 
BOOL hasSeparateCalibrations
 True if we have distinct input and output calibrations.
 
MeasurementDataStoreinputCalibration
 Our input calibration (or shared calibration)
 
MeasurementDataStoreoutputCalibration
 Our output calibration (or shared calibration)
 
double baseMeasurementAverage
 Records average of base measurement, for convenience.
 
double baseMeasurementStddev
 Records stddev of base measurement, for convenience.
 
NSString * descriptiveName
 Human readable name for the type of measurement run.
 
- Properties inherited from <GraphDataProviderProtocol>
int count
 Number of values available.
 
double average
 Average of all values.
 
double stddev
 Standard deviation of all values.
 
double min
 Minimum value.
 
double max
 Maximum value.
 
double minXaxis
 For distribution plots: minimum bin value.
 
double maxXaxis
 For distribution plots: maximum bin value.
 
double binSize
 x-increments for which new values are available
 

Detailed Description

Storage for all measured delays of a measurement run, plus all the metadata pertaining to that run (type, input and output device used, etc).

Method Documentation

◆ addDataPoint:sent:received:()

- (void) addDataPoint: (NSString*)  data
sent: (uint64_t)  sent
received: (uint64_t)  received 

Adds a single measurement.

Parameters
datathe data transmitted and received
sentthe clock time at which the data was sent
receivedthe clock time at which the data was received This method adds a single delay value to the store, and updates min/max/average/stddev. If the baseMeasurementAverage is non-zero it is subtracted from the delay value before processing.

◆ addMissingDataPoint:sent:()

- (void) addMissingDataPoint: (NSString*)  data
sent: (uint64_t)  sent 

Signals that ameasurement has failed, the data was not detected in time.

Parameters
datathe data that was transmitted but not received
sentthe clock time at which the data was sent Currently this call only updates the missCount variable.

◆ defaultNameForDocument()

- (NSString *) defaultNameForDocument

Invent a default name for a document containing this measurement. The name returned is as short as possible while being descriptive on the current machine.

◆ trim()

- (void) trim

Removes lower and upper 5% measurements and recomputes min/max/average/stddev. This is a statistically valid technique (I have been told) to diminish the effect of anomalous measurements on average and standard deviation. Calling this more than once has no effect.

◆ useCalibration:()

- (void) useCalibration: (MeasurementDataStore *)  calibration

Indicates the calibration measurement for this measurement run.

Parameters
calibrationthe calibration measurement object. This call initializes the baseMeasurementAverage and baseMeasurementStddev variables.

◆ useInputCalibration:()

- (void) useInputCalibration: (MeasurementDataStore *)  inputCalibration

Indicates the input and output calibration measurement for this measurement run.

Parameters
inputCalibrationthe calibration measurement object. This call initializes the baseMeasurementAverage and baseMeasurementStddev variables.

◆ useOutputCalibration:()

- (void) useOutputCalibration: (MeasurementDataStore *)  outputCalibration

Indicates the output calibration measurement for this measurement run.

Parameters
outputCalibrationthe calibration measurement object. This call initializes the baseMeasurementAverage and baseMeasurementStddev variables.

Member Data Documentation

◆ count

- (int) count
readassignprotected

total number of values

Returns number of values measured.

◆ max

- (double) max
readassignprotected

maximum value

Returns maximum value measured.

◆ min

- (double) min
readassignprotected

minimum value

Returns minimum value measured.

◆ missCount

- (int) missCount
readassignprotected

number of attempts that did not result in a valid measurement

Returns number of failed measurements.


The documentation for this class was generated from the following files: