blob: 813914c3e2074f17d8ff2e470000c470fecae84b [file] [log] [blame]
syntax = "proto2";
package logs.proto.tuningfork;
import "tuningfork.proto";
message DeviceInfo {
// Total device memory from /proc/meminfo.
optional int64 total_memory_bytes = 1;
// The upper order 16 bits represent the major version and
// the lower order 16 bits the minor version. A value of 0
// indicates that the version is unavailable.
optional int32 gl_es_version = 2;
// From system property 'ro.build.fingerprint'.
optional string build_fingerprint = 3;
// From system property 'ro.build.version.sdk'.
optional string build_version_sdk = 4;
// From '/sys/devices/system/cpu/cpu/#/cpufreq/cpuinfo_max_freq'.
repeated int64 cpu_max_freq_hz = 5;
}
message TuningForkLogEvent {
// FidelityParams message serialization defined by the developer
// See http://go/tuningfork-integration-guide
optional bytes fidelityparams = 1;
// Received from Play at initialization.
optional string experiment_id = 2;
// Data histograms, one for each active annotation / instrument_id.
repeated TuningForkHistogram histograms = 3;
// Tuning-fork generated id (matches FidelityParam request).
optional string session_id = 4;
// Static device information.
optional DeviceInfo device_info = 5;
// Package name from APK manifest.
optional string apk_package_name = 6;
// Version code from APK manifest.
optional int32 apk_version_code = 7;
// Tuning fork version (upper 16 bits: major, lower 16 bits minor)
optional int32 tuningfork_version = 8;
}
message TuningForkHistogram {
// ID of the frame capture point.
optional int32 instrument_id = 1;
// Annotation defined by the developer.
// See http://go/tuningfork-integration-guide
optional bytes annotation = 2;
// Bucket counts.
// The APK contains hard-coded bucket ranges for each instrument_id.
repeated int32 counts = 3 [packed=true];
}