Diego Metrics

September 30, 2024 ยท View on GitHub

A list of component-level metrics emitted by Diego.

Auctioneer

MetricDescriptionUnit
AuctioneerFailedCellStateRequestsCumulative number of cells the auctioneer failed to query for state. Emitted during each auction.number
AuctioneerFetchStatesDurationTime the auctioneer took to fetch state from all the cells when running its auction. Emitted during each auction.ns
AuctioneerLRPAuctionsFailedCumulative number of LRP instances that the auctioneer failed to place on Diego cells. Emitted during each auction.number
AuctioneerLRPAuctionsStartedCumulative number of LRP instances that the auctioneer successfully placed on Diego cells. Emitted during each auction.number
AuctioneerTaskAuctionsFailedCumulative number of Tasks that the auctioneer failed to place on Diego cells. Emitted during each auction.number
AuctioneerTaskAuctionsStartedCumulative number of Tasks that the auctioneer successfully placed on Diego cells. Emitted during each auction.number
LockHeldWhether an auctioneeer holds the auctioneer lock (in locket): 1 means the lock is held, and 0 means the lock was lost. Emitted periodically by the active auctioneer.0 or 1 (boolean)
RequestCountCumulative number of requests the auctioneer has handled through its API. Emitted periodically.number
RequestLatencyTime the auctioneer took to handle requests to its API endpoints. Emitted when the auctioneer handles requests.ns

BBS

MetricDescriptionUnit
BBSMasterElectedEmitted once when the BBS is elected as master.number (always 1)
ConvergenceLRPDurationTime the BBS took to run the entire LRP convergence pass. Emitted periodically.ns
ConvergenceLRPRunsCumulative number of times BBS has run its LRP convergence pass. Emitted periodically.number
ConvergenceTaskDurationTime the BBS took to run the entire Task convergence pass. Emitted periodically.ns
ConvergenceTaskRunsCumulative number of times the BBS has run its Task convergence pass. Emitted periodically.number
ConvergenceTasksKickedCumulative number of times the BBS has updated a Task during its Task convergence pass. Emitted periodically.number
ConvergenceTasksPrunedCumulative number of times the BBS has deleted a malformed Task Definition during its Task convergence pass. Emitted periodically.number
CrashedActualLRPsTotal number of LRP instances that have crashed. Emitted periodically.number
CrashingDesiredLRPsTotal number of DesiredLRPs that have at least one crashed instance. Emitted periodically.number
DBOpenConnectionsNumber of open connections to the SQL database. Emitted every 60 seconds.number
DBQueriesFailedCumulative number of SQL queries that failed. Emitted every 60 seconds.number
DBQueriesInFlightMaximum number of concurrent in flight queries in the last 60 seconds. Emitted every 60 seconds.number
DBQueriesTotalCumulative number of SQL queries executed, including BEGIN, COMMIT, and ROLLBACK statements. Emitted every 60 seconds.number
DBQueriesSucceededCumulative number of SQL queries that finished successfully. Emitted every 60 seconds.number
DBQueryDurationMaxMaximum duration of all queries that have run in the last 60 seconds. Emitted every 60 seconds.ns
DBWaitDurationThe total time blocked waiting for a new connection. Emitted every 60 seconds.ns
DBWaitCountThe total number of connections waited for. Emitted every 60 seconds.number
Domain. <domain-name>Whether the <domain-name> domain is up-to-date, so that instances from that domain have been synchronized with DesiredLRPs for Diego to run. 1 means the domain is up-to-date, no data means it is not. Emitted periodically.always 1 when present
EncryptionDurationTime the BBS took to ensure all BBS records are encrypted with the current active encryption key. Emitted each time a BBS becomes the active master.ns
LRPsClaimedTotal number of LRP instances that have been claimed by some cell. Emitted periodically.number
LRPsDesiredTotal number of LRP instances desired across all LRPs. Emitted periodically.number
LRPsExtraTotal number of LRP instances that are no longer desired but still have a BBS record. Emitted periodically.number
LRPsMissingTotal number of LRP instances that are desired but have no record in the BBS. Emitted periodically.number
LRPsRunningTotal number of LRP instances that are running on cells. Emitted periodically.number
LRPsUnclaimedTotal number of LRP instances that have not yet been claimed by a cell. Emitted periodically.number
LockHeldWhether a BBS holds the BBS lock (in locket): 1 means the lock is held, and 0 means the lock was lost. Emitted periodically by the active BBS server.0 or 1 (boolean)
MigrationDurationTime the BBS took to run migrations against its persistence store. Emitted each time a BBS becomes the active master.ns
OpenFileDescriptorsCurrent (non-cumulative) number of open file descriptors held by the BBS. Emitted periodically.number
PresentCellsTotal number of cells that are maintaining presence with Locket. Emitted periodically.number
RequestCountCumulative number of requests the BBS has handled through its API. Emitted periodically.number
RequestLatencyMaximum amount of time the BBS took to handle a request to one its API endpoints over a 60-second interval. Emitted every 60 seconds.ns
SuspectCellsTotal number of cells that are not maintaining their presences with Locket but for which the BBS has a record of at least one ActualLRP. Emitted periodically.number
SuspectClaimedActualLRPsTotal number of Suspect LRP instances that have been claimed by some cell. Emitted periodically.number
SuspectRunningActualLRPsTotal number of Suspect LRP instances that are running on cells. Emitted periodically.number
TasksCompletedTotal number of Tasks that have completed. Emitted periodically.number
TasksPendingTotal number of Tasks that have not yet been placed on a cell. Emitted periodically.number
TasksResolvingTotal number of Tasks locked for deletion. Emitted periodically.number
TasksRunningTotal number of Tasks running on cells. Emitted periodically.number
TasksSucceededCumulative number of tasks completed successfully. Note This metric has a cell-id tag that can be used to get the per cell metric.number
TasksFailedCumulative number of tasks that failed. Note This metric has a cell-id tag that can be used to get the per cell metric.number
TasksStartedCumulative number of tasks that has started so far. Note This metric has a cell-id tag that can be used to get the per cell metric.number

