Graphite Keys - datacratic/rtbkit GitHub Wiki

Most RTBkit components log real-time information and metrics in Graphite. This has proven invaluable for monitoring the current state of the RTB stack.

This page gives some information about what those keys mean.

Note that keys for each component are prefixed by an installation name and a node name (given as command line parameters) when launching each component. For example, starting the router with an installation (e.g. prod) and a node name (e.g. on server rtb1) would give :

prod.rtb1.router.bid

Some keys are recorded by account and is signified in the following table using the accounts.* prefix.

Keys

Graphite Key Help
router.accounts.*.bidResponseTimeMs Time (in milliseconds) taken by the agent to provide a bid response.
router.accounts.*.bids Bid received from this agent.
router.accounts.*.droppedBids Number of bids that expired after a request for bidding was sent but before a bid response was received.
router.accounts.*.filter.dynamic.augmentationTagsExcluded Indication that the auction was filtered because it doesn't include any augmentation tag associated with this account.
router.accounts.*.filter.dynamic.notEnoughTime Indication that the auction was filtered because the time left until the auction expires is not enough to process it.
router.accounts.*.filter.dynamic.tooManyInFlight Indication that the auction was filtered because the number of bid request still not answered by the agent has reached its predefined maximum.
router.accounts.*.filter.dynamic.userBlacklisted Indication that the auction was filtered because the user matches the black list.
router.accounts.*.filter.intoDynamicFilters Indication that an auction enters the dynamic filtering stage of an agent.
router.accounts.*.filter.intoStaticFilters Indication that an auction enters the static filtering stage of an agent.
router.accounts.*.filter.metric.timeElapsedBeforePreproMs Time elapsed (in milliseconds) between the auction start and the preprocessing phase.
router.accounts.*.filter.metric.timeElapsedDuringPreproMs Time elapsed (in milliseconds) during the preprocessing phase.
router.accounts.*.filter.metric.timeLeftBeforeDynamicFilter Time (in milliseconds) available before the auction expired at the beginning of the dynamic filtering phase.
router.accounts.*.filter.metric.timeUsedBeforeDynamicFilter Time elapsed (in milliseconds) between the auction start and the start of the dynamic filtering phase.
router.accounts.*.filter.metric.timeWindowMs Time (in milliseconds) available for processing the auction before it expires.
router.accounts.*.filter.passedDynamicFilters Indication that an auction passed all dynamic filters.
router.accounts.*.filter.passedStaticFilters Indication that an auction passed all static filters.
router.accounts.*.filter.static.003_agentAppearsDead Indication that the auction was filtered because the agent is not responsive.
router.accounts.*.filter.static.004_earlyTooManyInFlight Indication that the auction was filtered because the number of bid request still not answered by the agent has reached its predefined maximum.
router.accounts.*.filter.static.005_notEnoughTime Indication that the auction was filtered because the time left until the auction expires is not enough to process it.
router.accounts.*.filter.static.010_noSpots
router.accounts.*.filter.static.050_exchangeFiltered
router.accounts.*.filter.static.060_locationFiltered
router.accounts.*.filter.static.080_segmentExcluded_peer39
router.accounts.*.filter.static.080_segmentHasNoData_peer39
router.accounts.*.filter.static.080_segmentInfoMissing_tags
router.accounts.*.filter.static.085_hostFiltered
router.accounts.*.inFlight.averageAgeSeconds Average age of all request for bid still not answered by the agent.
router.accounts.*.inFlight.numInFlight Number of request for bid sent to the agent that were still not answered.
router.accounts.*.inFlight.oldestAgeSeconds Age of the oldest request for bid send to an agent that was still not answered.
router.accounts.*.ping.incomingTimeMs Time (in milliseconds) taken for the ping message to travel from the agent to the router.
router.accounts.*.ping.outgoingTimeMs Time (in milliseconds) taken for the ping message to travel from the router to the agent.
router.accounts.*.ping.roundTripTimeMs Time (in milliseconds) taken for the ping message to travel from the router to the agent and back to the router.
router.accounts.*.timeSinceHeartbeat Time since we last received an heartbeat message from the agent. The agent will be considered dead after 5 seconds.
router.auctionDropped.noPotentialBidders Auction is dropped since no bidders were selected during preprocessing.
router.auctionKeepPercentage Chances that an auction received by the router will be processed. This value is constantly adjusted by monitoring the load on the router to avoid overloading it.
router.auctionPassedPreprocessing Auction completed the preprocessing phase and bidders were selected for the augmentation phase.
router.bid Bid received from an agent.
router.bidError.agentNotBidding Bid response is not associated with a bid request.
router.bidError.agentSkippedAuction Bid response is associated with an agent that wasn't selected to bid on this auction.
router.bidError.unknownAuction Bid response is associated with an unknown auction.
router.exchange.*.requests Auction processed.
router.exchange.*.spots Number of spot for this auction.
router.numTimesCouldSleep Number of times the router thread was able to process all its messages and go to sleep over the last 10 seconds.
router.preprocessAuctionTimeMs Time (in milliseconds) taken to perform the preprocessing stage that filter auctions to find potential bidders and request bids.
router.routerDown Router main thread is terminated.
router.routerLoop.asleep Time (in milliseconds) the router thread was sleeping.
router.routerLoop.doConfig Time (in milliseconds) taken to accept updates of bidder's configuration parameters.
router.routerLoop.doStartBidding Time (in milliseconds) taken to filter auctions to find potential bidders and request bids.
router.routerLoop.doSubmitted Time (in milliseconds) taken to process the auction and move it to the post auction loop after it was submitted to the exchange.
router.routerUp Router main thread started.
router.tooLateAfterAugmenting Auction expired after the augmentation phase but before being routed.
router.tooLateAfterRouting Auction expired after being routed to agents.
router.tooLateBeforeAdd Auction expired after the preprocess phase but before the augmentation phase.
router.tooLateBeforeRouting Auction expired before being routed to agents.
router.tooLateToFinish Auction expired before being retired.
postAuction.banker.account.*.attachedBids Number of bids authorized for the account over a period of 10 seconds.
postAuction.banker.account.*.expiredCommitments Number of inactive (expired) commitments still attached to the account.
postAuction.banker.account.*.detachedBids Number of bids commited or cancelled for the account over a period of 10 seconds.
postAuction.banker.account.*.pendingCommitments Number of active commitments associated to the account.
postAuction.banker.total.attachedBids Number of bids authorized over a period of 10 seconds.
postAuction.banker.total.expiredCommitments Number of inactive (expired) commitments.
postAuction.banker.total.detachedBids Number of bids commited or cancelled over a period of 10 seconds.
postAuction.banker.total.pendingCommitments Number of active commitments.
⚠️ **GitHub.com Fallback** ⚠️