vis.js is a dynamic, browser-based visualization library
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

169 lines
5.0 KiB

'use strict';
function JobAgentGenerator(id) {
// execute super constructor
eve.Agent.call(this, id);
this.rpc = this.loadModule('rpc', this.rpcFunctions);
this.connect(eve.system.transports.getAll());
}
// extend the eve.Agent prototype
JobAgentGenerator.prototype = Object.create(eve.Agent.prototype);
JobAgentGenerator.prototype.constructor = AgentGenerator;
// define RPC functions, preferably in a separated object to clearly distinct
// exposed functions from local functions.
JobAgentGenerator.prototype.rpcFunctions = {};
JobAgentGenerator.prototype.rpcFunctions.createJob = function(params) {
var jobAgentName = params.type;
if (jobList[jobAgentName] === undefined) {
jobList[jobAgentName] = new JobAgent(jobAgentName);
graph2dGroups.add([
{
id: jobAgentName+'_pred_duration_std_lower',
content: "prediction",
className: 'prediction_std',
options: {drawPoints:false}
},
{
id: jobAgentName+'_pred_durationWithPause_std_lower',
content: "predWithPause",
className: 'prediction_std',
options: {drawPoints:false}
},
{
id: jobAgentName+'_pred_durationWithStartup_std_lower',
content: "predWithStartup",
className: 'prediction_std',
options: {drawPoints:false}
},
{
id: jobAgentName+'_pred_durationWithBoth_std_lower',
content: "predWithBoth",
className: 'prediction_std',
options: {drawPoints:false}
},
{
id: jobAgentName+'_pred_duration_std_higher',
content: "prediction",
className: 'prediction_std',
options: {drawPoints:false}
},
{
id: jobAgentName+'_pred_durationWithPause_std_higher',
content: "predWithPause",
className: 'prediction_std',
options: {drawPoints:false}
},
{
id: jobAgentName+'_pred_durationWithStartup_std_higher',
content: "predWithStartup",
className: 'prediction_std',
options: {drawPoints:false}
},
{
id: jobAgentName+'_pred_durationWithBoth_std_higher',
content: "predWithBoth",
className: 'prediction_std',
options: {drawPoints:false}
},{
id: jobAgentName+'_pred_duration_original',
content: "prediction",
className: 'prediction_original'
},
{
id: jobAgentName+'_pred_durationWithPause_original',
content: "predWithPause",
className: 'prediction_original'
},
{
id: jobAgentName+'_pred_durationWithStartup_original',
content: "predWithStartup",
className: 'prediction_original'
},
{
id: jobAgentName+'_pred_durationWithBoth_original',
content: "predWithBoth",
className: 'prediction_original'
},
{
id: jobAgentName+'_pred_duration',
content: "prediction",
className: 'prediction'
},
{
id: jobAgentName+'_pred_durationWithPause',
content: "predWithPause",
className: 'prediction'
},
{
id: jobAgentName+'_pred_durationWithStartup',
content: "predWithStartup",
className: 'prediction'
},
{
id: jobAgentName+'_pred_durationWithBoth',
content: "predWithBoth",
className: 'prediction'
},
{
id: jobAgentName+'_duration',
content: "duration",
className: 'duration'
},
{
id: jobAgentName+'_durationWithPause',
content: "durationWithPause",
className: 'duration'
},
{
id: jobAgentName+'_durationWithStartup',
content: "durationWithStartup",
className: 'duration'
},
{
id: jobAgentName+'_durationWithBoth',
content: "durationWithBoth",
className: 'duration'
}
]);
var visibilityUpdate = {};
//visibilityUpdate[jobAgentName+'_pred'] = false;
//visibilityUpdate[jobAgentName+'_predWithPause'] = false;
//visibilityUpdate[jobAgentName+'_predWithStartup'] = false;
//visibilityUpdate[jobAgentName+'_predWithBoth'] = false;
//visibilityUpdate[jobAgentName+'_duration'] = false;
//visibilityUpdate[jobAgentName+'_durationWithPause'] = false;
//visibilityUpdate[jobAgentName+'_durationWithStartup'] = false;
//visibilityUpdate[jobAgentName+'_durationWithBoth'] = false;
graph2d.setOptions({groups:{visible:visibilityUpdate}});
refreshJobs();
}
};
JobAgentGenerator.prototype.rpcFunctions.returnJobAddress = function(params) {
var instanceId = params.instanceId;
var hasJob = false;
for (var jobAgentName in jobList) {
if (jobList.hasOwnProperty(jobAgentName)) {
hasJob = jobList[jobAgentName].hasJob(instanceId);
if (hasJob == true) {
return jobAgentName;
}
}
}
return "doesNotExist";
};
JobAgentGenerator.prototype.getAllJobNames = function() {
var list = [];
for (var jobAgentName in jobList) {
if (jobList.hasOwnProperty(jobAgentName)) {
list.push(jobAgentName);
}
}
return list;
};