47 lines
956 B
JavaScript
47 lines
956 B
JavaScript
import { bind } from 'angular2/di';
|
|
import {
|
|
Promise, PromiseWrapper
|
|
} from 'angular2/src/facade/async';
|
|
import {
|
|
ABSTRACT, BaseException
|
|
} from 'angular2/src/facade/lang';
|
|
import { StringMap } from 'angular2/src/facade/collection';
|
|
|
|
/**
|
|
* A metric is measures values
|
|
*/
|
|
@ABSTRACT()
|
|
export class Metric {
|
|
static bindTo(delegateToken) {
|
|
return [
|
|
bind(Metric).toFactory(
|
|
(delegate) => delegate, [delegateToken]
|
|
)
|
|
];
|
|
}
|
|
|
|
/**
|
|
* Starts measuring
|
|
*/
|
|
beginMeasure():Promise {
|
|
throw new BaseException('NYI');
|
|
}
|
|
|
|
/**
|
|
* Ends measuring and reports the data
|
|
* since the begin call.
|
|
* @param restart: Whether to restart right after this.
|
|
*/
|
|
endMeasure(restart:boolean):Promise<StringMap> {
|
|
throw new BaseException('NYI');
|
|
}
|
|
|
|
/**
|
|
* Describes the metrics provided by this metric implementation.
|
|
* (e.g. units, ...)
|
|
*/
|
|
describe():StringMap {
|
|
throw new BaseException('NYI');
|
|
}
|
|
}
|