// Copyright (c) 2021-2023 Huawei Device Co., Ltd. // 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. syntax = "proto3"; option java_package = "ohos.devtools.datasources.transport.grpc.service"; // Common message define for profiler tools, imported by profiler and plugin proto file. message ProfilerPluginConfig { string name = 1; string plugin_sha256 = 2; uint32 sample_interval = 3; bytes config_data = 4; string clock = 5; } message ProfilerPluginState { string name = 1; enum State { INITED = 0; REGISTERED = 1; // registered to plugin service. LOADED = 2; // have created session. IN_SESSION = 3; // have started session. }; State state = 2; } // for FetchDataResponse message ProfilerPluginData { string name = 1; uint32 status = 2; bytes data = 3; enum ClockId { CLOCKID_REALTIME = 0; CLOCKID_MONOTONIC = 1; CLOCKID_PROCESS_CPUTIME_ID = 2; // since Linux 2.6.12 CLOCKID_THREAD_CPUTIME_ID = 3; // since Linux 2.6.12 CLOCKID_MONOTONIC_RAW = 4; // since Linux 2.6.28; Linux-specific CLOCKID_REALTIME_COARSE = 5; // since Linux 2.6.32; Linux-specific CLOCKID_MONOTONIC_COARSE = 6; // since Linux 2.6.32; Linux-specific CLOCKID_BOOTTIME = 7; // since Linux 2.6.39; Linux-specific CLOCKID_REALTIME_ALARM = 8; // since Linux 3.0; Linux-specific CLOCKID_BOOTTIME_ALARM = 9; // since Linux 3.0; Linux-specific CLOCKID_SGI_CYCLE = 10; CLOCKID_TAI = 11; // since Linux 3.10; Linux-specific }; ClockId clock_id = 4; uint64 tv_sec = 5; uint64 tv_nsec = 6; string version = 7; // "1.01" }