2017-12-04 12:07:41 +00:00
|
|
|
/**
|
|
|
|
* @flow
|
|
|
|
* Trace representation wrapper
|
|
|
|
*/
|
2018-01-05 17:20:02 +00:00
|
|
|
import { getNativeModule } from '../../utils/native';
|
2017-12-04 12:07:41 +00:00
|
|
|
import type PerformanceMonitoring from './';
|
|
|
|
|
2017-05-24 11:37:52 +00:00
|
|
|
export default class Trace {
|
2017-12-04 12:07:41 +00:00
|
|
|
identifier: string;
|
2018-01-05 17:20:02 +00:00
|
|
|
_perf: PerformanceMonitoring;
|
2017-05-24 11:37:52 +00:00
|
|
|
|
2017-12-04 12:07:41 +00:00
|
|
|
constructor(perf: PerformanceMonitoring, identifier: string) {
|
2018-01-05 17:20:02 +00:00
|
|
|
this._perf = perf;
|
2017-05-24 11:37:52 +00:00
|
|
|
this.identifier = identifier;
|
|
|
|
}
|
|
|
|
|
2017-12-04 12:07:41 +00:00
|
|
|
start(): void {
|
2018-01-05 17:20:02 +00:00
|
|
|
getNativeModule(this._perf).start(this.identifier);
|
2017-05-24 11:37:52 +00:00
|
|
|
}
|
|
|
|
|
2017-12-04 12:07:41 +00:00
|
|
|
stop(): void {
|
2018-01-05 17:20:02 +00:00
|
|
|
getNativeModule(this._perf).stop(this.identifier);
|
2017-05-24 11:37:52 +00:00
|
|
|
}
|
|
|
|
|
2017-12-04 12:07:41 +00:00
|
|
|
incrementCounter(event: string): void {
|
2018-01-05 17:20:02 +00:00
|
|
|
getNativeModule(this._perf).incrementCounter(this.identifier, event);
|
2017-05-24 11:37:52 +00:00
|
|
|
}
|
|
|
|
}
|