KEDA integration metrics

The official Datadog integration for monitoring KEDA. It collects 140 metrics.

Official summary

Monitor the health and performance of KEDA

Metric types

  • count (occurrences in the interval): 90
  • gauge (value at a point in time): 50

Metrics

Descriptions are the official definitions, unedited.

MetricTypeUnit
keda.aggregator_discovery_aggregation.countNumber of times discovery was aggregated.count-
keda.apiserver_audit_event.countNumber of audit events generated and sent to the audit backend.count-
keda.apiserver_audit_requests_rejected.countNumber of API server requests rejected due to an error in audit logging backend.countrequest
keda.apiserver_client_certificate_expiration_seconds.bucketNumber of certificates observed in the apiserver_client_certificate_expiration_seconds histogram tagged by upper_bound tags.count-
keda.apiserver_client_certificate_expiration_seconds.countNumber of certificates observed in the apiserver_client_certificate_expiration_seconds histogram.count-
keda.apiserver_client_certificate_expiration_seconds.sumThe sum of duration of certificates remaining expiration time in the apiserver_client_certificate_expiration_seconds histogram.countsecond
keda.apiserver_current_inflight_requestsMaximal number of currently used inflight request limit of this API server per request kind in last second.gaugerequest
keda.apiserver_delegated_authz_request.countNumber of HTTP requests partitioned by status code.countrequest
keda.apiserver_delegated_authz_request_duration_seconds.bucketNumber of observations apiserver_delegated_authz_request_duration_seconds histogram. Broken down by status code and upper_bound duration tags.count-
keda.apiserver_delegated_authz_request_duration_seconds.countNumber of observations apiserver_delegated_authz_request_duration_seconds histogram. Broken down by status code.count-
keda.apiserver_delegated_authz_request_duration_seconds.sumThe sum of duration of requests in the apiserver_delegated_authz_request_duration_seconds histogram.countsecond
keda.apiserver_envelope_encryption_dek_cache_fill_percentPercent of the cache slots currently occupied by cached DEKs.gauge-
keda.apiserver_flowcontrol_read_vs_write_current_requests.bucketThe number of requests (as a fraction of the relevant limit) waiting or in execution at the end of each nanosecond. Tagged by upper_bound tags.countrequest
keda.apiserver_flowcontrol_read_vs_write_current_requests.countThe number of requests (as a fraction of the relevant limit) observed at the end of each nanosecond.countrequest
keda.apiserver_flowcontrol_read_vs_write_current_requests.sumThe sum of all observed request fractions at the end of each nanosecond.count-
keda.apiserver_flowcontrol_seat_fair_fracFair fraction of server's concurrency to allocate to each priority level that can use it.gauge-
keda.apiserver_request.countNumber of API server requests broken out for each verb, dry run value, group, version, resource, scope, component, and HTTP response code.countrequest
keda.apiserver_request_duration_seconds.bucketThe number of requests used to calculate the response time tagged by upper_bound tags.countrequest
keda.apiserver_request_duration_seconds.countThe number of requests used to calculate the response time.countrequest
keda.apiserver_request_duration_seconds.sumThe sum in response time in seconds for each verb, dry run value, group, version, resource, subresource, scope and component.countsecond
keda.apiserver_request_filter_duration_seconds.bucketThe number of observations used to calculate the request filter latency tagged by upper_bound tags.count-
keda.apiserver_request_filter_duration_seconds.countThe number of observations used to calculate the request filter latency.count-
keda.apiserver_request_filter_duration_seconds.sumRequest filter latency distribution in seconds, for each filter type.countsecond
keda.apiserver_request_sli_duration_seconds.bucketThe number of observations used to calculate SLI response time tagged by upper_bound tags.count-
keda.apiserver_request_sli_duration_seconds.countThe number of observations used to calculate SLI response time.count-
keda.apiserver_request_sli_duration_seconds.sumThe sum of the response time (not counting webhook duration and priority & fairness queue wait times) in seconds for each verb, group, version, resource, subresource, scope and component.countsecond
keda.apiserver_request_slo_duration_seconds.bucketThe number of observations used to calculate SLO response time tagged by upper_bound tags.count-
keda.apiserver_request_slo_duration_seconds.countThe number of observations used to calculate SLO response time.count-
keda.apiserver_request_slo_duration_seconds.sumThe sum of the response time (not counting webhook duration and priority & fairness queue wait times) in seconds for each verb, group, version, resource, subresource, scope and component.countsecond
keda.apiserver_response_sizes.bucketNumber of responses used to calculate the response size tagged by upper_bound tags.count-
keda.apiserver_response_sizes.countNumber of responses used to calculate the response size.count-
keda.apiserver_response_sizes.sumThe sum of sizes of responses in bytes for each group, version, verb, resource, subresource, scope and component.countbyte
keda.apiserver_storage_data_key_generation_duration_seconds.bucketNumber of observations used to calculate data encryption key(DEK) duration tagged by upper_bound tags.count-
keda.apiserver_storage_data_key_generation_duration_seconds.countNumber of observations used to calculate data encryption key(DEK) duration.count-
keda.apiserver_storage_data_key_generation_duration_seconds.sumTime in seconds used for data encryption key(DEK) generation operations.countsecond
keda.apiserver_storage_data_key_generation_failures.countNumber of failed data encryption key(DEK) generation operations.count-
keda.apiserver_storage_envelope_transformation_cache_misses.countNumber of cache misses while accessing key decryption key(KEK).count-
keda.apiserver_tls_handshake_errors.countNumber of requests dropped with 'TLS handshake error from' error.count-
keda.apiserver_webhooks_x509_insecure_sha1.countCounts the number of requests to servers with insecure SHA1 signatures in their serving certificate OR the number of connection failures due to the insecure SHA1 signatures (either/or, based on the runtime environment).count-
keda.apiserver_webhooks_x509_missing_san.countCounts the number of requests to servers missing SAN extension in their serving certificate OR the number of connection failures due to the lack of x509 certificate SAN extension missing (either/or, based on the runtime environment).count-
keda.authenticated_user_requests.countNumber of authenticated requests broken out by username.countrequest
keda.authentication_attempts.countNumber of authenticated attempts.count-
keda.authentication_duration_seconds.bucketNumber of observations used to calculate authentication duration tagged by upper_bound bucket tags.count-
keda.authentication_duration_seconds.countNumber of observations used to calculate authentication duration.count-
keda.authentication_duration_seconds.sumAuthentication duration in seconds broken out by result.countsecond
keda.authorization_attempts.countNumber of authorization attempts broken down by result. It can be either 'allowed', 'denied', 'no-opinion' or 'error'.count-
keda.authorization_duration_seconds.bucketThe number of events used to calculate authorization duration tagged by upper_bound tags.count-
keda.authorization_duration_seconds.countThe number of events used to calculate authorization duration.count-
keda.authorization_duration_seconds.sumAuthorization duration in seconds broken out by result.countsecond
keda.build_infoInfo metric, with static information about KEDA build like: version, git commit and Golang runtime info.gauge-
keda.cardinality_enforcement_unexpected_categorizations.countThe count of unexpected categorizations during cardinality enforcement.count-
keda.certwatcher.read_certificate.countNumber of certificate reads.count-
keda.certwatcher.read_certificate_errors.countNumber of certificate read errors.counterror
keda.controller.runtime.active_workersNumber of currently used workers per controller.gauge-
keda.controller.runtime.max_concurrent_reconcilesMaximum number of concurrent reconciles per controller.gauge-
keda.controller.runtime.reconcile.countNumber of reconciliations per controller.count-
keda.controller.runtime.reconcile_errors.countNumber of reconciliation errors per controller.count-
keda.controller.runtime.reconcile_panics.countNumber of reconciliation panics per controller.count-
keda.controller.runtime.reconcile_time.seconds.bucketThe number of events observed to calculate reconciliation time tagged by upper_bound tags.count-
keda.controller.runtime.reconcile_time.seconds.countThe number of events observed to calculate reconciliation time.count-
keda.controller.runtime.reconcile_time.seconds.sumThe time per reconciliation per controller.countsecond
keda.controller.runtime.terminal_reconcile_errors.countNumber of terminal reconciliation errors per controller.count-
keda.controller.runtime.webhook_panics.countNumber of webhook panics.count-
keda.controller.runtime.webhook_requests.countNumber of admission requests by HTTP status code.count-
keda.controller.runtime.webhook_requests_in_flightCurrent number of admission requests being served.gauge-
keda.disabled_metrics.countThe count of disabled metrics.count-
keda.field_validation_request_duration_seconds.bucketThe number of observations used to calculate the field validation response time tagged by upper_bound tags.count-
keda.field_validation_request_duration_seconds.countThe number of observations used to calculate the field validation response time.count-
keda.field_validation_request_duration_seconds.sumThe response time in seconds for each field validation value.countsecond
keda.go.gc.duration.seconds.countThe summary count of garbage collection cycles in the Keda instance.count-
keda.go.gc.duration.seconds.quantileA summary of the pause duration of garbage collection cycles in the Keda instance.gauge-
keda.go.gc.duration.seconds.sumThe sum of the pause duration of garbage collection cycles in the Keda instance.count-
keda.go.goroutinesNumber of goroutines that currently exist.gauge-
keda.go.infoInformation about the Go environment.gauge-
keda.go.memstats.alloc_bytesNumber of bytes allocated and still in use.gaugebyte
keda.go.memstats.alloc_bytes.countNumber of bytes allocated, even if freed.countbyte
keda.go.memstats.buck_hash.sys_bytesNumber of bytes used by the profiling bucket hash table.gaugebyte
keda.go.memstats.frees.countNumber of frees.count-
keda.go.memstats.gc.sys_bytesNumber of bytes used for garbage collection system metadata.gaugebyte
keda.go.memstats.heap.alloc_bytesNumber of heap bytes allocated and still in use.gaugebyte
keda.go.memstats.heap.idle_bytesNumber of heap bytes waiting to be used.gaugebyte
keda.go.memstats.heap.inuse_bytesNumber of heap bytes that are in use.gaugebyte
keda.go.memstats.heap.objectsNumber of allocated objects.gauge-
keda.go.memstats.heap.released_bytesNumber of heap bytes released to OS.gaugebyte
keda.go.memstats.heap.sys_bytesNumber of heap bytes obtained from system.gaugebyte
keda.go.memstats.lookups.countNumber of pointer lookups.count-
keda.go.memstats.mallocs.countNumber of mallocs.count-
keda.go.memstats.mcache.inuse_bytesNumber of bytes in use by mcache structures.gaugebyte
keda.go.memstats.mcache.sys_bytesNumber of bytes used for mcache structures obtained from system.gaugebyte
keda.go.memstats.mspan.inuse_bytesNumber of bytes in use by mspan structures.gaugebyte
keda.go.memstats.mspan.sys_bytesNumber of bytes used for mspan structures obtained from system.gaugebyte
keda.go.memstats.next.gc_bytesNumber of heap bytes when next garbage collection will take place.gaugebyte
keda.go.memstats.other.sys_bytesNumber of bytes used for other system allocations.gaugebyte
keda.go.memstats.stack.inuse_bytesNumber of bytes in use by the stack allocator.gaugebyte
keda.go.memstats.stack.sys_bytesNumber of bytes obtained from system for stack allocator.gaugebyte
keda.go.memstats.sys_bytesNumber of bytes obtained from system.gaugebyte
keda.go.memstats.time_since_last_gc.secondsNumber of seconds since 1970 of last garbage collection.gaugesecond
keda.go.threadsNumber of OS threads created.gauge-
keda.hidden_metrics.countThe count of hidden metrics.count-
keda.internal_metricsservice.grpc_client_handled.countThe number of RPCs completed by the client, regardless of success or failure.count-
keda.internal_metricsservice.grpc_client_handling_seconds.bucketThe number of events used to calculate response time tagged by upper_bound bucket tagscount-
keda.internal_metricsservice.grpc_client_handling_seconds.countThe number of events used to calculate response time.count-
keda.internal_metricsservice.grpc_client_handling_seconds.sumResponse time (seconds) of the gRPC until it is finished by the application.count-
keda.internal_metricsservice.grpc_client_msg_received.countThe number of RPC stream messages received by the client.count-
keda.internal_metricsservice.grpc_client_msg_sent.countThe number of gRPC stream messages sent by the client.count-
keda.internal_metricsservice.grpc_client_started.countThe number of RPCs started on the client.count-
keda.internal_scale.loop_latency(Keda <v2.16) The deviation (in seconds) between the expected execution time and the actual execution time for the scaling loop.gaugesecond
keda.internal_scale.loop_latency_seconds(Keda >=v2.16) The deviation (in seconds) between the expected execution time and the actual execution time for the scaling loop.gaugesecond
keda.leader_election.master_statusGauge of if the reporting system is master of the relevant lease, 0 indicates backup, 1 indicates master. 'name' is the string used to identify the lease. Please make sure to group by name.gauge-
keda.process.cpu.seconds.countNumber of user and system CPU time spent in seconds.count-
keda.process.max_fdsMaximum number of open file descriptors.gauge-
keda.process.open_fdsNumber of open file descriptors.gauge-
keda.process.resident_memory.bytesResident memory size in bytes.gauge-
keda.process.uptime.secondsHow long in seconds the process has been up.gaugesecond
keda.process.virtual_memory.bytesVirtual memory size in bytes.gaugebyte
keda.process.virtual_memory.max_bytesMaximum amount of virtual memory available in bytes.gaugebyte
keda.registered_metrics.countThe count of registered metrics broken by stability level and deprecation version.count-
keda.resource_registered(Keda >=v2.16) Number of KEDA custom resources per namespace for each custom resource type (CRD) registered.gauge-
keda.resource_totals(Keda <v2.16) Number of KEDA custom resources per namespace for each custom resource type (CRD) registered.gauge-
keda.rest.client.requests.countNumber of HTTP requests, partitioned by status code, method, and host.countrequest
keda.scaled_job.errors.countNumber of scaled job errors.count-
keda.scaler.activeIndicates whether a scaler is active (1), or not (0).gauge-
keda.scaler.detail_errors.count(Keda >=v2.16) The Number of errors encountered for each scaler.count-
keda.scaler.errors.count(Keda <v2.16) The Number of errors encountered for each scalercount-
keda.scaler.metrics_latency(Keda <v2.16) The latency of retrieving current metric from each scaler, in seconds.gaugesecond
keda.scaler.metrics_latency_seconds(Keda >=v2.16) The latency of retrieving current metric from each scaler, in seconds.gaugesecond
keda.scaler.metrics_valueThe current value for each scaler's metric that would be used by the HPA in computing the target average.gauge-
keda.trigger_registered(Keda >=v2.16) Number of triggers per trigger type registered.gauge-
keda.trigger_totals(Keda <v2.16) Number of triggers per trigger type registered.gauge-
keda.workqueue.adds.countNumber of adds handled by workqueue.count-
keda.workqueue.depthCurrent depth of workqueue.gauge-
keda.workqueue.longest.running_processor.secondsHow many seconds has the longest running processor for workqueue been running.gaugesecond
keda.workqueue.queue.duration.seconds.bucketThe histogram bucket of how long in seconds an item stays in the workqueue before being requested.count-
keda.workqueue.queue.duration.seconds.countThe total number of events in the workqueue duration histogram.count-
keda.workqueue.queue.duration.seconds.sumThe cumulative sum of time (in seconds) that items have spent in the workqueue.countsecond
keda.workqueue.retries.countNumber of retries handled by workqueue.count-
keda.workqueue.unfinished_work.secondsHow many seconds of work has been done that is in progress and hasn't been observed by work_duration. Large values indicate stuck threads. One can deduce the number of stuck threads by observing the rate at which this increases.gaugesecond
keda.workqueue.work.duration.seconds.bucketNumber of work items that have been processed in the workqueue tagged by upper_bound buckets.count-
keda.workqueue.work.duration.seconds.countThe total number of work items that have been processed in the workqueue.count-
keda.workqueue.work.duration.seconds.sumThe cumulative sum of time spent processing all work items in the workqueue.countsecond

Official documentation

Official documentation for the KEDA integration

Metric names and descriptions are the official Datadog integration definitions (Copyright Datadog, Inc., BSD-3-Clause), reproduced unedited. The full license terms are on the About page.