function getMetricDataFrame()

in web/reactplayer/public/test-harness/js/test-harness.js [112:187]


function getMetricDataFrame(){
    var userForMetric = Math.floor((Math.random() * userValue) + 1);
    var user = getUser(userForMetric);
    var timeAt = (Date.now() - user.firstFired) / 1000;
    //console.log(`Got user ${userForMetric} with ${user.uid} (uid)   ${user.connType} (con)   ${user.counter} (eventcount)     ${timeAt} timeat     ${user.videoID} (videoID)`)
    var dataFrame = {
        MetricType: 'UNDEFINED',
        user_id: user.uid,
        video_id: user.videoId,
        // Video_seriesName: user.seriesName,
        // Video_seasonNumber: user.seasonNumber,
        // Video_episodeNumber: user.episodeNumber,
        connection_type: user.connType,
        at: timeAt,
        TimeStamp: Date.now(),
        isotimestamp: (new Date()).toISOString()
    };

    if(user.counter == 0){
        dataFrame['MetricType'] = 'FIRSTFRAME';
        dataFrame['time_millisecond'] = Math.floor((Math.random() * 3000) + 1);
    } else {
        if(timeAt > user.maxWatch){
            //Reset the user if they hit their maximum watch time.
            dataFrame['MetricType'] = 'STOP';
            delete users[userForMetric];
            console.log(`Deleted user ${userForMetric}`);
        } else {
            if(Math.floor((Math.random() * 100) + 1) > bufferingValue) {
                dataFrame['MetricType'] = 'PLAY';
                dataFrame['duration'] = '50';
            } else {
                dataFrame['MetricType'] = 'BUFFER';
                dataFrame['buffer_type'] = "ScreenFreezedBuffer";
                dataFrame['time_millisecond'] = Math.floor((Math.random() * 2000) + 1);
            }
        }
    }


/* NOT IMPLEMENTED
    SEEK = {
        seek_from: '',
        seek_to: '',
        rtt: '',
        connectionType: '',
        timeInMillisecond: ''
    },
    PAUSE = {
        at: ''
    },
    ERROR = {
        at: '',
        message: '',
        error: {}
    },
    BUFFER = {
        buffer_type: '',
        at: '',
        rtt: '',
        connectionType: '',
        timeInMillisecond: ''
    },
    STREAM = {
        at: '',
        rtt: '',
        connectionType: '',
        package: '',
        aspectratio: '',
        resolution: '',
        fps: '',
        bitrate: ''
    },
*/
    return dataFrame;
}