47 lines
		
	
	
		
			889 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			47 lines
		
	
	
		
			889 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | import { isPresent } from 'angular2/src/facade/lang'; | ||
|  | 
 | ||
|  | export class TraceEventFactory { | ||
|  |   _cat:string; | ||
|  |   _pid; | ||
|  | 
 | ||
|  |   constructor(cat, pid) { | ||
|  |     this._cat = cat; | ||
|  |     this._pid = pid; | ||
|  |   } | ||
|  | 
 | ||
|  |   create(ph, name, time, args = null) { | ||
|  |     var res = { | ||
|  |       'name': name, | ||
|  |       'cat': this._cat, | ||
|  |       'ph': ph, | ||
|  |       'ts': time, | ||
|  |       'pid': this._pid | ||
|  |     }; | ||
|  |     if (isPresent(args)) { | ||
|  |       res['args'] = args; | ||
|  |     } | ||
|  |     return res; | ||
|  |   } | ||
|  | 
 | ||
|  |   markStart(name, time) { | ||
|  |     return this.create('b', name, time); | ||
|  |   } | ||
|  | 
 | ||
|  |   markEnd(name, time) { | ||
|  |     return this.create('e', name, time); | ||
|  |   } | ||
|  | 
 | ||
|  |   start(name, time, args = null) { | ||
|  |     return this.create('B', name, time, args); | ||
|  |   } | ||
|  | 
 | ||
|  |   end(name, time, args = null) { | ||
|  |     return this.create('E', name, time, args); | ||
|  |   } | ||
|  | 
 | ||
|  |   complete(name, time, duration, args = null) { | ||
|  |     var res = this.create('X', name, time, args); | ||
|  |     res['dur'] = duration; | ||
|  |     return res; | ||
|  |   } | ||
|  | } |