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 15syntax = "proto2"; 16 17package android.vts; 18option java_package = "com.android.vts.proto"; 19option java_outer_classname = "VtsProfilingMessageClass"; 20 21import "test/vts/proto/ComponentSpecificationMessage.proto"; 22 23// Type of an instrumentation event. 24enum 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. 48message 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 (e.g. 1.0). 56 // Deprecated, use version_major and version_minor instead. 57 optional float version = 4 [deprecated = true]; 58 // Interface name of the profiling HAL. 59 optional bytes interface = 5; 60 // Message of the called function. 61 optional FunctionSpecificationMessage func_msg = 6; 62 // use two ints to represent major and minor versions separately. 63 // HAL major version of the target component (e.g. 1.0 -> 1). 64 optional int32 version_major = 7 [default = -1]; 65 // HAL minor version of the target component (e.g. 1.0 -> 0). 66 optional int32 version_minor = 8 [default = -1]; 67} 68 69message VtsProfilingMessage { 70 repeated VtsProfilingRecord records = 1; 71} 72