Clarify that sampling_interval_bytes must be non 0
We could change the behavior, but, to avoid suprises when applying new
configurations on old devices, it probably makes sense just to document
this constraint in the proto.
Bug: 200534390
Change-Id: Iaa0a8d647e92fa2d17c1e18e22aa9d909e993ed3
diff --git a/protos/perfetto/config/perfetto_config.proto b/protos/perfetto/config/perfetto_config.proto
index 52f256a..407597a 100644
--- a/protos/perfetto/config/perfetto_config.proto
+++ b/protos/perfetto/config/perfetto_config.proto
@@ -622,6 +622,10 @@
//
// BUGS
// Before Android 12, setting this to 0 would crash the target process.
+ //
+ // N.B. This must be explicitly set to a non-zero value for all heaps (with
+ // this field or with heap_sampling_intervals), otherwise the producer will
+ // not start.
optional uint64 sampling_interval_bytes = 1;
// If less than the given numbers of bytes are left free in the shared
@@ -676,6 +680,8 @@
// crash the target process before Android 12.
//
// Introduced in Android 12.
+ //
+ // All values must be non-zero or the producer will not start.
repeated uint64 heap_sampling_intervals = 22;
// Sample all heaps registered by target process. Introduced in Android 12.
diff --git a/protos/perfetto/config/profiling/heapprofd_config.proto b/protos/perfetto/config/profiling/heapprofd_config.proto
index 00dd692..2636e06 100644
--- a/protos/perfetto/config/profiling/heapprofd_config.proto
+++ b/protos/perfetto/config/profiling/heapprofd_config.proto
@@ -45,6 +45,10 @@
//
// BUGS
// Before Android 12, setting this to 0 would crash the target process.
+ //
+ // N.B. This must be explicitly set to a non-zero value for all heaps (with
+ // this field or with heap_sampling_intervals), otherwise the producer will
+ // not start.
optional uint64 sampling_interval_bytes = 1;
// If less than the given numbers of bytes are left free in the shared
@@ -99,6 +103,8 @@
// crash the target process before Android 12.
//
// Introduced in Android 12.
+ //
+ // All values must be non-zero or the producer will not start.
repeated uint64 heap_sampling_intervals = 22;
// Sample all heaps registered by target process. Introduced in Android 12.
diff --git a/protos/perfetto/trace/perfetto_trace.proto b/protos/perfetto/trace/perfetto_trace.proto
index 0da5655..cf549a8 100644
--- a/protos/perfetto/trace/perfetto_trace.proto
+++ b/protos/perfetto/trace/perfetto_trace.proto
@@ -622,6 +622,10 @@
//
// BUGS
// Before Android 12, setting this to 0 would crash the target process.
+ //
+ // N.B. This must be explicitly set to a non-zero value for all heaps (with
+ // this field or with heap_sampling_intervals), otherwise the producer will
+ // not start.
optional uint64 sampling_interval_bytes = 1;
// If less than the given numbers of bytes are left free in the shared
@@ -676,6 +680,8 @@
// crash the target process before Android 12.
//
// Introduced in Android 12.
+ //
+ // All values must be non-zero or the producer will not start.
repeated uint64 heap_sampling_intervals = 22;
// Sample all heaps registered by target process. Introduced in Android 12.