Locket

MetricDescriptionUnit
ActiveLocksTotal number of active locks. Emitted periodically.number
ActivePresencesTotal number of active presences. Emitted periodically.number
DBOpenConnectionsNumber of open connections to the SQL database. Emitted every 60 seconds.number
DBQueriesFailedCumulative number of SQL queries that failed. Emitted every 60 seconds.number
DBQueriesInFlightMaximum number of concurrent in flight queries in the last 60 seconds. Emitted every 60 seconds.number
DBQueriesTotalCumulative number of SQL queries executed, including BEGIN, COMMIT, and ROLLBACK statements. Emitted every 60 seconds.number
DBQueriesSucceededCumulative number of SQL queries that finished successfully. Emitted every 60 seconds.number
DBQueryDurationMaxMaximum duration of all queries that have run in the last 60 seconds. Emitted every 60 seconds.ns
LocksExpiredCumulative number of locks that have expired. Emitted every 60 seconds.number
PresenceExpiredCumulative number of presences that have expired. Emitted every 60 seconds.number
RequestsCancelledCumulative number of requests of a particular type that have been cancelled by the client. Currently tracking Lock, Release, Fetch, and FetchAll requests. Emitted every 60 seconds.number
RequestsStartedCumulative number of requests of a particular type that have been made. Currently tracking Lock, Release, Fetch, and FetchAll requests. Emitted every 60 seconds.number
RequestsSucceededCumulative number of requests of a particular type that have completed successfully. Currently tracking Lock, Release, Fetch, and FetchAll requests. Emitted every 60 seconds.number
RequestsFailedCumulative number of requests of a particular type that have failed for any reason. Currently tracking Lock, Release, Fetch, and FetchAll requests. Emitted every 60 seconds.number
RequestsInFlightNumber of requests of a particular type currently being handled by locket. Currently tracking Lock, Release, Fetch, and FetchAll requests. Emitted every 60 seconds.number
RequestLatencyMaxMaximum request latency emitted by a request of a particular type in the last 60 seconds. Currently tracking Lock, Release, Fetch, and FetchAll requests. Emitted every 60 seconds.number

