1 // Copyright 2016 The Android Open Source Project 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 syntax = "proto2"; 16 17 package android.vts; 18 option java_package = "com.android.vts.proto"; 19 option java_outer_classname = "VtsProfilingMessageClass"; 20 21 import "test/vts/proto/ComponentSpecificationMessage.proto"; 22 23 // Type of an instrumentation event. 24 enum InstrumentationEventType { 25 // Entry event on the server side of a binderized HAL. 26 SERVER_API_ENTRY = 0; 27 // Exit event on the server side of a binderized HAL. 28 SERVER_API_EXIT = 1; 29 // Entry event on the client side of a binderized HAL. 30 CLIENT_API_ENTRY = 2; 31 // Exit event on the client side of a binderized HAL. 32 CLIENT_API_EXIT = 3; 33 // Entry event of a synchronize callback. 34 SYNC_CALLBACK_ENTRY = 4; 35 // Exit event of a synchronize callback. 36 SYNC_CALLBACK_EXIT = 5; 37 // Entry event of a asynchronize callback. 38 ASYNC_CALLBACK_ENTRY = 6; 39 // Exit event of a asynchronize callback. 40 ASYNC_CALLBACK_EXIT = 7; 41 // Entry event of a passthrough HAL. 42 PASSTHROUGH_ENTRY = 8; 43 // Exit event of a passthrough HAL. 44 PASSTHROUGH_EXIT = 9; 45 } 46 47 // To specify a VTS profiling record. 48 message VtsProfilingRecord { 49 // The timestamp of the profiling record. 50 optional int64 timestamp = 1; 51 // Type of the profiling event. 52 optional InstrumentationEventType event = 2; 53 // Package name of the profiling HAL. 54 optional bytes package = 3; 55 // Version of the profiling HAL. 56 optional float version = 4; 57 // Interface name of the profiling HAL. 58 optional bytes interface = 5; 59 // Message of the called function. 60 optional FunctionSpecificationMessage func_msg = 6; 61 } 62 63 message VtsProfilingMessage { 64 repeated VtsProfilingRecord records = 1; 65 } 66