1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage google.api; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workeroption go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig"; 20*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 21*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "MonitoringProto"; 22*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.api"; 23*d5c09012SAndroid Build Coastguard Workeroption objc_class_prefix = "GAPI"; 24*d5c09012SAndroid Build Coastguard Worker 25*d5c09012SAndroid Build Coastguard Worker// Monitoring configuration of the service. 26*d5c09012SAndroid Build Coastguard Worker// 27*d5c09012SAndroid Build Coastguard Worker// The example below shows how to configure monitored resources and metrics 28*d5c09012SAndroid Build Coastguard Worker// for monitoring. In the example, a monitored resource and two metrics are 29*d5c09012SAndroid Build Coastguard Worker// defined. The `library.googleapis.com/book/returned_count` metric is sent 30*d5c09012SAndroid Build Coastguard Worker// to both producer and consumer projects, whereas the 31*d5c09012SAndroid Build Coastguard Worker// `library.googleapis.com/book/num_overdue` metric is only sent to the 32*d5c09012SAndroid Build Coastguard Worker// consumer project. 33*d5c09012SAndroid Build Coastguard Worker// 34*d5c09012SAndroid Build Coastguard Worker// monitored_resources: 35*d5c09012SAndroid Build Coastguard Worker// - type: library.googleapis.com/Branch 36*d5c09012SAndroid Build Coastguard Worker// display_name: "Library Branch" 37*d5c09012SAndroid Build Coastguard Worker// description: "A branch of a library." 38*d5c09012SAndroid Build Coastguard Worker// launch_stage: GA 39*d5c09012SAndroid Build Coastguard Worker// labels: 40*d5c09012SAndroid Build Coastguard Worker// - key: resource_container 41*d5c09012SAndroid Build Coastguard Worker// description: "The Cloud container (ie. project id) for the Branch." 42*d5c09012SAndroid Build Coastguard Worker// - key: location 43*d5c09012SAndroid Build Coastguard Worker// description: "The location of the library branch." 44*d5c09012SAndroid Build Coastguard Worker// - key: branch_id 45*d5c09012SAndroid Build Coastguard Worker// description: "The id of the branch." 46*d5c09012SAndroid Build Coastguard Worker// metrics: 47*d5c09012SAndroid Build Coastguard Worker// - name: library.googleapis.com/book/returned_count 48*d5c09012SAndroid Build Coastguard Worker// display_name: "Books Returned" 49*d5c09012SAndroid Build Coastguard Worker// description: "The count of books that have been returned." 50*d5c09012SAndroid Build Coastguard Worker// launch_stage: GA 51*d5c09012SAndroid Build Coastguard Worker// metric_kind: DELTA 52*d5c09012SAndroid Build Coastguard Worker// value_type: INT64 53*d5c09012SAndroid Build Coastguard Worker// unit: "1" 54*d5c09012SAndroid Build Coastguard Worker// labels: 55*d5c09012SAndroid Build Coastguard Worker// - key: customer_id 56*d5c09012SAndroid Build Coastguard Worker// description: "The id of the customer." 57*d5c09012SAndroid Build Coastguard Worker// - name: library.googleapis.com/book/num_overdue 58*d5c09012SAndroid Build Coastguard Worker// display_name: "Books Overdue" 59*d5c09012SAndroid Build Coastguard Worker// description: "The current number of overdue books." 60*d5c09012SAndroid Build Coastguard Worker// launch_stage: GA 61*d5c09012SAndroid Build Coastguard Worker// metric_kind: GAUGE 62*d5c09012SAndroid Build Coastguard Worker// value_type: INT64 63*d5c09012SAndroid Build Coastguard Worker// unit: "1" 64*d5c09012SAndroid Build Coastguard Worker// labels: 65*d5c09012SAndroid Build Coastguard Worker// - key: customer_id 66*d5c09012SAndroid Build Coastguard Worker// description: "The id of the customer." 67*d5c09012SAndroid Build Coastguard Worker// monitoring: 68*d5c09012SAndroid Build Coastguard Worker// producer_destinations: 69*d5c09012SAndroid Build Coastguard Worker// - monitored_resource: library.googleapis.com/Branch 70*d5c09012SAndroid Build Coastguard Worker// metrics: 71*d5c09012SAndroid Build Coastguard Worker// - library.googleapis.com/book/returned_count 72*d5c09012SAndroid Build Coastguard Worker// consumer_destinations: 73*d5c09012SAndroid Build Coastguard Worker// - monitored_resource: library.googleapis.com/Branch 74*d5c09012SAndroid Build Coastguard Worker// metrics: 75*d5c09012SAndroid Build Coastguard Worker// - library.googleapis.com/book/returned_count 76*d5c09012SAndroid Build Coastguard Worker// - library.googleapis.com/book/num_overdue 77*d5c09012SAndroid Build Coastguard Workermessage Monitoring { 78*d5c09012SAndroid Build Coastguard Worker // Configuration of a specific monitoring destination (the producer project 79*d5c09012SAndroid Build Coastguard Worker // or the consumer project). 80*d5c09012SAndroid Build Coastguard Worker message MonitoringDestination { 81*d5c09012SAndroid Build Coastguard Worker // The monitored resource type. The type must be defined in 82*d5c09012SAndroid Build Coastguard Worker // [Service.monitored_resources][google.api.Service.monitored_resources] 83*d5c09012SAndroid Build Coastguard Worker // section. 84*d5c09012SAndroid Build Coastguard Worker string monitored_resource = 1; 85*d5c09012SAndroid Build Coastguard Worker 86*d5c09012SAndroid Build Coastguard Worker // Types of the metrics to report to this monitoring destination. 87*d5c09012SAndroid Build Coastguard Worker // Each type must be defined in 88*d5c09012SAndroid Build Coastguard Worker // [Service.metrics][google.api.Service.metrics] section. 89*d5c09012SAndroid Build Coastguard Worker repeated string metrics = 2; 90*d5c09012SAndroid Build Coastguard Worker } 91*d5c09012SAndroid Build Coastguard Worker 92*d5c09012SAndroid Build Coastguard Worker // Monitoring configurations for sending metrics to the producer project. 93*d5c09012SAndroid Build Coastguard Worker // There can be multiple producer destinations. A monitored resource type may 94*d5c09012SAndroid Build Coastguard Worker // appear in multiple monitoring destinations if different aggregations are 95*d5c09012SAndroid Build Coastguard Worker // needed for different sets of metrics associated with that monitored 96*d5c09012SAndroid Build Coastguard Worker // resource type. A monitored resource and metric pair may only be used once 97*d5c09012SAndroid Build Coastguard Worker // in the Monitoring configuration. 98*d5c09012SAndroid Build Coastguard Worker repeated MonitoringDestination producer_destinations = 1; 99*d5c09012SAndroid Build Coastguard Worker 100*d5c09012SAndroid Build Coastguard Worker // Monitoring configurations for sending metrics to the consumer project. 101*d5c09012SAndroid Build Coastguard Worker // There can be multiple consumer destinations. A monitored resource type may 102*d5c09012SAndroid Build Coastguard Worker // appear in multiple monitoring destinations if different aggregations are 103*d5c09012SAndroid Build Coastguard Worker // needed for different sets of metrics associated with that monitored 104*d5c09012SAndroid Build Coastguard Worker // resource type. A monitored resource and metric pair may only be used once 105*d5c09012SAndroid Build Coastguard Worker // in the Monitoring configuration. 106*d5c09012SAndroid Build Coastguard Worker repeated MonitoringDestination consumer_destinations = 2; 107*d5c09012SAndroid Build Coastguard Worker} 108