package simulator.stats.implementation; import simulator.stats.DCwormsAccumulator; import simulator.stats.implementation.out.StatsSerializer; /** * * @author Marcin Krystek * */ public class JobStats implements StatsInterface { protected String jobID; protected DCwormsAccumulator meanTaskCompletionTime; protected DCwormsAccumulator meanTaskExecutionTime; protected DCwormsAccumulator meanTaskStartTime; protected DCwormsAccumulator meanTaskFlowTime; protected DCwormsAccumulator meanTaskWaitingTime; protected DCwormsAccumulator meanTaskGQ_WaitingTime; protected DCwormsAccumulator lateness; protected DCwormsAccumulator tardiness; protected DCwormsAccumulator makespan; JobStats(String jobID) { this.jobID = jobID; init(); } private String[] headers = { "jobID", "meanTaskCompletionTime", "meanTaskExecutionTime", "meanTaskStartTime", "meanTaskFlowTime", "meanTaskWaitingTime", "meanTaskGQ_WaitingTime", "lateness", "tardiness", "makespan" }; private void init() { this.meanTaskCompletionTime = new DCwormsAccumulator(); this.meanTaskExecutionTime = new DCwormsAccumulator(); this.meanTaskStartTime = new DCwormsAccumulator(); this.meanTaskFlowTime = new DCwormsAccumulator(); this.meanTaskWaitingTime = new DCwormsAccumulator(); this.meanTaskGQ_WaitingTime = new DCwormsAccumulator(); this.lateness = new DCwormsAccumulator(); this.tardiness = new DCwormsAccumulator(); this.makespan = new DCwormsAccumulator(); } public String getJobID() { return jobID; } public DCwormsAccumulator getMeanTaskCompletionTime() { return meanTaskCompletionTime; } public DCwormsAccumulator getMeanTaskExecutionTime() { return meanTaskExecutionTime; } public DCwormsAccumulator getMeanTaskStartTime() { return meanTaskStartTime; } public DCwormsAccumulator getMeanTaskFlowTime() { return meanTaskFlowTime; } public DCwormsAccumulator getMeanTaskWaitingTime() { return meanTaskWaitingTime; } public DCwormsAccumulator getMeanTaskGQ_WaitingTime() { return meanTaskGQ_WaitingTime; } public DCwormsAccumulator getLateness() { return lateness; } public DCwormsAccumulator getTardiness() { return tardiness; } public DCwormsAccumulator getMakespan() { return makespan; } public Object serialize(StatsSerializer serializer) { return serializer.visit(this); } public String[] getHeaders() { return headers; } }