blob: 3256ed7b2b0b95f5e55271244ef0400cf62ab5ae [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 chromiumos;
option go_package = "go.chromium.org/chromiumos/infra/proto/go/chromiumos";
import "chromiumos/bot_scaling.proto";
// Defines the modes of monitoring to execute on swarming.
enum MonitoringMode {
DEFAULT_TRACKING = 0;
// Track Task and Bot count.
TASK_BOT_COUNT = 1;
// Maximum pending time of the tasks.
MAX_PEND_TIME = 2;
// Success and failure count over a time period.
PASS_FAIL_COUNT = 3;
}
// Defines a tracking policy for a specific "bot group". This can be used
// to track a DUT, a model, a qs_account or tasks with certain priority.
message TrackingPolicy {
// Bot group being tracked.
string name = 1;
// Dimensions to query swarming on.
// DO NOT use values field here. Only value will be used.
repeated chromiumos.SwarmingDimension dimensions = 2;
// What monitorings to apply on the bot group.
repeated MonitoringMode modes = 3;
// Number of hours to lookback for Swarming stats.
sint32 lookback_hours = 4;
// Dimensions that are only needed to query tasks.
repeated chromiumos.SwarmingDimension task_dimensions = 5;
// Swarming instance name: chromeos-swarming.appspot.com
string swarming_instance = 6;
}
// Defines a root message.
message TrackingPolicyCfg {
// All tracking policies.
repeated TrackingPolicy policies = 1;
}