class TraceBuild: json_path = "" def __init__(self,json_path_t): self.json_path = json_path_t self.job = Job() def load(self): try: self.json_file=open(self.json_path,'r') except IOError as error: print ("file open error:"+str(error)) return 0 return 1 def initial_jobs(self): while True: json_str=self.json_file.readline() if not json_str: break elif not json_str.startswith("{"): continue else: json_dict = json.loads(json_str) event = Event(json_dict) event.process_event(self.job) return 1 #def get_jobbyid(self,jobid): #def get_jobbyindex(self,index): def reduce_startTime(self): times = [] reduces = self.job.get_reduces() for reducetask in reduces: times.append(reducetask.reduceattempts[0].get_startTime().__strtoint__()) return times def reduce_finishTime(self): times = [] reduces = self.job.get_reduces() for reducetask in reduces: times.append(reducetask.get_finishTime().__strtoint__()) return times def map_startTime(self): times = [] maps = self.job.get_maps() for maptask in maps: #times.append(maptask.mapattempts[0].get_startTime().__strtoint__()) times.append(maptask.get_startTime().__strtoint__()) return times def map_finishTime(self): times = [] maps = self.job.get_maps() for maptask in maps: times.append(maptask.get_finishTime().__strtoint__()) return times def reduce_shufflefinishTime(self): times = [] reduces = self.job.get_reduces() for reducetask in reduces: times.append(reducetask.get_shuffleFinishTime().__strtoint__()) return times def map_countByKey(self,key): countValues = [] maps = self.job.get_maps() for maptask in maps: countValues.append(maptask.get_counterValue(key)) return countValues def map_time(self): times=[] maps = self.job.get_maps() for maptask in maps: times.append(maptask.get_spendTime()) return times def reduce_time(self): times=[] reduces = self.job.get_reduces() for reducetask in reduces: times.append(reducetask.get_spendTime()) return times def job_runTinme(self): return self.job.get_runTime() def get_mapAttemptLocality(self): locality = [] maps = self.job.get_maps() for maptask in maps: locality.append(maptask.get_successAttempt().get_locality()) return locality def get_mapAttemptHost(self): host = [] for maptask in self.job.get_maps(): host.append(maptask.get_successAttempt().get_hostname()) return host def get_reduceAttemptHost(self): host = [] for reducetask in self.job.get_reduces(): host.append(reducetask.get_successAttempt().get_hostname()) return host def get_maps(self): return self.job.get_maps() def get_reduces(self): return self.job.get_reduces() def normalrize(self,dataSet): normalSet = [] tSet = [] for i in range(0,len(dataSet)): tSet.append(dataSet[i]) for i in range(0,len(dataSet)): normal = (float)(tSet[i])/(float)(sum(tSet)) normalSet.append(normal) return normalSet