Rep

MetricDescriptionUnit
AppInstanceExceededLogRateLimitCountNumber of application instances that have exceeded the app log rate limit. Emitted once for each application instance that exceeds the log rate limit within the last 5 minute interval (metric only emitted if a app log rate limit has been set and an app instance has exceeded that limit).number
CapacityAllocatedDiskAmount of disk allocated to containers on this cell. Emitted periodically.mebibytes
CapacityAllocatedMemoryAmount of memory allocated to containers on this cell. Emitted periodically.mebibytes
CapacityRemainingContainersRemaining number of containers this cell can host. Emitted periodically.number
CapacityRemainingDiskRemaining amount of disk available for this cell to allocate to containers. Emitted periodically.mebibytes
CapacityRemainingMemoryRemaining amount of memory available for this cell to allocate to containers. Emitted periodically.mebibytes
CapacityTotalContainersTotal number of containers this cell can host. Emitted periodically.number
CapacityTotalDiskTotal amount of disk available for this cell to allocate to containers. Emitted periodically.mebibytes
CapacityTotalMemoryTotal amount of memory available for this cell to allocate to containers. Emitted periodically.mebibytes
CellUnhealthyWhether the cell has reached the healthcheck timeout against the garden backend. 1 signifies unhealthy. Emitted once.1
ContainerCompletedCountNumber of containers exited on this cell. Emitted after container exits.number
ContainerCountNumber of containers hosted on the cell. Emitted periodically.number
ContainerExitedOnTimeoutCountNumber of containers on this cell exited after graceful shutdown interval. Emitted after container exits.number
ContainerUsageDiskAmount of disk used by containers on this cell. Emitted periodically.mebibytes
ContainerUsageMemoryAmount of memory used by containers on this cell. Emitted periodically.mebibytes
CredCreationFailedCountCount of failed instance identity credential creations. Emitted after every failed credential creation.number
CredCreationSucceededCountCount of successful instance identity credential creations. Emitted after every successful credential creation.number
CredCreationSucceededDurationTime the rep took to create instance identity credentials. Emitted after every successful credential creation.ns
C2CCredCreationFailedCountCount of failed C2C credential creations. Emitted after every failed credential creation.number
C2CCredCreationSucceededCountCount of successful C2C credential creations. Emitted after every successful credential creation.number
C2CCredCreationSucceededDurationTime the rep took to create C2C credentials. Emitted after every successful credential creation.ns
ContainerSetupSucceededDurationTime the rep took to setup a container with the Garden backend. Emitted after every successful container setup.ns
ContainerSetupFailedDurationTime the rep took to setup a container with the Garden backend. Emitted after every failed container setup.ns
GardenContainerCreationFailedDurationTime the rep's Garden backend took to create a container. Emitted after every failed container creation.ns
GardenContainerCreationSucceededDurationTime the rep's Garden backend took to create a container. Emitted after every successful container creation.ns
GardenContainerDestructionFailedDurationTime the rep's Garden backend took to destroy a container. Emitted after every failed container destruction.ns
GardenContainerDestructionSucceededDurationTime the rep's Garden backend took to destroy a container. Emitted after every successful container destruction.ns
GardenHealthCheckFailedWhether the cell has failed to pass its healthcheck against the garden backend. 0 signifies healthy, and 1 signifies unhealthy. Emitted periodically.0 or 1 (boolean)
HTTPLivenessChecksFailedCountCount of failed HTTP Liveness Checksnumber
RepBulkSyncDurationTime the cell rep took to synchronize the ActualLRPs it has claimed with its actual garden containers. Emitted periodically by each rep.ns
RequestsStartedCumulative number of requests of a particular type that have been made. Currently tracking CancelTask, ContainerMetrics, Perform, Reset, State, and StopLRPInstance requests. Emitted every 60 seconds.number
RequestsSucceededCumulative number of requests of a particular type that have completed successfully. Currently tracking CancelTask, ContainerMetrics, Perform, Reset, State, and StopLRPInstance requests. Emitted every 60 seconds.number
RequestsFailedCumulative number of requests of a particular type that have failed for any reason. Currently tracking CancelTask, ContainerMetrics, Perform, Reset, State, and StopLRPInstance requests. Emitted every 60 seconds.number
RequestsInFlightCumulative number of requests of a particular type that are in-flight by rep. Currently tracking CancelTask, ContainerMetrics, Perform, Reset, State, and StopLRPInstance requests. Emitted every 60 seconds.number
RequestLatencyMaxMaximum request latency emitted by a request of a particular type in the last 60 seconds. Currently tracking CancelTask, ContainerMetrics, Perform, Reset, State, and StopLRPInstance requests. Emitted every 60 seconds.number
StalledGardenDurationTime the rep is waiting on its garden backend to become healthy during startup. Emitted only if garden not responsive when the rep starts up.ns
StartingContainerCountNumber of containers currently in a Reserved, Initializing, or Created state. Emitted periodically.number
StrandedEvacuatingActualLRPsEvacuating ActualLPRs that timed out during the evacuation process. Emitted when evacuation doesn't complete successful.number
TCPLivenessChecksFailedCountCount of failed TCP Liveness Checksnumber
VolmanMountDurationTime volman took to mount a volume. Emitted by each rep when volumes are mounted.ns
VolmanMountDurationForTime volman took to mount a volume with a specific volume driver. Emitted by each rep when volumes are mounted.ns
VolmanMountErrorsCount of failed volume mounts. Emitted periodically by each rep.number
VolmanUnmountDurationTime volman took to unmount a volume. Emitted by each rep when volumes are mounted.ns
VolmanUnmountDurationForTime volman took to unmount a volume with a specifc volume driver. Emitted by each rep when volumes are mounted.ns
VolmanUnmountErrorsCount of failed volume unmounts. Emitted periodically by each rep.number

