Index: third_party/pkg/perf_api/lib/perf_api.dart |
diff --git a/third_party/pkg/perf_api/lib/perf_api.dart b/third_party/pkg/perf_api/lib/perf_api.dart |
deleted file mode 100644 |
index 932cdd5c81d6f286ad369b7c48e6e05e094f1b80..0000000000000000000000000000000000000000 |
--- a/third_party/pkg/perf_api/lib/perf_api.dart |
+++ /dev/null |
@@ -1,157 +0,0 @@ |
-library perf_api; |
- |
-import 'dart:async'; |
- |
-/** |
- * A simple profiler api. |
- */ |
-class Profiler { |
- final Counters counters = new Counters(); |
- |
- /** |
- * Const constructor allows instances of this class to be used as a no-op |
- * implementation. |
- */ |
- const Profiler(); |
- |
- /** |
- * Starts a new timer for a given action [name]. A timer id will be |
- * returned which can be used in [stopTimer] to stop the timer. |
- * |
- * [extraData] is additional information about the timed action. Implementing |
- * profiler should not assume any semantic or syntactic structure of that |
- * data and is free to ignore it in aggregate reports. |
- */ |
- dynamic startTimer(String name, [dynamic extraData]) => null; |
- |
- /** |
- * Stop a timer for a given [idOrName]. [idOrName] can either be a timer |
- * identifier returned from [startTimer] or a timer name string. If [idOrName] |
- * is invalid or timer for that [idOrName] was already stopped then |
- * [ProfilerError] will be thrown. If [idOrName] is a String timer name then |
- * the latest active timer with that name will be stopped. |
- */ |
- void stopTimer(dynamic idOrName) {} |
- |
- /** |
- * A simple zero-duration marker. |
- */ |
- void markTime(String name, [dynamic extraData]) {} |
- |
- /** |
- * Times execution of the [functionOrFuture]. Body can either be a no argument |
- * function or a [Future]. If function, it is executed synchronously and its |
- * return value is returned. If it's a Future, then timing is stopped when the |
- * future completes either successfully or with error. |
- */ |
- dynamic time(String name, functionOrFuture, [dynamic extraData]) { |
- var id = startTimer(name, extraData); |
- if (functionOrFuture is Function) { |
- try { |
- return functionOrFuture(); |
- } finally { |
- stopTimer(id); |
- } |
- } |
- if (functionOrFuture is Future) { |
- return functionOrFuture.then( |
- (v) { |
- stopTimer(id); |
- return v; |
- }, |
- onError: (e) { |
- stopTimer(id); |
- throw e; |
- }); |
- } |
- throw new ProfilerError( |
- 'Invalid functionOrFuture or type ${functionOrFuture.runtimeType}'); |
- } |
-} |
- |
-class Counters { |
- |
- final Map<String, int> _counters = <String, int>{}; |
- |
- const Counters(); |
- |
- /** |
- * Increments the counter under [counterName] by [delta]. Default [delta] |
- * is 1. If counter is not yet initilalized, its value is assumed to be 0. |
- * [delta] is allowed to be negative and it is possible for the counter value |
- * to become negative. |
- */ |
- int increment(String counterName, [int delta = 1]) { |
- _counters.putIfAbsent(counterName, _initWithZero); |
- _counters[counterName] += delta; |
- return _counters[counterName]; |
- } |
- |
- /** |
- * Returns the current value of the counter. If the counter value is not |
- * initialized then null is returned. |
- */ |
- int operator [](String counterName) => _counters[counterName]; |
- |
- /** |
- * Sets a [value] for a [counterName]. Any previous value is overridden. |
- */ |
- operator []=(String counterName, int value) => _counters[counterName] = value; |
- |
- /** |
- * Returns an immutable map of all known counter values. |
- */ |
- Map<String, int> get all => new _UnmodifiableMap(_counters); |
-} |
- |
-int _initWithZero() => 0; |
- |
-class ProfilerError extends Error { |
- final String message; |
- ProfilerError(String this.message); |
- toString() => message; |
-} |
- |
-class _UnmodifiableMap<K, V> implements Map<K, V> { |
- final Map _map; |
- |
- const _UnmodifiableMap(this._map); |
- |
- bool containsValue(Object value) => _map.containsValue(value); |
- |
- bool containsKey(Object key) => _map.containsKey(key); |
- |
- V operator [](Object key) => _map[key]; |
- |
- void operator []=(K key, V value) { |
- throw new UnsupportedError("Cannot modify an unmodifiable map"); |
- } |
- |
- V putIfAbsent(K key, V ifAbsent()) { |
- throw new UnsupportedError("Cannot modify an unmodifiable map"); |
- } |
- |
- addAll(Map other) { |
- throw new UnsupportedError("Cannot modify an unmodifiable map"); |
- } |
- |
- V remove(Object key) { |
- throw new UnsupportedError("Cannot modify an unmodifiable map"); |
- } |
- |
- void clear() { |
- throw new UnsupportedError("Cannot modify an unmodifiable map"); |
- } |
- |
- void forEach(void f(K key, V value)) => _map.forEach(f); |
- |
- Iterable<K> get keys => _map.keys; |
- |
- Iterable<V> get values => _map.values; |
- |
- int get length => _map.length; |
- |
- bool get isEmpty => _map.isEmpty; |
- |
- bool get isNotEmpty => _map.isNotEmpty; |
-} |