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