| # Copyright 2018, The Android Open Source Project |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| """ |
| Metrics class. |
| """ |
| |
| import constants |
| |
| from . import metrics_base |
| |
| class AtestStartEvent(metrics_base.MetricsBase): |
| """ |
| Create Atest start event and send to clearcut. |
| |
| Usage: |
| metrics.AtestStartEvent( |
| command_line='example_atest_command', |
| test_references=['example_test_reference'], |
| cwd='example/working/dir', |
| os='example_os') |
| """ |
| _EVENT_NAME = 'atest_start_event' |
| command_line = constants.INTERNAL |
| test_references = constants.INTERNAL |
| cwd = constants.INTERNAL |
| os = constants.INTERNAL |
| |
| class AtestExitEvent(metrics_base.MetricsBase): |
| """ |
| Create Atest exit event and send to clearcut. |
| |
| Usage: |
| metrics.AtestExitEvent( |
| duration=metrics_utils.convert_duration(end-start), |
| exit_code=0, |
| stacktrace='some_trace', |
| logs='some_logs') |
| """ |
| _EVENT_NAME = 'atest_exit_event' |
| duration = constants.EXTERNAL |
| exit_code = constants.EXTERNAL |
| stacktrace = constants.INTERNAL |
| logs = constants.INTERNAL |
| |
| class FindTestFinishEvent(metrics_base.MetricsBase): |
| """ |
| Create find test finish event and send to clearcut. |
| |
| Occurs after a SINGLE test reference has been resolved to a test or |
| not found. |
| |
| Usage: |
| metrics.FindTestFinishEvent( |
| duration=metrics_utils.convert_duration(end-start), |
| success=true, |
| test_reference='hello_world_test', |
| test_finders=['example_test_reference', 'ref2'], |
| test_info="test_name: hello_world_test - |
| test_runner:AtestTradefedTestRunner - |
| build_targets: |
| set(['MODULES-IN-platform_testing-tests-example-native']) - |
| data:{'rel_config': |
| 'platform_testing/tests/example/native/AndroidTest.xml', |
| 'filter': frozenset([])} - |
| suite:None - module_class: ['NATIVE_TESTS'] - |
| install_locations:set(['device', 'host'])") |
| """ |
| _EVENT_NAME = 'find_test_finish_event' |
| duration = constants.EXTERNAL |
| success = constants.EXTERNAL |
| test_reference = constants.INTERNAL |
| test_finders = constants.INTERNAL |
| test_info = constants.INTERNAL |
| |
| class BuildFinishEvent(metrics_base.MetricsBase): |
| """ |
| Create build finish event and send to clearcut. |
| |
| Occurs after the build finishes, either successfully or not. |
| |
| Usage: |
| metrics.BuildFinishEvent( |
| duration=metrics_utils.convert_duration(end-start), |
| success=true, |
| targets=['target1', 'target2']) |
| """ |
| _EVENT_NAME = 'build_finish_event' |
| duration = constants.EXTERNAL |
| success = constants.EXTERNAL |
| targets = constants.INTERNAL |
| |
| class RunnerFinishEvent(metrics_base.MetricsBase): |
| """ |
| Create run finish event and send to clearcut. |
| |
| Occurs when a single test runner has completed. |
| |
| Usage: |
| metrics.RunnerFinishEvent( |
| duration=metrics_utils.convert_duration(end-start), |
| success=true, |
| runner_name='AtestTradefedTestRunner' |
| test=[{name:'hello_world_test', result:0, stacktrace:''}, |
| {name:'test2', result:1, stacktrace:'xxx'}]) |
| """ |
| _EVENT_NAME = 'runner_finish_event' |
| duration = constants.EXTERNAL |
| success = constants.EXTERNAL |
| runner_name = constants.EXTERNAL |
| test = constants.INTERNAL |
| |
| class RunTestsFinishEvent(metrics_base.MetricsBase): |
| """ |
| Create run tests finish event and send to clearcut. |
| |
| Occurs after all test runners and tests have finished. |
| |
| Usage: |
| metrics.RunTestsFinishEvent( |
| duration=metrics_utils.convert_duration(end-start)) |
| """ |
| _EVENT_NAME = 'run_tests_finish_event' |
| duration = constants.EXTERNAL |
| |
| class LocalDetectEvent(metrics_base.MetricsBase): |
| """ |
| Create local detection event and send it to clearcut. |
| |
| Usage: |
| metrics.LocalDetectEvent( |
| detect_type=0, |
| result=0) |
| """ |
| _EVENT_NAME = 'local_detect_event' |
| detect_type = constants.EXTERNAL |
| result = constants.EXTERNAL |