118 lines
4.1 KiB
Protocol Buffer
118 lines
4.1 KiB
Protocol Buffer
// Copyright 2023 Google LLC
|
|
//
|
|
// 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 = "proto3";
|
|
|
|
package cobalt;
|
|
|
|
option java_multiple_files = true;
|
|
option java_package = "com.google.cobalt";
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// NOTE: This file is used by the Cobalt client and the Cobalt servers.
|
|
// The source-of-truth of this file is located in Google's internsl code
|
|
// repository, and the file is copied to Android where it is used by the Cobalt
|
|
// client. Do not edit the copy of this file in this Android repo as those edits
|
|
// will be overwritten when the file is next copied.
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
// A SystemProfile describes the client system on which an Observation is
|
|
// collected.
|
|
message SystemProfile {
|
|
enum OS {
|
|
UNKNOWN_OS = 0;
|
|
FUCHSIA = 1;
|
|
LINUX = 2;
|
|
ANDROID = 3;
|
|
}
|
|
|
|
enum ARCH {
|
|
UNKNOWN_ARCH = 0;
|
|
X86_64 = 1;
|
|
ARM_64 = 2;
|
|
X86 = 3 [deprecated = true];
|
|
X86_32 = 4;
|
|
ARM_32 = 5;
|
|
}
|
|
|
|
enum BuildType {
|
|
UNKNOWN_TYPE = 0;
|
|
OTHER_TYPE = 1;
|
|
USER = 2;
|
|
USER_DEBUG = 3;
|
|
ENG = 4;
|
|
}
|
|
|
|
OS os = 1;
|
|
ARCH arch = 2;
|
|
|
|
// This is a string representing the board name of the device. If a board name
|
|
// cannot be determined, then this field will be 'unknown:<cpu signature>'.
|
|
string board_name = 4;
|
|
|
|
// This is a string representing the type of Fuchsia product from which
|
|
// an observation is collected.
|
|
//
|
|
// During development, this is going to refer to layers of the Fuchsia cake
|
|
// such as "garnet", "zircon", "topaz", etc... In the future, we will use
|
|
// something related to what sort of device we are running on, such as
|
|
// "Acme Lightbulb X" or "Machine Corp. Laptop III".
|
|
string product_name = 5;
|
|
|
|
// This is a string representing the version of the currently running system.
|
|
// The use of this field is system-specific. For example on Fuchsia it is the
|
|
// build version (aka OS version) with a value that looks like
|
|
// "0.20200114.1.1".
|
|
string system_version = 8;
|
|
|
|
// This is a string representing the version of the app sending information.
|
|
// The use and format is application-specific. The main anticipated use of
|
|
// this field is for experiments and debugging. I.e. to figure out if an
|
|
// issue is version-specific or not.
|
|
//
|
|
// The value '<unset>' means the system did not notify Cobalt of the current
|
|
// app_version.
|
|
//
|
|
// The value '<unknown>' means the system explicitly notified Cobalt it did
|
|
// not know the app_version.
|
|
string app_version = 14;
|
|
|
|
// This is a string representation of the current channel. It is an arbitrary
|
|
// string that depends on the system. For example on Fuchsia some possible
|
|
// values are "qa-daily" and "fishfood".
|
|
//
|
|
// The value '<unset>' means the system did not notify Cobalt of the current
|
|
// channel.
|
|
//
|
|
// The value '<unknown>' means the system explicitly notified Cobalt it did
|
|
// not know the channel.
|
|
string channel = 9;
|
|
|
|
// An enumerated representation of the current build type.
|
|
//
|
|
// The value `UNKNOWN_TYPE` means the system failed to supply a build type.
|
|
// The value `OTHER_TYPE` indicates the system supplied a value that did not
|
|
// match any of the enumerated values.
|
|
BuildType build_type = 11;
|
|
|
|
// A list of experiments that are active on the device sorted in increasing
|
|
// order and with no duplicates.
|
|
//
|
|
// This field should only contain experiments specified in the report
|
|
// definition associated with this system profile.
|
|
repeated int64 experiment_ids = 13;
|
|
|
|
reserved 3, 6, 7, 10, 12;
|
|
reserved "build_level", "experiments", "realm", "experiment_tokens";
|
|
}
|