Home | History | Annotate | Download | only in proto
      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