1/*
2 * Copyright (C) 2022 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17syntax = "proto2";
18
19package carwatchdog;
20
21import "parser/performancestats.proto";
22
23/**
24 * Pulls information about the device's build.
25 *
26 * Copied from:
27 * frameworks/proto_logging/stats/atoms.proto
28 */
29message BuildInformation {
30  // Build.FINGERPRINT. A string that uniquely identifies this build. Do not parse.
31  // E.g. may be composed of the brand, product, device, release, id, incremental, type, and tags.
32  optional string fingerprint = 1;
33
34  // Build.BRAND. The consumer-visible brand with which the product/hardware will be associated.
35  optional string brand = 2;
36
37  // Build.PRODUCT. The name of the overall product.
38  optional string product = 3;
39
40  // Build.DEVICE. The name of the industrial design.
41  optional string device = 4;
42
43  // Build.VERSION.RELEASE. The user-visible version string.  E.g., "1.0" or "3.4b5" or "bananas".
44  optional string version_release = 5;
45
46  // Build.ID. E.g. a label like "M4-rc20".
47  optional string id = 6;
48
49  // Build.VERSION.INCREMENTAL. The internal value used by the underlying source control to
50  // represent this build.
51  optional string version_incremental = 7;
52
53  // Build.TYPE. The type of build, like "user" or "eng".
54  optional string type = 8;
55
56  // Build.TAGS. Comma-separated tags describing the build, like "unsigned,debug".
57  optional string tags = 9;
58
59  // Build.VERSION.SDK. The Android SDK supported in this build. E.g., "33"
60  optional string sdk = 10;
61
62  // CarVersion.getMinorVersion(). Car-specific property detailing the minor release. E.g., "0" or
63  // "2"
64  optional string platform_minor = 11;
65
66  // Build.VERSION.CODENAME. The current development codename, or "REL" if this is a release build.
67  optional string codename = 12;
68}
69
70message DevicePerformanceStats {
71  optional BuildInformation build_info = 1;
72  repeated PerformanceStats perf_stats = 2;
73}
74