grpc 第三方依赖 就是grpc的 third_party 文件夹
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

167 lines
5.1 KiB

// Copyright 2020 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 google.cloud.dataproc.logging;
import "google/protobuf/duration.proto";
option go_package = "google.golang.org/genproto/googleapis/cloud/dataproc/logging;logging";
option java_multiple_files = true;
option java_package = "com.google.cloud.dataproc.logging";
// The short version of cluster configuration for Cloud logging.
message ClusterSize {
// The number of primary workers in the cluster.
int32 primary_worker_count = 1;
// The number of secondary workers in the cluster.
int32 secondary_worker_count = 2;
}
// The main proto that will be converted to JSON format and then written to
// Logging.
message AutoscalerLog {
// The current Autoscaler status.
AutoscalerStatus status = 1;
// Optional. The autoscaling recommendation including its inputs, outputs,
// scaling decision, and detailed explanation.
AutoscalerRecommendation recommendation = 2;
}
// The Autoscaler state.
enum AutoscalerState {
AUTOSCALER_STATE_UNSPECIFIED = 0;
// The Autoscaler is sleeping and waiting for the next update.
COOLDOWN = 1;
// The Autoscaler is in the process of calculating its recommendation on
// whether to scale the cluster, and if so, how to autoscale.
RECOMMENDING = 6;
// The Autoscaler is scaling the cluster.
SCALING = 2;
// The Autoscaler has stopped.
STOPPED = 3;
// The Autoscaler has failed.
FAILED = 4;
// The Autoscaler is initializing.
INITIALIZING = 5;
}
// The Autoscaling decision type.
enum ScalingDecisionType {
SCALING_DECISION_TYPE_UNSPECIFIED = 0;
// Increase the number of primary and/or secondary workers.
SCALE_UP = 1;
// Decrease the number of primary and/or secondary workers.
SCALE_DOWN = 2;
// Not changing the number of primary or secondary workers.
NO_SCALE = 3;
// Scale the primary and secondary worker groups in different directions.
MIXED = 4;
}
enum ConstrainingFactor {
CONSTRAINING_FACTOR_UNSPECIFIED = 0;
// The project does not have sufficient regional, global, and or preemptible
// quota to allocate a new VM.
SCALING_CAPPED_DUE_TO_LACK_OF_QUOTA = 1;
// All worker groups have reached maximum size. This message will not be
// issued if one group reached maximum size, but workers were able to be
// allocated to another group.
REACHED_MAXIMUM_CLUSTER_SIZE = 2;
// All worker groups have reached minimum size. This message will not be
// issued if workers were able to be removed from another group that had not
// reached minimum size.
REACHED_MINIMUM_CLUSTER_SIZE = 3;
}
// The Autoscaler's status, including its state and other details.
message AutoscalerStatus {
// The high-level Autoscaler state.
AutoscalerState state = 1;
// The detailed description of Autoscaler status.
string details = 2;
// The cluster update operation ID.
string update_cluster_operation_id = 3;
// Error message from an Autoscaler exception, if any.
string error = 4;
}
// The inputs, outputs, and detailed explanation of the Autoscaling
// recommendation.
message AutoscalerRecommendation {
// The input values for the Autoscaling recommendation alogirthm.
message Inputs {
// The metrics collected by the Dataproc agent running on the cluster.
// For example, {"avg-yarn-pending-memory": "1040 MB"}
map<string, string> cluster_metrics = 1;
// The cluster configuration before updating the cluster.
ClusterSize current_cluster_size = 2;
// The minimum worker counts for each instance group.
ClusterSize min_worker_counts = 3;
// The maximum worker counts for each instance group.
ClusterSize max_worker_counts = 4;
}
// Autoscaler recommendations.
message Outputs {
// The high-level autoscaling decision, such as SCALE_UP, SCALE_DOWN,
// NO_OP.
ScalingDecisionType decision = 1;
// The recommended cluster size.
ClusterSize recommended_cluster_size = 2;
// The graceful decommission timeout for downscaling operations.
google.protobuf.Duration graceful_decommission_timeout = 3;
// Reasons why the Autoscaler didn't add or remove more workers.
repeated ConstrainingFactor constraints_reached = 4;
// Less significant recommendations that are not included in the
// `AutoscalerStatus.details` message.
repeated string additional_recommendation_details = 5;
// A unique id for this recommendation that should be included when opening
// a support ticket.
string recommendation_id = 6;
}
// The autoscaling algorithm inputs.
Inputs inputs = 1;
// The algorithm outputs for the recommended cluster size.
Outputs outputs = 2;
}