This document describes all metrics collected and submitted to configured backends by the Prebid Server.
Other available metrics not mentioned here can found at Vert.x Dropwizard Metrics page.
vertx.http.servers.[IP]:[PORT].open-netsockets.count- current number of open connections
where:
[IP]should be equal to IP address of bound network interface on cluster node for Prebid Server (for example:0.0.0.0)[PORT]should be equal toserver.http.portconfiguration property
vertx.http.clients.connections.{min,max,mean,p95,p99}- how long connections livevertx.http.clients.connections.{m1_rate,m5_rate,m15_rate,mean_rate}- rate of the connection occurrencesvertx.http.clients.requests.{min,max,mean,p95,p99}- request timevertx.http.clients.requests.{m1_rate,m5_rate,m15_rate,mean_rate}- request rate
If HTTP client per destination endpoint metrics enabled:
vertx.http.clients.endpoint.[ENDPOINT]:[PORT].queue-delay.{min,max,mean,p95,p99}- wait time of a pending request in the queuevertx.http.clients.endpoint.[ENDPOINT]:[PORT].queue-size.count- actual queue sizevertx.http.clients.endpoint.[ENDPOINT]:[PORT].open-netsockets.count- actual number of open sockets to the endpointvertx.http.clients.endpoint.[ENDPOINT]:[PORT].usage.{min,max,mean,p95,p99}- time of the delay between the request starts and the response endsvertx.http.clients.endpoint.[ENDPOINT]:[PORT].in-use- actual number of in-flight requestsvertx.http.clients.endpoint.[ENDPOINT]:[PORT].ttfb- wait time between the request ended and its response begins
vertx.pools.datasouce.[DATASOURCE].queue-delay.{min,max,mean,p95,p99}- duration of the delay to obtain the resource, i.e the wait time in the queuevertx.pools.datasouce.[DATASOURCE].queue-size.counter- the actual number of waiters in the queuevertx.pools.datasouce.[DATASOURCE].usage.{min,max,mean,p95,p99}- duration of the usage of the resourcevertx.pools.datasouce.[DATASOURCE].in-use.counter- actual number of resources used
where [DATASOURCE] is a data source name, DEFAULT_DS by defaul.
app_requests- number of requests received from applicationsdebug_requests- number of requests received (when debug mode is enabled)no_cookie_requests- number of requests withoutuidscookie or with one that didn't contain at least one live UIDrequest_time- timer tracking how long did it take for Prebid Server to serve a requestimps_requested- number if impressions requestedimps_banner- number of banner impressionsimps_video- number of video impressionsimps_native- number of native impressionsimps_audio- number of audio impressionsdisabled_bidder- number of disabled bidders received within requestsunknown_bidder- number of unknown bidders received within requestsrequests.(ok|badinput|err|networkerr|blocklisted_account|blocklisted_app).(openrtb2-web|openrtb-app|amp|legacy)- number of requests broken down by status and typebidder-cardinality.<cardinality>.requests- number of requests targeting<cardinality>of biddersconnection_accept_errors- number of errors occurred while establishing HTTP connectiondb_query_time- timer tracking how long did it take for database client to obtain the result for a querystored_requests_found- number of stored requests that were foundstored_requests_missing- number of stored requests that were not found by provided stored request IDsstored_imps_found- number of stored impressions that were foundstored_imps_missing- number of stored impressions that were not found by provided stored impression IDsgeolocation_requests- number of times geo location lookup was requestedgeolocation_successful- number of successful geo location lookup responsesgeolocation_fail- number of failed geo location lookup responsescircuit-breaker.http.named.<host_id>.opened- state of the http client circuit breaker for a particular host:1means opened (requested resource is unavailable),0- closedcircuit.breaker.http.existing- number of http client circuit breakers existing currently for all hostscircuit-breaker.db.opened- state of the database circuit breaker:1means opened (database is unavailable),0- closedcircuit-breaker.geo.opened- state of the geo location circuit breaker:1means opened (geo location resource is unavailable),0- closedtimeout_notification.ok- number of times bidders were successfully notified about timeoutstimeout_notification.failed- number of unsuccessful attempts to notify bidders about timeoutscurrency-rates.stale- a flag indicating if currency rates obtained from external source are fresh (0) or stale (1)settings.cache.(stored-request|amp-stored-request).refresh.(initialize|update).db_query_time- timer tracking how long was settings cache populationsettings.cache.(stored-request|amp-stored-request).refresh.(initialize|update).err- number of errors during settings cache populationsettings.cache.account.(hit|miss)- number of times account was found or was missing in cache
adapter.<bidder-name>.no_cookie_requests- number of requests made to<bidder-name>that did not contain UIDadapter.<bidder-name>.request_time- timer tracking how long did it take to make a request to<bidder-name>adapter.<bidder-name>.prices- histogram of bid prices received from<bidder-name>adapter.<bidder-name>.bids_received- number of bids received from<bidder-name>adapter.<bidder-name>.(banner|video|audio|native).(adm_bids_received|nurl_bids_received)- number of bids received from<bidder-name>broken down by bid type and whether they hadadmornurlspecifiedadapter.<bidder-name>.requests.type.(openrtb2-web|openrtb-app|amp|legacy)- number of requests made to<bidder-name>broken down by type of incoming requestadapter.<bidder-name>.requests.(gotbids|nobid|badinput|badserverresponse|timeout|unknown_error)- number of requests made to<bidder-name>broken down by result statusadapter.<bidder-name>.(openrtb2-web|openrtb-app|amp|legacy).tcf.userid_removed- number of requests made to<bidder-name>that required userid removed as a result of TCF enforcement for that bidderadapter.<bidder-name>.(openrtb2-web|openrtb-app|amp|legacy).tcf.geo_masked- number of requests made to<bidder-name>that required geo information removed as a result of TCF enforcement for that bidderadapter.<bidder-name>.(openrtb2-web|openrtb-app|amp|legacy).tcf.request_blocked- number of requests made to<bidder-name>that were blocked as a result of TCF enforcement for that bidderadapter.<bidder-name>.(openrtb2-web|openrtb-app|amp|legacy).tcf.analytics_blocked- number of requests made to<bidder-name>that required analytics blocked as a result of TCF enforcement for that bidderadapter.<bidder-name>.response.validation.size.(warn|err)- number of banner bids received from the<bidder-name>that had invalid sizeadapter.<bidder-name>.response.validation.secure.(warn|err)- number of bids received from the<bidder-name>that had insecure creative while in secure context
Following metrics are collected and submitted if account is configured with basic verbosity:
account.<account-id>.requests- number of requests received from account with<account-id>account.<account-id>.response.validation.size.(warn|err)- number of banner bids received from account with<account-id>that had invalid sizeaccount.<account-id>.response.validation.secure.(warn|err)- number of bids received from account with<account-id>that had insecure creative while in secure context
Following metrics are collected and submitted if account is configured with detailed verbosity:
account.<account-id>.requests.type.(openrtb2-web,openrtb-app,amp,legacy)- number of requests received from account with<account-id>broken down by type of incoming requestaccount.<account-id>.debug_requests- number of requests received from account with<account-id>broken down by type of incoming request (when debug mode is enabled)account.<account-id>.requests.rejection- number of rejection requests caused by incorrectaccountIdaccount.<account-id>.requests.disabled_bidder- number of disabled bidders received within requests from account with<account-id>account.<account-id>.requests.unknown_bidder- number of unknown bidder names received within requests from account with<account-id>account.<account-id>.adapter.<bidder-name>.request_time- timer tracking how long did it take to make a request to<bidder-name>when incoming request was from<account-id>account.<account-id>.adapter.<bidder-name>.bids_received- number of bids received from<bidder-name>when incoming request was from<account-id>account.<account-id>.adapter.<bidder-name>.requests.(gotbids|nobid)- number of requests made to<bidder-name>broken down by result status when incoming request was from<account-id>
prebid_cache.requests.ok- timer tracking how long did successful cache requests takeprebid_cache.requests.err- timer tracking how long did failed cache requests takeprebid_cache.creative_size.<creative_type>- histogram tracking creative sizes for specific typeprebid_cache.creative_ttl.<creative_type>- histogram tracking creative TTL for specific type
account.<account-id>.prebid_cache.requests.ok- timer tracking how long did successful cache requests take when incoming request was from<account-id>account.<account-id>.prebid_cache.requests.err- timer tracking how long did failed cache requests take when incoming request was from<account-id>account.<account-id>.prebid_cache.creative_size.<creative_type>- histogram tracking creative sizes for specific type when incoming request was from<account-id>account.<account-id>.prebid_cache.creative_ttl.<creative_type>- histogram tracking creative TTL for specific type when incoming request was from<account-id>
cookie_sync_requests- number of requests receivedcookie_sync.<bidder-name>.tcf.blocked- number of times cookie sync was prevented by TCF per bidder
usersync.opt_outs- number of requests received withuidscookie containingoptout=trueusersync.bad_requests- number of requests received with bidder not specifiedusersync.<bidder-name>.sets- number of requests received resulted inuidcookie update for<bidder-name>usersync.<bidder-name>.tcf.blocked- number of requests received that didn't result inuidcookie update for<bidder-name>because of lack of user consent for this action according to TCFusersync.<bidder-name>.tcf.invalid- number of requests received that are lacking of a valid consent string for<bidder-name>in setuid endpointusersync.all.tcf.invalid- number of requests received that are lacking of a valid consent string for all requested bidders cookieSync endpoint
privacy.tcf.(missing|invalid)- number of requests lacking a valid consent stringprivacy.tcf.(v1,v2).requests- number of requests by TCF versionprivacy.tcf.(v1,v2).unknown-geo- number of requests received from unknown geo region with consent string of particular versionprivacy.tcf.(v1,v2).in-geo- number of requests received from TCF-concerned geo region with consent string of particular versionprivacy.tcf.(v1,v2).out-geo- number of requests received outside of TCF-concerned geo region with consent string of particular versionprivacy.tcf.(v1,v2).vendorlist.(missing|ok|err|fallback)- number of processed vendor lists of particular versionprivacy.usp.specified- number of requests with a valid US Privacy string (CCPA)privacy.usp.opt-out- number of requests that required privacy enforcement according to CCPA rulesprivacy.lmt- number of requests that required privacy enforcement according to LMT flagprivacy.coppa- number of requests that required privacy enforcement according to COPPA rules
analytics.<reporter-name>.(auction|amp|video|cookie_sync|event|setuid).ok- number of succeeded processed event requestsanalytics.<reporter-name>.(auction|amp|video|cookie_sync|event|setuid).timeout- number of event requests, failed with timeout causeanalytics.<reporter-name>.(auction|amp|video|cookie_sync|event|setuid).err- number of event requests, failed with errorsanalytics.<reporter-name>.(auction|amp|video|cookie_sync|event|setuid).badinput- number of event requests, rejection with bad input cause
modules.module.<module>.stage.<stage>.hook.<hook>.call- number of times the hook is calledmodules.module.<module>.stage.<stage>.hook.<hook>.duration- timer tracking the called hook execution timemodules.module.<module>.stage.<stage>.hook.<hook>.success.(noop|update|reject|no-invocation)- number of times the hook is called successfully with the action appliedmodules.module.<module>.stage.<stage>.hook.<hook>.(failure|timeout|execution-error)- number of times the hook execution is failed
account.<account-id>.modules.module.<module>.call- number of times the module is calledaccount.<account-id>.modules.module.<module>.duration- timer tracking the called module execution timeaccount.<account-id>.modules.module.<module>.success.(noop|update|reject|no-invocation)- number of times the module is called successfully with the action appliedaccount.<account-id>.modules.module.<module>.failure- number of times the module execution is failed