videoLat 2.0
Video conferencing delay measurements
Public Member Functions | Protected Attributes | Properties
MeasurementDataStore Class Reference

#import <MeasurementDataStore.h>

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

List of all members.

Public Member Functions

(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.
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 min
 minimum value
double max
 maximum value
double average
 Returns the average of all values.
double stddev
 Returns the standard deviation of all values.
int count
 total number of values
int missCount
 number of attempts that did not result in a valid measurement
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.

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).


Member Function Documentation

- (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.
- (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.
- (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.

- (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.

- (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.
- (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.
- (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.

Property Documentation

- (int) count [read, assign]

total number of values

Returns number of values measured.

Reimplemented from <GraphDataProviderProtocol>.

- (double) max [read, assign]

maximum value

Returns maximum value measured.

Reimplemented from <GraphDataProviderProtocol>.

- (double) min [read, assign]

minimum value

Returns minimum value measured.

Reimplemented from <GraphDataProviderProtocol>.

- (int) missCount [read, assign]

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:
 All Classes Namespaces Files Functions Variables Properties Defines