mirror of
https://github.com/googleapis/googleapis.git
synced 2026-08-17 13:06:47 +02:00
chore: Firestore.executePipeline to not retry on `RESOURCE_EXHAUSTED` PiperOrigin-RevId: 877535984
92 lines
3.1 KiB
Protocol Buffer
92 lines
3.1 KiB
Protocol Buffer
// Copyright 2026 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.firestore.v1;
|
|
|
|
import "google/api/field_behavior.proto";
|
|
import "google/protobuf/duration.proto";
|
|
import "google/protobuf/struct.proto";
|
|
|
|
option csharp_namespace = "Google.Cloud.Firestore.V1";
|
|
option go_package = "cloud.google.com/go/firestore/apiv1/firestorepb;firestorepb";
|
|
option java_multiple_files = true;
|
|
option java_outer_classname = "QueryProfileProto";
|
|
option java_package = "com.google.firestore.v1";
|
|
option objc_class_prefix = "GCFS";
|
|
option php_namespace = "Google\\Cloud\\Firestore\\V1";
|
|
option ruby_package = "Google::Cloud::Firestore::V1";
|
|
|
|
// Specification of the Firestore Query Profile fields.
|
|
|
|
// Explain options for the query.
|
|
message ExplainOptions {
|
|
// Optional. Whether to execute this query.
|
|
//
|
|
// When false (the default), the query will be planned, returning only
|
|
// metrics from the planning stages.
|
|
//
|
|
// When true, the query will be planned and executed, returning the full
|
|
// query results along with both planning and execution stage metrics.
|
|
bool analyze = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Explain metrics for the query.
|
|
message ExplainMetrics {
|
|
// Planning phase information for the query.
|
|
PlanSummary plan_summary = 1;
|
|
|
|
// Aggregated stats from the execution of the query. Only present when
|
|
// [ExplainOptions.analyze][google.firestore.v1.ExplainOptions.analyze] is set
|
|
// to true.
|
|
ExecutionStats execution_stats = 2;
|
|
}
|
|
|
|
// Planning phase information for the query.
|
|
message PlanSummary {
|
|
// The indexes selected for the query. For example:
|
|
// [
|
|
// {"query_scope": "Collection", "properties": "(foo ASC, __name__ ASC)"},
|
|
// {"query_scope": "Collection", "properties": "(bar ASC, __name__ ASC)"}
|
|
// ]
|
|
repeated google.protobuf.Struct indexes_used = 1;
|
|
}
|
|
|
|
// Execution statistics for the query.
|
|
message ExecutionStats {
|
|
// Total number of results returned, including documents, projections,
|
|
// aggregation results, keys.
|
|
int64 results_returned = 1;
|
|
|
|
// Total time to execute the query in the backend.
|
|
google.protobuf.Duration execution_duration = 3;
|
|
|
|
// Total billable read operations.
|
|
int64 read_operations = 4;
|
|
|
|
// Debugging statistics from the execution of the query. Note that the
|
|
// debugging stats are subject to change as Firestore evolves. It could
|
|
// include:
|
|
// {
|
|
// "indexes_entries_scanned": "1000",
|
|
// "documents_scanned": "20",
|
|
// "billing_details" : {
|
|
// "documents_billable": "20",
|
|
// "index_entries_billable": "1000",
|
|
// "min_query_cost": "0"
|
|
// }
|
|
// }
|
|
google.protobuf.Struct debug_stats = 5;
|
|
}
|