Source File
	metrics.go
Belonging Package
	google.golang.org/grpc/stats
/** Copyright 2024 gRPC authors.** 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.*/package statsimport// MetricSet is a set of metrics to record. Once created, MetricSet is immutable,// however Add and Remove can make copies with specific metrics added or// removed, respectively.//// Do not construct directly; use NewMetricSet instead.type MetricSet struct {// metrics are the set of metrics to initialize.metrics map[string]bool}// NewMetricSet returns a MetricSet containing metricNames.func ( ...string) *MetricSet {:= make(map[string]bool)for , := range {[] = true}return &MetricSet{metrics: }}// Metrics returns the metrics set. The returned map is read-only and must not// be modified.func ( *MetricSet) () map[string]bool {return .metrics}// Add adds the metricNames to the metrics set and returns a new copy with the// additional metrics.func ( *MetricSet) ( ...string) *MetricSet {:= make(map[string]bool)for := range .metrics {[] = true}for , := range {[] = true}return &MetricSet{metrics: }}// Join joins the metrics passed in with the metrics set, and returns a new copy// with the merged metrics.func ( *MetricSet) ( *MetricSet) *MetricSet {:= make(map[string]bool)maps.Copy(, .metrics)maps.Copy(, .metrics)return &MetricSet{metrics: }}// Remove removes the metricNames from the metrics set and returns a new copy// with the metrics removed.func ( *MetricSet) ( ...string) *MetricSet {:= make(map[string]bool)for := range .metrics {[] = true}for , := range {delete(, )}return &MetricSet{metrics: }}
The pages are generated with Golds v0.7.6. (GOOS=linux GOARCH=amd64)