Index: mojo/common/dart/lib/src/trace_provider_impl.dart |
diff --git a/mojo/common/dart/lib/src/trace_provider_impl.dart b/mojo/common/dart/lib/src/trace_provider_impl.dart |
deleted file mode 100644 |
index 43066a029d3cf2ecafcae6c1788beef45f154359..0000000000000000000000000000000000000000 |
--- a/mojo/common/dart/lib/src/trace_provider_impl.dart |
+++ /dev/null |
@@ -1,98 +0,0 @@ |
-// Copyright 2015 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-import 'dart:async'; |
- |
-import 'package:mojo/core.dart'; |
-import 'package:mojo_services/tracing/tracing.mojom.dart'; |
- |
-enum TraceSendTiming { |
- IMMEDIATE, |
- // TODO: Add BATCHED? |
- AT_END, |
-} |
- |
-class TraceProviderImpl implements TraceProvider { |
- // Any messages sent before the tracing service connects to us will be |
- // recorded and kept until one second after construction of the trace |
- // provider. If the tracing service connects before that time, we will replay |
- // the recorded trace events. |
- // |
- // This allows the client to record trace events early during initialization |
- // of the app. |
- List<String> _message_queue; |
- bool _enqueuing; |
- |
- TraceProviderStub _stub; |
- TraceRecorderProxy _recorder; |
- // TODO(rudominer) We currently ignore _categories. |
- String _categories; |
- |
- TraceSendTiming _timing; |
- |
- TraceProviderImpl([TraceSendTiming timing = TraceSendTiming.IMMEDIATE]) { |
- _message_queue = []; |
- _enqueuing = true; |
- _timing = timing; |
- new Future.delayed(const Duration(seconds: 1), () { |
- if (_enqueuing) { |
- _enqueuing = false; |
- _message_queue.clear(); |
- } |
- }); |
- } |
- |
- void connect(MojoMessagePipeEndpoint e) { |
- _stub = TraceProviderStub.newFromEndpoint(e); |
- _stub.impl = this; |
- } |
- |
- @override |
- void startTracing(String categories, TraceRecorderProxy recorder) { |
- assert(_recorder == null); |
- _recorder = recorder; |
- _categories = categories; |
- _enqueuing = false; |
- if (_timing == TraceSendTiming.IMMEDIATE) { |
- for (String message in _message_queue) { |
- _recorder.ptr.record(message); |
- } |
- _message_queue.clear(); |
- } |
- } |
- |
- @override |
- void stopTracing() { |
- assert(_recorder != null); |
- if (_timing == TraceSendTiming.AT_END) { |
- for (String message in _message_queue) { |
- _recorder.ptr.record(message); |
- } |
- _message_queue.clear(); |
- } |
- _recorder.close(); |
- _recorder = null; |
- } |
- |
- bool isActive() { |
- return _enqueuing || _recorder != null; |
- } |
- |
- void sendTraceMessage(String message) { |
- switch (_timing) { |
- case TraceSendTiming.IMMEDIATE: |
- if (_recorder != null) { |
- _recorder.ptr.record(message); |
- } else if (_enqueuing) { |
- _message_queue.add(message); |
- } |
- break; |
- case TraceSendTiming.AT_END: |
- if (isActive()) { |
- _message_queue.add(message); |
- } |
- break; |
- } |
- } |
-} |