You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
2.1 KiB
84 lines
2.1 KiB
/* |
|
* 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_
|
|
|