blob: 806ff48051ecc1fa5f6155365717f2932f4d49e0 [file] [log] [blame]
/*
* Copyright (C) 2018 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.
*/
syntax = "proto2";
option optimize_for = LITE_RUNTIME;
package perfetto.protos;
// Configuration for go/heapprofd.
message HeapprofdConfig {
message ContinousDumpConfig {
// ms to wait before first dump.
optional uint32 dump_phase_ms = 5;
// ms to wait between following dumps.
optional uint32 dump_interval_ms = 6;
};
// Set to 1 for perfect accuracy.
// Otherwise, sample every sample_interval_bytes on average.
// TODO(fmayer): Add link to docs elaborating on this.
optional uint64 sampling_interval_bytes = 1;
// E.g. surfaceflinger, com.android.phone
repeated string process_cmdline = 2;
// repeated string android_app = 3; // TODO(fmayer): Implement
// For watermark based triggering or local debugging.
repeated uint64 pid = 4;
optional bool all = 5;
// Dump once at the end of the trace, emitting the heap dump at maximum
// memory usage.
// optional bool retain_max = 5; // TODO(fmayer): Implement
// Dump at a predefined interval.
optional ContinousDumpConfig continuous_dump_config = 6;
}