Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 | 2 |
| 3 # Copyright 2016 The Chromium Authors. All rights reserved. | 3 # Copyright 2016 The Chromium Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
| 6 | 6 |
| 7 '''Tracing agent interface for systrace. | 7 '''Tracing agent interface for systrace. |
| 8 | 8 |
| 9 This class represents an agent that captures traces from a particular | 9 This class represents an agent that captures traces from a particular |
| 10 tool (e.g. atrace, ftrace.) | 10 tool (e.g. atrace, ftrace.) |
| 11 ''' | 11 ''' |
| 12 | 12 |
| 13 # Timeout interval constants. | 13 # Timeout interval constants. |
| 14 | 14 |
| 15 START_STOP_TIMEOUT = 10.0 | 15 START_STOP_TIMEOUT = 10.0 |
| 16 GET_RESULTS_TIMEOUT = 30.0 | 16 GET_RESULTS_TIMEOUT = 30.0 |
| 17 | 17 |
| 18 | 18 |
| 19 class TracingConfig(object): | |
| 20 '''Store the tracing configuration options for all Systrace agents. If there | |
| 21 are ever any options that are to be shared between all of the agents, those | |
| 22 options should go here. | |
| 23 ''' | |
| 24 def __init__(self): | |
| 25 pass | |
| 26 | |
| 19 class TracingAgent(object): | 27 class TracingAgent(object): |
| 20 def __init__(self): | 28 def __init__(self): |
| 21 pass | 29 pass |
| 22 | 30 |
| 23 def StartAgentTracing(self, options, categories, timeout=None): | 31 def StartAgentTracing(self, config, timeout=None): |
| 24 '''Starts running the trace for this agent. Stops with timeout if | 32 '''Starts running the trace for this agent. Stops with timeout if |
| 25 not completed within timeout interval. | 33 not completed within timeout interval. |
| 26 | 34 |
| 27 Args: | 35 Args: |
| 28 options: Tracing options. | 36 config: TracingOptions subclass containing agent-specific options |
|
Sami
2016/08/26 15:53:43
s/TracingOptions/TracingConfig/?
washingtonp
2016/08/26 18:50:54
Done.
| |
| 29 categories: Categories of trace events to record. | 37 and categories. |
| 30 timeout: Timeout interval in seconds. | 38 timeout: Timeout interval in seconds. |
| 31 | 39 |
| 32 Returns: | 40 Returns: |
| 33 Boolean value indicating whether or not the trace started successfully. | 41 Boolean value indicating whether or not the trace started successfully. |
| 34 ''' | 42 ''' |
| 35 pass | 43 pass |
| 36 | 44 |
| 37 def StopAgentTracing(self, timeout=None): | 45 def StopAgentTracing(self, timeout=None): |
| 38 '''Stops running the trace for this agent and returns immediately. | 46 '''Stops running the trace for this agent and returns immediately. |
| 39 Stops with timeout if not completed within timeout interval. | 47 Stops with timeout if not completed within timeout interval. |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 73 StopAgentTracing is done. This function blocks until the result | 81 StopAgentTracing is done. This function blocks until the result |
| 74 is collected (note; this may take several seconds). Stops with timeout | 82 is collected (note; this may take several seconds). Stops with timeout |
| 75 if not completed within self._options.collection_timeout seconds. | 83 if not completed within self._options.collection_timeout seconds. |
| 76 | 84 |
| 77 Args: | 85 Args: |
| 78 timeout: Timeout interval in seconds. | 86 timeout: Timeout interval in seconds. |
| 79 Returns: | 87 Returns: |
| 80 Completed trace for this agent. | 88 Completed trace for this agent. |
| 81 ''' | 89 ''' |
| 82 pass | 90 pass |
| OLD | NEW |