Route Emitter

MetricDescriptionUnit
AddressCollisionsNumber of detected conflicting routes. A conflicting route is a set of two distinct instances with the same IP address on the routing table.number
HTTPRouteCountNumber of HTTP route associations (route-endpoint pairs) in the route-emitter's routing table. Emitted periodically when emitter is in local mode.number
HTTPRouteNATSMessagesEmittedCumulative number of HTTP routing messages the route-emitter sends over NATS to the gorouter.number
InternalRouteNATSMessagesEmittedCumulative number of internal routing messages the route-emitter sends over NATS to the service discovery controller.number
RouteEmitterSyncDurationTime the route-emitter took to perform its synchronization pass. Emitted periodically.ns
RoutesRegisteredCumulative number of NATS route registrations emitted from the route-emitter as it reacts to changes to LRPs.number
RoutesSyncedCumulative number of route registrations emitted from the route-emitter during its periodic route-table emission.number
RoutesTotalNumber of combined HTTP and TCP route associations (route-endpoint pairs) in the route-emitter's routing table. Emitted periodically.number
RoutesUnregisteredCumulative number of NATS route unregistrations emitted from the route-emitter as it reacts to changes to LRPs.number
TCPRouteCountNumber of TCP route associations (route-endpoint pairs) in the route-emitter's routing table. Emitted periodically when emitter is in local mode.number

SSH Proxy

MetricDescriptionUnit
ssh-connectionsTotal number of SSH connections an SSH proxy has established. Emitted periodically by each SSH proxy.number

General Golang metrics

These metrics are automatically emitted on all the Diego components.

MetricDescriptionUnit
memoryStats.lastGCPauseTimeNSAmount of time the Golang process paused for garbage collection.ns
memoryStats.numBytesAllocatedHeapNumber of bytes the Golang process has allocated on the heap.bytes
memoryStats.numBytesAllocatedStackNumber of bytes the Golang process has allocated on the stack.bytes
numGoRoutinesNumber of goroutines the Golang process is running.number