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