1// Copyright 2021 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15syntax = "proto3";
16
17package google.monitoring.v3;
18
19option csharp_namespace = "Google.Cloud.Monitoring.V3";
20option go_package = "cloud.google.com/go/monitoring/apiv3/v2/monitoringpb;monitoringpb";
21option java_multiple_files = true;
22option java_outer_classname = "DroppedLabelsProto";
23option java_package = "com.google.monitoring.v3";
24option php_namespace = "Google\\Cloud\\Monitoring\\V3";
25option ruby_package = "Google::Cloud::Monitoring::V3";
26
27// A set of (label, value) pairs that were removed from a Distribution
28// time series during aggregation and then added as an attachment to a
29// Distribution.Exemplar.
30//
31// The full label set for the exemplars is constructed by using the dropped
32// pairs in combination with the label values that remain on the aggregated
33// Distribution time series. The constructed full label set can be used to
34// identify the specific entity, such as the instance or job, which might be
35// contributing to a long-tail. However, with dropped labels, the storage
36// requirements are reduced because only the aggregated distribution values for
37// a large group of time series are stored.
38//
39// Note that there are no guarantees on ordering of the labels from
40// exemplar-to-exemplar and from distribution-to-distribution in the same
41// stream, and there may be duplicates.  It is up to clients to resolve any
42// ambiguities.
43message DroppedLabels {
44  // Map from label to its value, for all labels dropped in any aggregation.
45  map<string, string> label = 1;
46}
47