blob: 345bd98c7c58d1bc61d946220eb00f5ca54f9733 [file] [log] [blame]
// Copyright Istio 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 cache
import (
"istio.io/pkg/monitoring"
)
var RequestType = monitoring.MustCreateLabel("request_type")
// Metrics for outgoing requests from citadel agent to external services such as token exchange server or a CA.
// This is different from incoming request metrics (i.e. from Envoy to citadel agent).
var (
outgoingLatency = monitoring.NewSum(
"outgoing_latency",
"The latency of "+
"outgoing requests (e.g. to a token exchange server, CA, etc.) in milliseconds.",
monitoring.WithLabels(RequestType), monitoring.WithUnit(monitoring.Milliseconds))
numOutgoingRequests = monitoring.NewSum(
"num_outgoing_requests",
"Number of total outgoing requests (e.g. to a token exchange server, CA, etc.)",
monitoring.WithLabels(RequestType))
numFailedOutgoingRequests = monitoring.NewSum(
"num_failed_outgoing_requests",
"Number of failed outgoing requests (e.g. to a token exchange server, CA, etc.)",
monitoring.WithLabels(RequestType))
numFileWatcherFailures = monitoring.NewSum(
"num_file_watcher_failures_total",
"Number of times file watcher failed to add watchers")
numFileSecretFailures = monitoring.NewSum(
"num_file_secret_failures_total",
"Number of times secret generation failed for files")
certExpirySeconds = monitoring.NewDerivedGauge(
"cert_expiry_seconds",
"The time remaining, in seconds, before the certificate chain will expire. "+
"A negative value indicates the cert is expired.",
monitoring.WithLabelKeys("resource_name"))
)
func init() {
monitoring.MustRegister(
outgoingLatency,
numOutgoingRequests,
numFailedOutgoingRequests,
numFileWatcherFailures,
numFileSecretFailures,
)
}