blob: 37280cdca91c0599abfa5f8a59731bcb18195ee1 [file] [log] [blame]
// Copyright 2020 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto3";
package test.custom_results.graphics;
option go_package = "go.chromium.org/chromiumos/infra/proto/go/test/custom_results/graphics";
import "google/protobuf/timestamp.proto";
import "machine_id.proto";
import "result_id.proto";
import "software_config_id.proto";
import "software_overrides_config.proto";
import "trace_id.proto";
// Result of a single test, trace, or benchmark run.
// Next Tag: 19
message Result {
// Global unique result identifier.
ResultId id = 1;
// When the result started and finished being collected.
google.protobuf.Timestamp start_time = 2;
google.protobuf.Timestamp end_time = 3;
// Machine which generated the result.
MachineId machine = 4;
// Installed software at the time the result was collected.
SoftwareConfigId software_config = 5;
enum ExecutionEnvironment {
UNKNOWN = 0;
HOST = 1;
TERMINA = 2;
CROSTINI = 3;
STEAM = 4;
ARC = 5;
ARCVM = 6;
CROUTON = 7;
CROSVM = 8;
}
ExecutionEnvironment execution_environment = 6;
// Lab or user originating this result.
// Format:
// - lab/LABNAME
// - user/USERNAME
string invocation_source = 7;
// Details on the invocation if it was generated as part of a test.
// TODO(davidriley): Flesh these out better.
// TODO(davidriley): Record test status and error messages.
string test_id = 17;
string test_name = 8;
string test_job_id = 9;
// Command line used invoke the test.
string command_line = 10;
// Thing being tested.
string benchmark = 11;
TraceId trace = 12;
// TODO(davidriley): This unit could be made into a separate Message
// a) This stanza is directly part of TraceResult with TraceResult repeated.
// b) This stanze becomes a separate repeated Message within TraceResult.
// c) This stanza becomes a separate Message with TraceResultId link to them.
// Next Tag: 7
message Metric {
string name = 1;
uint64 index = 2;
double value = 3;
string units = 4;
bool larger_is_better = 5;
bool externally_gathered = 6;
}
// fps, frames, time
// usec for frame N
// cpu/gpu utilization/frequency
repeated Metric metrics = 13;
// Identify the most interesting metric to show by default for a given result.
string primary_metric_name = 14;
// General non-numeric details collected about the environment or system
// state. eg Interesting environment variables, glxinfo info.
// Next Tag: 4
message Label {
string name = 1;
string value = 2;
string grouping = 3;
}
repeated Label labels = 15;
// Software that was explicitly overriden from the normal system software
// for a given result.
SoftwareOverridesConfig overrides = 18;
}
message ResultList {
repeated Result value = 1;
}