/* * Copyright (C) 2017 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. */ #ifndef SIMPLE_PERF_INPLACE_SAMPLER_LIB_H_ #define SIMPLE_PERF_INPLACE_SAMPLER_LIB_H_ enum InplaceSamplerMessageType { START_PROFILING, START_PROFILING_REPLY, THREAD_INFO, MAP_INFO, SAMPLE_INFO, END_PROFILING, END_PROFILING_REPLY, }; // Type: START_PROFILING // Direction: simpleperf to inplace_sampler // Data: // char options[]; // ended by '\0' // // options[] contains space separated options like below: // freq=4000 # sample at 4000/s. // signal=14 # use signal 14 to raise sample recording. // tids=1432,1433 # take samples of thread 1432,1433. // Type: START_PROFILING_REPLY // Direction: inplace_sampler to simpleperf // Data: // char reply[]; // ended by '\0' // reply[] contains a string, which is either 'ok' or 'error' // Type: THREAD_INFO // Direction: inplace_sampler to simpleperf // Data: // uint64_t time; // uint32_t tid; // char thread_name[]; // ended by '\0' // Type: MAP_INFO // Direction: inplace_sampler to simpleperf // Data: // uint64_t time; // uint64_t start; // uint64_t len; // uint64_t pgoff; // char[] dso; // ended by '\0' // Type: SAMPLE_INFO // Direction: inplace_sampler to simpleperf // Data: // uint64_t time; // uint32_t tid; // uint32_t period; // uint32_t ip_nr; // uint64_t ip[ip_nr]; // Type: END_PROFILING // Direction: simpleperf to inplace_sampler // Data: // None. // Type: END_PROFILING_REPLY // Direction: inplace_sampler to simpleperf // Data: // uint64_t used_cpu_time; // uint64_t lost_samples; #endif // SIMPLE_PERF_INPLACE_SAMPLER_LIB_H_