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;
}