1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493 |
- <!--
- Copyright 2017 The Chromium Authors. All rights reserved.
- Use of this source code is governed by a BSD-style license that can be
- found in the LICENSE file.
- -->
- <!--
- This file is used to generate a comprehensive list of Chrome UKM metrics
- along with a detailed description for each metric.
- See the following doc for details on how to add entries to this file:
- https://chromium.googlesource.com/chromium/src.git/+/main/services/metrics/ukm_api.md
- Events may be marked with the attribute singular="True" to indicate that
- the event will only occur once per source, and multiple entries will just
- be describing additional metrics about the same event.
- -->
- <ukm-configuration>
- <event name="AboutThisSiteStatus">
- <owner>olesiamarukhnno@google.com</owner>
- <summary>
- Recorded on each page info bubble open when "About this site" data
- is fetched.
- </summary>
- <metric name="Status" enum="AboutThisSiteStatus">
- <summary>
- The status of the "About this site" info, including if the data
- is available and whether the proto is valid. See
- |page_info::about_this_site_validation::AboutThisSiteStatus| for enum
- elements.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="AbusiveExperienceHeuristic">
- <owner>csharrison@chromium.org</owner>
- <owner>yaoxia@chromium.org</owner>
- <summary>
- Obsolete. Various metrics recording experiences which are commonly used for
- abusive purposes.
- </summary>
- <metric name="DidTabUnder">
- <summary>
- True if the page attempted a tab-under navigation.
- </summary>
- </metric>
- <metric name="DidWindowOpenFromAdScript">
- <summary>
- True if the page called window.open with an ad script in the stack.
- </summary>
- </metric>
- <metric name="DidWindowOpenFromAdSubframe">
- <summary>
- True if the page called window.open() from an ad subframe.
- </summary>
- </metric>
- </event>
- <event name="AbusiveExperienceHeuristic.JavaScriptDialog">
- <owner>yaoxia@chromium.org</owner>
- <metric name="DismissalCause">
- <summary>
- An enum that specifies the dismissal reason for JavaScript popup dialog
- that can be triggered by window.alert(), window.confirm() or
- window.prompt(). See JavaScriptDialogTabHelper::DismissalCause for the
- enum elements.
- </summary>
- </metric>
- </event>
- <event name="AbusiveExperienceHeuristic.TabUnder">
- <owner>csharrison@chromium.org</owner>
- <metric name="DidTabUnder">
- <summary>
- True if the page attempted a tab-under navigation.
- </summary>
- </metric>
- </event>
- <event name="AbusiveExperienceHeuristic.WindowOpen">
- <owner>yaoxia@chromium.org</owner>
- <summary>
- Recorded whenever window.open() is called when AdTagging is enabled.
- </summary>
- <metric name="FromAdScript">
- <summary>
- True if the page called window.open() with an ad script in the stack.
- </summary>
- </metric>
- <metric name="FromAdSubframe">
- <summary>
- True if the page called window.open() from an ad subframe.
- </summary>
- </metric>
- </event>
- <event name="Accessibility.ImageDescriptions">
- <owner>dtseng@chromium.org</owner>
- <owner>nektar@chromium.org</owner>
- <summary>
- Tracks automatic image descriptions provided to blind users.
- </summary>
- <metric name="Description" enum="Boolean">
- <summary>
- Whether the image description included a description.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="ImageAlreadyHasLabel" enum="Boolean">
- <summary>
- Whether the image already had label text before it was augmented with an
- additional description.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="OCR" enum="Boolean">
- <summary>
- Whether the image description included OCR text.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="Accessibility.Renderer">
- <owner>aleventhal@chromium.org</owner>
- <owner>nektar@chromium.org</owner>
- <summary>
- Tracks the amount of time sending accessibility events from web renderers.
- </summary>
- <metric name="CpuTime.SendPendingAccessibilityEvents">
- <summary>
- The amount of time spent in
- RenderAccessibilityImpl.SendPendingAccessibilityEvents
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="AccuracyTipDialog">
- <owner>dullweber@chromium.org</owner>
- <owner>eokoyomon@chromium.org</owner>
- <summary>
- Recorded when an action on the accuracy tip dialog is taken.
- </summary>
- <metric name="Interaction" enum="AccuracyTipInteraction">
- <summary>
- Records an enum value representing which action in the accuracy tip was
- taken.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="TimeSpent">
- <summary>
- The amount of time spent on the dialog until it was closed. In seconds.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="AccuracyTipStatus">
- <owner>dullweber@chromium.org</owner>
- <owner>eokoyomon@chromium.org</owner>
- <summary>
- Recorded on each page load when the AccuracyService determines whether an
- accuracy tip should be shown or the reason why it was not shown.
- </summary>
- <metric name="Status" enum="AccuracyTipStatus">
- <summary>
- The accuracy tip status that was determined for a pageload.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="AdFrameLoad">
- <owner>johnidel@chromium.org</owner>
- <owner>jkarlin@chromium.org</owner>
- <summary>
- Records metrics associated with a single ad frame for a page load. An ad
- frame includes itself and all of its child frames. Only recorded for frames
- with non-zero bytes. Recorded when a page is destroyed or when the app is
- backgrounded on mobile.
- </summary>
- <metric name="CpuTime.PeakWindowedPercent">
- <summary>
- The peak percentage of CPU utilization attributed to the frame in any 30
- second window prior to user activation. Frames that exist for less than 30
- seconds still use 30 seconds as the denominator for the calculation.
- </summary>
- </metric>
- <metric name="CpuTime.PreActivation">
- <summary>
- Wall time of tasks attributed to the frame after the frame recieved user
- activation. Measured in millseconds.
- </summary>
- </metric>
- <metric name="CpuTime.Total">
- <summary>
- Total wall time of tasks attributed to the frame. Measured in
- milliseconds.
- </summary>
- </metric>
- <metric name="FrameDepth">
- <summary>
- The depth of this frame's frame tree. There is no set limit on a frame's
- maximum depth.
- </summary>
- </metric>
- <metric name="Loading.CacheBytes">
- <obsolete>
- Deprecated 09/2019. Replaced with Loading.CacheBytes2.
- </obsolete>
- <summary>
- Bytes loaded from the cache for all resources loaded within the frame.
- This is rounded down to the nearest exponential bucket (with a bucket
- ratio of 1.3).
- </summary>
- </metric>
- <metric name="Loading.CacheBytes2">
- <summary>
- Bytes loaded from the cache for all resources loaded within the frame.
- This includes bytes loaded from both the HTTP cache and memory cache. This
- is rounded down to the nearest exponential bucket (with a bucket ratio of
- 1.3).
- </summary>
- </metric>
- <metric name="Loading.ImageBytes">
- <summary>
- Network bytes loaded for resources with an image mime type within the
- frame. Includes header bytes. This is rounded down to the nearest
- exponential bucket (with a bucket ratio of 1.3).
- </summary>
- </metric>
- <metric name="Loading.JavascriptBytes">
- <summary>
- Network bytes loaded for resources with a javascript mime type within the
- frame. Includes header bytes. This is rounded down to the nearest
- exponential bucket (with a bucket ratio of 1.3).
- </summary>
- </metric>
- <metric name="Loading.NetworkBytes">
- <summary>
- Network bytes loaded for all resources within the frame. Includes header
- bytes. This is rounded down to the nearest exponential bucket (with a
- bucket ratio of 1.3).
- </summary>
- </metric>
- <metric name="Loading.NumResources">
- <summary>
- Total number of resources loaded by the frame, including incomplete
- resources.
- </summary>
- </metric>
- <metric name="Loading.VideoBytes">
- <summary>
- Network bytes loaded for resources with a video/ mime type within the
- frame. Includes header bytes. This is rounded down to the nearest
- exponential bucket (with a bucket ratio of 1.3).
- </summary>
- </metric>
- <metric name="Status.CrossOrigin">
- <summary>
- An enum representing whether the frame was Cross-Origin or Same-Origin to
- it's parent frame. See FrameData::OriginStatus.
- </summary>
- </metric>
- <metric name="Status.Media">
- <summary>
- An enum representing whether media was played in the frame. See
- FrameData::MediaStatus.
- </summary>
- </metric>
- <metric name="Status.UserActivation">
- <summary>
- An enum representing whether the frame received user activation. See
- FrameData::UserActivationStatus.
- </summary>
- </metric>
- <metric name="Timing.FirstContentfulPaint">
- <summary>
- Number of milliseconds before FirstContentfulpaint was reached in the
- frame. This is relative to subframe navigation start.
- </summary>
- </metric>
- <metric name="Timing.Interactive">
- <summary>
- Number of millseconds before Time-To-Interactive was reached in the frame.
- This is relative to subframe navigation start.
- </summary>
- </metric>
- <metric name="Timing.PreActivationForegroundDuration">
- <obsolete>
- Deprecated 07/2020.
- </obsolete>
- <summary>
- Number of millseconds that the current web contents spent in the
- foreground prior to the frame receiving user activation.
- </summary>
- </metric>
- <metric name="Visibility.FrameHeight">
- <summary>
- Last known height of the iframe in pixels. Not reported accurately when
- "Visiblity.Hidden" is true. This is rounded down to the nearest
- exponential bucket (with a bucket ratio of 1.15).
- </summary>
- </metric>
- <metric name="Visibility.FrameWidth">
- <summary>
- Last known width of the iframe in pixels. Not reported accurately when
- "Visiblity.Hidden" is true. This is rounded down to the nearest
- exponential bucket (with a bucket ratio of 1.15).
- </summary>
- </metric>
- <metric name="Visibility.Hidden">
- <summary>
- A 0 or 1 values representing whether the frame had a display=none styling
- set. Records the last known value.
- </summary>
- </metric>
- </event>
- <event name="AdPageLoad" singular="True">
- <owner>johnidel@chromium.org</owner>
- <owner>jkarlin@chromium.org</owner>
- <summary>
- Recorded when a page has loaded non-zero ad bytes, and the page is being
- destroyed/navigated.
- </summary>
- <metric name="AdBytes">
- <summary>
- Amount of network bytes used to load ad resource on the page. Includes
- resources that did not finish, and top-level ads. Measured in kilobytes.
- </summary>
- </metric>
- <metric name="AdBytesPerSecond">
- <obsolete>
- Deprecated 01/2020.
- </obsolete>
- <summary>
- Amount of network bytes used to load ad resources on the page, per second
- the page was alive after commit. Measured in kilobytes per second.
- </summary>
- </metric>
- <metric name="AdBytesPerSecondAfterInteractive">
- <obsolete>
- Deprecated 01/2020.
- </obsolete>
- <summary>
- Amount of network bytes used to load ad resources on the page per second
- after the page was interactive. Measured in kilobytes.
- </summary>
- </metric>
- <metric name="AdCpuTime">
- <summary>
- Amount of CPU wall time inside of ad iframes over the duration of a page
- load, while the page is in the foreground. Measured in milliseconds.
- </summary>
- </metric>
- <metric name="AdJavascriptBytes">
- <summary>
- Amount of network bytes used to load ad resources with a supported
- javascript mime type on the page. Measured in kilobytes.
- </summary>
- </metric>
- <metric name="AdVideoBytes">
- <summary>
- Amount of network bytes used to load ad resources with a video mime type
- on the page. Measured in kilobytes.
- </summary>
- </metric>
- <metric name="MainframeAdBytes">
- <summary>
- Amount of network bytes used to load ad resources in the main frame.
- Includes resources that did not finish but does not include resources in
- subframes. Measured in bytes. This is rounded to the nearest exponential
- bucket (with a bucket ratio of 1.3).
- </summary>
- </metric>
- <metric name="MaxAdDensityByArea">
- <summary>
- The estimated maximum density of ads on a page by area. Calculated as the
- area of ads on the page * 100 / page area. This counts each overlapping
- area once, it may be inaccurate due to updates and calculations being
- throttled.
- </summary>
- </metric>
- <metric name="MaxAdDensityByHeight">
- <summary>
- The estimated maximum density of ads on a page by height. Calculated as
- the combined height of ads on the page * 100 / page height. This counts
- each overlapping area once, it may be inaccurate due to updates and
- calculations being throttled.
- </summary>
- </metric>
- <metric name="TotalBytes">
- <summary>
- Amount of network bytes used to load resources on the page. Includes
- resources that did not finish. Measured in kilobytes.
- </summary>
- </metric>
- </event>
- <event name="AdPageLoadCustomSampling" singular="True">
- <owner>yaoxia@chromium.org</owner>
- <owner>johnidel@chromium.org</owner>
- <owner>jkarlin@chromium.org</owner>
- <summary>
- Recorded when a page has loaded non-zero ad bytes, and the page is being
- destroyed/navigated or when the app enters the background on mobile. This is
- separate from the `AdPageLoad` event to allow a potentially different
- sampling.
- </summary>
- <metric name="AverageViewportAdDensity">
- <summary>
- The estimated average viewport ad density. Each density value is
- calculated as the area of ads within the viewport * 100 / viewport area,
- where each overlapping area is counted once. And this returns the average
- of the densities accumulated over the page load time rounded to the
- nearest integer.
- </summary>
- </metric>
- <metric name="KurtosisViewportAdDensity">
- <summary>
- The estimated kurtosis of the viewport ad density. Each density value is
- calculated as the area of ads within the viewport * 100 / viewport area,
- where each overlapping area is counted once. And this returns the kurtosis
- of the densities accumulated over the page load time rounded to the
- nearest exponential bucket integer with bucket spacing 1.3. For negative
- values, the bucketing will be taken on its magnitude part.
- </summary>
- </metric>
- <metric name="SkewnessViewportAdDensity">
- <summary>
- The estimated skewness of the viewport ad density. Each density value is
- calculated as the area of ads within the viewport * 100 / viewport area,
- where each overlapping area is counted once. And this returns the skewness
- of the densities accumulated over the page load time rounded to the
- nearest exponential bucket integer with bucket spacing 1.3. For negative
- values, the bucketing will be taken on its magnitude part.
- </summary>
- </metric>
- <metric name="VarianceViewportAdDensity">
- <summary>
- The estimated variance of the viewport ad density. Each density value is
- calculated as the area of ads within the viewport * 100 / viewport area,
- where each overlapping area is counted once. And this returns the variance
- of the densities accumulated over the page load time rounded to the
- nearest exponential bucket integer with bucket spacing 1.3. For negative
- values, the bucketing will be taken on its magnitude part.
- </summary>
- </metric>
- </event>
- <event name="AdsIntervention.LastIntervention" singular="True">
- <owner>yaoxia@google.com</owner>
- <owner>chrome-ads-core@google.com</owner>
- <summary>
- Recorded after computing the subresource filter activation for a page at
- process response time during navigation. This is only recorded when there
- has previously been an ads intervention triggered on the page within the
- site data's lifetime (currently 7 days). Clearing site data will reset
- intervention information.
- </summary>
- <metric name="InterventionStatus" enum="AdsInterventionStatus">
- <summary>
- Records the status of the ads intervention, whether the intervention lead
- to subresource filter activation, measured during page load.
- </summary>
- </metric>
- <metric name="InterventionType" enum="AdsViolations">
- <summary>
- Records the last measured intervention recorded for the page, measured
- during page load.
- </summary>
- </metric>
- </event>
- <event name="AmpPageLoad" singular="True">
- <owner>sullivan@chromium.org</owner>
- <metric name="MainFrameAmpPageLoad">
- <summary>
- True if the page loaded in the main frame is an AMP document (has an amp
- attribute in the html element). Will not be recorded for non-AMP frames.
- Note that most AMP documents are loaded in a subframe from a reader like
- Google Search; this metric measures sites that are using AMP as a
- site-wide framework and not a reader experience.
- </summary>
- </metric>
- <metric
- name="SubFrame.InteractiveTiming.AverageUserInteractionLatencyOverBudget.MaxEventduration">
- <summary>
- The average value of user interaction latency above budget of a page load
- in AMP subframes, in ms. For this metric, we measure the latency of user
- interactions by Responsiveness.UserInteraction.MaxEventDuration and we
- deduct a budget from the original value. If the latency value is below the
- budget, it will be treated as 0 ms. Each type of interaction has its own
- budget.
- </summary>
- </metric>
- <metric
- name="SubFrame.InteractiveTiming.AverageUserInteractionLatencyOverBudget.TotalEventduration">
- <obsolete>
- Removed March 2022 in favor of
- SlowUserInteractionLatency.HighPercentile2.MaxEventduration
- </obsolete>
- <summary>
- The average value of user interaction latency above budget of a page load
- in AMP subframes, in ms. For this metric, we measure the latency of user
- interactions by Responsiveness.UserInteraction.TotalEventDuration and we
- deduct a budget from the original value. If the latency value is below the
- budget, it will be treated as 0 ms. Each type of interaction has its own
- budget.
- </summary>
- </metric>
- <metric name="SubFrame.InteractiveTiming.FirstInputDelay3">
- <obsolete>
- Removed July 2019 in favor of FirstInputDelay4.
- </obsolete>
- <summary>
- Measures First Input Delay, the duration between the hardware timestamp
- and the start of event processing on the main thread for the first
- meaningful input per navigation, in the AMP subframe. See
- https://goo.gl/tr1oTZ for a detailed explanation. In milliseconds.
- </summary>
- </metric>
- <metric name="SubFrame.InteractiveTiming.FirstInputDelay4">
- <summary>
- Measures First Input Delay, the duration between the hardware timestamp
- and the start of event processing on the main thread for the first
- meaningful input per navigation, in the AMP subframe. See
- https://goo.gl/tr1oTZ for a detailed explanation. In milliseconds.
- </summary>
- </metric>
- <metric name="SubFrame.InteractiveTiming.NumInteractions">
- <summary>
- The number of distinct user interactions in an AMP subframe. See
- definition of user interaction:
- https://web.dev/better-responsiveness-metric/#group-events-into-interactions
- </summary>
- </metric>
- <metric
- name="SubFrame.InteractiveTiming.SlowUserInteractionLatencyOverBudget.HighPercentile.MaxEventduration">
- <obsolete>
- Removed March 2022 in favor of
- SlowUserInteractionLatency.HighPercentile2.MaxEventduration
- </obsolete>
- <summary>
- An approximation of high percentile of user interaction latency above
- budget of a page load in AMP subframes, in ms. For this metric, we measure
- the latency of user interactions by
- Responsiveness.UserInteraction.MaxEventDuration and we deduct a budget
- from the original value. If the latency value is below the budget, it will
- be treated as 0 ms. Each type of interaction has its own budget.
- </summary>
- </metric>
- <metric
- name="SubFrame.InteractiveTiming.SlowUserInteractionLatencyOverBudget.HighPercentile.TotalEventduration">
- <obsolete>
- Removed March 2022 in favor of
- SlowUserInteractionLatency.HighPercentile2.MaxEventduration
- </obsolete>
- <summary>
- An approximation of high percentile of user interaction latency above
- budget of a page load in AMP subframes, in ms. For this metric, we measure
- the latency of user interactions by
- Responsiveness.UserInteraction.TotalEventDuration and we deduct a budget
- from the original value. If the latency value is below the budget, it will
- be treated as 0 ms. Each type of interaction has its own budget.
- </summary>
- </metric>
- <metric
- name="SubFrame.InteractiveTiming.SlowUserInteractionLatencyOverBudget.HighPercentile2.MaxEventduration">
- <summary>
- An approximation of high percentile of user interaction latency above
- budget of a page load in AMP subframes, in ms. For this metric, we measure
- the latency of user interactions by
- Responsiveness.UserInteraction.MaxEventDuration and we deduct a budget
- from the original value. If the latency value is below the budget, it will
- be treated as 0 ms. Each type of interaction has its own budget.
- </summary>
- </metric>
- <metric
- name="SubFrame.InteractiveTiming.SlowUserInteractionLatencyOverBudget.HighPercentile2.TotalEventduration">
- <obsolete>
- Removed March 2022 in favor of
- SlowUserInteractionLatency.HighPercentile2.MaxEventduration
- </obsolete>
- <summary>
- An approximation of high percentile of user interaction latency above
- budget of a page load in AMP subframes, in ms. For this metric, we measure
- the latency of user interactions by
- Responsiveness.UserInteraction.TotalEventDuration and we deduct a budget
- from the original value. If the latency value is below the budget, it will
- be treated as 0 ms. Each type of interaction has its own budget.
- </summary>
- </metric>
- <metric
- name="SubFrame.InteractiveTiming.SumOfUserInteractionLatencyOverBudget.MaxEventduration">
- <summary>
- The sum of user interaction latency above budget of a page load in AMP
- subframes, in ms. For this metric, we measure the latency of user
- interactions by Responsiveness.UserInteraction.MaxEventDuration and we
- deduct a budget from the original value. If the latency value is below the
- budget, it will be treated as 0 ms. Each type of interaction has its own
- budget.
- </summary>
- </metric>
- <metric
- name="SubFrame.InteractiveTiming.SumOfUserInteractionLatencyOverBudget.TotalEventduration">
- <obsolete>
- Removed March 2022 in favor of
- SlowUserInteractionLatency.HighPercentile2.MaxEventduration
- </obsolete>
- <summary>
- The sum of user interaction latency above budget of a page load in AMP
- subframes, in ms. For this metric, we measure the latency of user
- interactions by Responsiveness.UserInteraction.TotalEventDuration and we
- deduct a budget from the original value. If the latency value is below the
- budget, it will be treated as 0 ms. Each type of interaction has its own
- budget.
- </summary>
- </metric>
- <metric
- name="SubFrame.InteractiveTiming.UserInteractionLatency.HighPercentile2.MaxEventDuration">
- <summary>
- An approximation of a high percentile of user interaction latency of an
- AMP subframe, in ms. For this metric, we measure the latency of user
- interactions by Responsiveness.UserInteraction.MaxEventDuration.
- </summary>
- </metric>
- <metric
- name="SubFrame.InteractiveTiming.WorstUserInteractionLatency.MaxEventduration">
- <summary>
- The maximum value of high percentile of user interaction latency above
- budget of a page load in AMP subframes, in ms. For this metric, we measure
- the latency of user interactions by
- Responsiveness.UserInteraction.MaxEventDuration.
- </summary>
- </metric>
- <metric
- name="SubFrame.InteractiveTiming.WorstUserInteractionLatency.TotalEventduration">
- <obsolete>
- Removed March 2022 in favor of
- SlowUserInteractionLatency.HighPercentile2.MaxEventduration
- </obsolete>
- <summary>
- The maximum value of high percentile of user interaction latency above
- budget of a page load in AMP subframes, in ms. For this metric, we measure
- the latency of user interactions by
- Responsiveness.UserInteraction.TotalEventDuration.
- </summary>
- </metric>
- <metric
- name="SubFrame.InteractiveTiming.WorstUserInteractionLatencyOverBudget.MaxEventduration">
- <obsolete>
- Removed March 2022 in favor of
- SlowUserInteractionLatency.HighPercentile2.MaxEventduration
- </obsolete>
- <summary>
- The maximum value of user interaction latency above budget of a page load
- in AMP subframes, in ms. For this metric, we measure the latency of user
- interactions by Responsiveness.UserInteraction.MaxEventDuration and we
- deduct a budget from the original value. If the latency value is below the
- budget, it will be treated as 0 ms. Each type of interaction has its own
- budget.
- </summary>
- </metric>
- <metric
- name="SubFrame.InteractiveTiming.WorstUserInteractionLatencyOverBudget.TotalEventduration">
- <obsolete>
- Removed March 2022 in favor of
- SlowUserInteractionLatency.HighPercentile2.MaxEventduration
- </obsolete>
- <summary>
- The maximum value of user interaction latency above budget of a page load
- in AMP subframes, in ms. For this metric, we measure the latency of user
- interactions by Responsiveness.UserInteraction.TotalEventDuration and we
- deduct a budget from the original value. If the latency value is below the
- budget, it will be treated as 0 ms. Each type of interaction has its own
- budget.
- </summary>
- </metric>
- <metric
- name="SubFrame.LayoutInstability.AverageCumulativeShiftScore.SessionWindow.Gap5000ms">
- <obsolete>
- Deprecated 06/2021.
- </obsolete>
- <summary>
- Measures the average cumulative layout shift (bit.ly/cls-explainer) that
- has occurred in a session window, in the AMP subframe. The gap between two
- consecutive shifts in a window is not bigger than 5000ms. This metric's
- integral value is 100x the fractional cumulative layout shift score
- described in the explainer.
- </summary>
- </metric>
- <metric name="SubFrame.LayoutInstability.CumulativeShiftScore">
- <summary>
- Measures the cumulative layout shift (bit.ly/lsm-explainer) that has
- occurred during the session, in the AMP subframe. This metric's integral
- value is 100x the fractional cumulative layout shift score described in
- the explainer.
- </summary>
- </metric>
- <metric
- name="SubFrame.LayoutInstability.CumulativeShiftScore.BeforeInputOrScroll">
- <summary>
- Measures the cumulative layout shift (bit.ly/lsm-explainer) that has
- occurred in the AMP subframe, before any user input or document scroll.
- This metric's integral value is 100x the fractional cumulative layout
- shift score described in the explainer.
- </summary>
- </metric>
- <metric
- name="SubFrame.LayoutInstability.MaxCumulativeShiftScore.SessionWindow.Gap1000ms">
- <obsolete>
- Deprecated 06/2021.
- </obsolete>
- <summary>
- Measures the maximum cumulative layout shift (bit.ly/cls-explainer) that
- has occurred in a session window, in the AMP subframe. The gap between two
- consecutive shifts in a window is not bigger than 1000ms. This metric's
- integral value is 100x the fractional cumulative layout shift score
- described in the explainer.
- </summary>
- </metric>
- <metric
- name="SubFrame.LayoutInstability.MaxCumulativeShiftScore.SessionWindow.Gap1000ms.Max5000ms">
- <summary>
- Measures the maximum cumulative layout shift (bit.ly/cls-explainer) that
- has occurred in a session window, in the AMP subframe. The gap between two
- consecutive shifts in a window is not bigger than 1000ms and the maximum
- window size is 5000ms. This metric's integral value is 100x the fractional
- cumulative layout shift score described in the explainer.
- </summary>
- </metric>
- <metric
- name="SubFrame.LayoutInstability.MaxCumulativeShiftScore.SessionWindowByInputs.Gap1000ms.Max5000ms">
- <obsolete>
- Deprecated 06/2021.
- </obsolete>
- <summary>
- Measures the maximum cumulative layout shift (bit.ly/cls-explainer) that
- has occurred in a session window, in the AMP subframe. The gap between two
- consecutive shifts in a window is not bigger than 1000ms and the maximum
- window size is 5000ms. We start a new window whenever there's a user
- input. This metric's integral value is 100x the fractional cumulative
- layout shift score described in the explainer.
- </summary>
- </metric>
- <metric
- name="SubFrame.LayoutInstability.MaxCumulativeShiftScore.SlidingWindow.Duration1000ms">
- <obsolete>
- Deprecated 06/2021.
- </obsolete>
- <summary>
- Measures the maximum cumulative layout shift (bit.ly/cls-explainer) that
- has occurred in a 1000ms sliding window, in the AMP subframe. This
- metric's integral value is 100x the fractional cumulative layout shift
- score described in the explainer.
- </summary>
- </metric>
- <metric
- name="SubFrame.LayoutInstability.MaxCumulativeShiftScore.SlidingWindow.Duration300ms">
- <obsolete>
- Deprecated 06/2021.
- </obsolete>
- <summary>
- Measures the maximum cumulative layout shift (bit.ly/cls-explainer) that
- has occurred in a 300ms sliding window, in the AMP subframe. This metric's
- integral value is 100x the fractional cumulative layout shift score
- described in the explainer.
- </summary>
- </metric>
- <metric name="SubFrame.LayoutStability.JankScore">
- <obsolete>
- Removed July 2019 in favor of
- SubFrame.LayoutInstability.CumulativeShiftScore.
- </obsolete>
- <summary>
- Measures the amount of layout jank (bit.ly/lsm-explainer) that has
- occurred during the session, in the AMP subframe. This metric's integral
- value is 100x the fractional jank score described in the explainer.
- </summary>
- </metric>
- <metric name="SubFrame.MainFrameToSubFrameNavigationDelta">
- <summary>
- Measures the time in milliseconds from the navigation in the main frame to
- the navigation in the AMP subframe. Will be negative in cases where the
- AMP subframe was prerendered. Will be positive in cases where the main
- frame was a non-same-document navigation. Should be near-zero when the
- main frame navigation is a same-document navigation and the AMP subframe
- was not prerendered.
- </summary>
- </metric>
- <metric name="SubFrame.MobileFriendliness.AllowUserZoom" enum="Boolean">
- <summary>
- Whether the page allows the user to zoom in/out, in the AMP subframe.
- </summary>
- </metric>
- <metric name="SubFrame.MobileFriendliness.BadTapTargetsRatio">
- <summary>
- Percentage of tap targets whose center position is within another tap
- target (expanded by a margin), in the AMP subframe. The detail of the
- algorithm is go/bad-tap-target-ukm. If evaluation time budget exceeded,
- this will be is -2.
- </summary>
- </metric>
- <metric name="SubFrame.MobileFriendliness.SmallTextRatio">
- <summary>
- Percentage of small font text area in total text area, in the AMP
- subframe.
- </summary>
- </metric>
- <metric
- name="SubFrame.MobileFriendliness.TextContentOutsideViewportPercentage">
- <summary>
- Percentage of pixels of text and images horizontally outside the viewport,
- relative to the frame width, in the AMP subframe.
- </summary>
- </metric>
- <metric name="SubFrame.MobileFriendliness.ViewportDeviceWidth" enum="Boolean">
- <summary>
- Whether the width of the viewport is specified as device-width or not, in
- the AMP subframe.
- </summary>
- </metric>
- <metric name="SubFrame.MobileFriendliness.ViewportHardcodedWidth">
- <summary>
- Specified hardcoded viewport width in CSS pixels, in the AMP subframe.
- </summary>
- </metric>
- <metric name="SubFrame.MobileFriendliness.ViewportInitialScaleX10">
- <summary>
- Specified initial viewport scaling, in the AMP subframe, multiplied by 10.
- 1 means 0.1, 100 means 10. [1-100].
- </summary>
- </metric>
- <metric
- name="SubFrame.PaintTiming.NavigationToExperimentalLargestContentfulPaint">
- <obsolete>
- Replaced by SubFrame.PaintTiming.NavigationToLargestContentfulPaint2 on
- Oct 2020.
- </obsolete>
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time when the page first paints the experimental largest
- content (text or image) within viewport, in the AMP subframe. See
- http://bit.ly/largest_contentful_paint_explainer for more details. Differs
- from the non-experimental version in that removed content is still
- considered a valid candidate.
- </summary>
- </metric>
- <metric name="SubFrame.PaintTiming.NavigationToFirstContentfulPaint">
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time when the page first paints content, in the AMP subframe.
- A contentful paint includes a paint of text, image, SVG, or canvas.
- </summary>
- </metric>
- <metric name="SubFrame.PaintTiming.NavigationToFirstPaint">
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time the first paint is performed, in the AMP subframe.
- </summary>
- </metric>
- <metric name="SubFrame.PaintTiming.NavigationToLargestContentfulPaint">
- <obsolete>
- Replaced by SubFrame.PaintTiming.NavigationToLargestContentfulPaint2. No
- longer reported from Nov 2021.
- </obsolete>
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time when the page first paints the largest content (text or
- image) within viewport, in the AMP subframe. See
- http://bit.ly/largest_contentful_paint_explainer for more details. Note:
- Will be replaced by
- SubFrame.PaintTiming.NavigationToLargestContentfulPaint2.
- </summary>
- </metric>
- <metric name="SubFrame.PaintTiming.NavigationToLargestContentfulPaint2">
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time when the page first paints the experimental largest
- content (text or image) within viewport, in the AMP subframe. See
- http://bit.ly/largest_contentful_paint_explainer for more details. Differs
- from SubFrame.PaintTiming.NavigationToLargestContentfulPaint in that
- removed content is still considered a valid candidate.
- </summary>
- </metric>
- <metric name="SubFrame.PaintTiming.NavigationToLargestContentPaint">
- <obsolete>
- Deprecated 7/2019
- </obsolete>
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time when the page first paints the largest content (text or
- image) within viewport, in the AMP subframe. See
- http://bit.ly/largest_contentful_paint_explainer for more details.
- </summary>
- </metric>
- <metric name="SubFrameAmpPageLoad">
- <summary>
- True if the page loaded in any subframe is an AMP document (has an amp
- attribute in the html element). Will not be recorded for non-AMP frames.
- Note that most AMP documents are loaded in a subframe from a reader like
- Google Search; this metric measures usage of such readers.
- </summary>
- </metric>
- </event>
- <event name="Android.DarkTheme.AutoDarkMode">
- <owner>nemco@google.com</owner>
- <owner>wenyufu@chromium.org</owner>
- <summary>
- Recorded when the user changes auto-dark theming for a site through the app
- menu.
- </summary>
- <metric name="DisabledByUser" enum="Boolean">
- <summary>
- A boolean signaling that auto-dark theming has been disabled.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="Android.MultiWindowChangeActivity">
- <owner>gangwu@chromium.org</owner>
- <owner>fgorski@chromium.org</owner>
- <summary>
- Records when the activity enter or exit Android N+ multi-window mode.
- </summary>
- <metric name="ActivityType" enum="AndroidMultiWindowActivityType">
- <summary>
- Enter or exit the multi-window mode.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="Android.MultiWindowState">
- <owner>gangwu@chromium.org</owner>
- <owner>fgorski@chromium.org</owner>
- <summary>
- Records the multi window state when the activity is shown.
- </summary>
- <metric name="WindowState" enum="AndroidMultiWindowState">
- <summary>
- The state of the multi-window mode, single or multi-window.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="Android.ScreenRotation">
- <owner>gangwu@chromium.org</owner>
- <owner>fgorski@chromium.org</owner>
- <summary>
- Records when a user rotates the device triggering a screen orientation
- change.
- </summary>
- <metric name="TargetDeviceOrientation" enum="DeviceOrientation2">
- <summary>
- The orientation of the device rotated to.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="Android.UserRequestedUserAgentChange">
- <owner>gangwu@chromium.org</owner>
- <owner>fgorski@chromium.org</owner>
- <summary>
- Records when a user pressed 'Request Desktop Site' in the app menu.
- </summary>
- <metric name="UserAgentType" enum="UserAgentRequestType">
- <summary>
- An enum that records the type of user agent.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="AppListAppClickData">
- <owner>pdyson@chromium.org</owner>
- <summary>
- AppListAppClickData events contain click history metrics for an app. These
- events are recorded when an app is launched from the launcher on ChromeOS,
- but may be for an app different from the app launched. See event
- AppListAppLaunch for more detail on the keys used.
- </summary>
- <metric name="AppLaunchId">
- <summary>
- The ID of the app launch event.
- </summary>
- </metric>
- <metric name="AppType">
- <summary>
- The type of app. 1: CHROME, 2: PLAY, 3: PWA/Bookmark app.
- </summary>
- </metric>
- <metric name="ClickRank">
- <summary>
- Rank apps by total number of clicks. The app with the most clicks has rank
- 1.
- </summary>
- </metric>
- <metric name="ClicksEachHour00">
- <summary>
- The number of clicks on this app in the current session that occurred
- between 12:00am and 1:00am. Bucketing: values above 20 rounded down to the
- nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksEachHour01">
- <summary>
- The number of clicks on this app in the current session that occurred
- between 1:00am and 2:00am. Bucketing: values above 20 rounded down to the
- nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksEachHour02">
- <summary>
- The number of clicks on this app in the current session that occurred
- between 2:00am and 3:00am. Bucketing: values above 20 rounded down to the
- nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksEachHour03">
- <summary>
- The number of clicks on this app in the current session that occurred
- between 3:00am and 4:00am. Bucketing: values above 20 rounded down to the
- nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksEachHour04">
- <summary>
- The number of clicks on this app in the current session that occurred
- between 4:00am and 5:00am. Bucketing: values above 20 rounded down to the
- nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksEachHour05">
- <summary>
- The number of clicks on this app in the current session that occurred
- between 5:00am and 6:00am. Bucketing: values above 20 rounded down to the
- nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksEachHour06">
- <summary>
- The number of clicks on this app in the current session that occurred
- between 6:00am and 7:00am. Bucketing: values above 20 rounded down to the
- nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksEachHour07">
- <summary>
- The number of clicks on this app in the current session that occurred
- between 7:00am and 8:00am. Bucketing: values above 20 rounded down to the
- nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksEachHour08">
- <summary>
- The number of clicks on this app in the current session that occurred
- between 8:00am and 9:00am. Bucketing: values above 20 rounded down to the
- nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksEachHour09">
- <summary>
- The number of clicks on this app in the current session that occurred
- between 9:00am and 10:00am. Bucketing: values above 20 rounded down to the
- nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksEachHour10">
- <summary>
- The number of clicks on this app in the current session that occurred
- between 10:00am and 11:00am. Bucketing: values above 20 rounded down to
- the nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksEachHour11">
- <summary>
- The number of clicks on this app in the current session that occurred
- between 11:00am and 12:00pm. Bucketing: values above 20 rounded down to
- the nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksEachHour12">
- <summary>
- The number of clicks on this app in the current session that occurred
- between 12:00pm and 1:00pm. Bucketing: values above 20 rounded down to the
- nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksEachHour13">
- <summary>
- The number of clicks on this app in the current session that occurred
- between 1:00pm and 2:00pm. Bucketing: values above 20 rounded down to the
- nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksEachHour14">
- <summary>
- The number of clicks on this app in the current session that occurred
- between 2:00pm and 3:00pm. Bucketing: values above 20 rounded down to the
- nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksEachHour15">
- <summary>
- The number of clicks on this app in the current session that occurred
- between 3:00pm and 4:00pm. Bucketing: values above 20 rounded down to the
- nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksEachHour16">
- <summary>
- The number of clicks on this app in the current session that occurred
- between 4:00pm and 5:00pm. Bucketing: values above 20 rounded down to the
- nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksEachHour17">
- <summary>
- The number of clicks on this app in the current session that occurred
- between 5:00pm and 6:00pm. Bucketing: values above 20 rounded down to the
- nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksEachHour18">
- <summary>
- The number of clicks on this app in the current session that occurred
- between 6:00pm and 7:00pm. Bucketing: values above 20 rounded down to the
- nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksEachHour19">
- <summary>
- The number of clicks on this app in the current session that occurred
- between 7:00pm and 8:00pm. Bucketing: values above 20 rounded down to the
- nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksEachHour20">
- <summary>
- The number of clicks on this app in the current session that occurred
- between 8:00pm and 9:00pm. Bucketing: values above 20 rounded down to the
- nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksEachHour21">
- <summary>
- The number of clicks on this app in the current session that occurred
- between 9:00pm and 10:00pm. Bucketing: values above 20 rounded down to the
- nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksEachHour22">
- <summary>
- The number of clicks on this app in the current session that occurred
- between 10:00pm and 11:00pm. Bucketing: values above 20 rounded down to
- the nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksEachHour23">
- <summary>
- The number of clicks on this app in the current session that occurred
- between 11:00pm and 12:00am. Bucketing: values above 20 rounded down to
- the nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksLast24Hours">
- <summary>
- The number of clicks on this app in the last 24 hours. Accurate to 15
- minutes. Bucketing: values above 20 rounded down to the nearest 10.
- Maximum value of 200.
- </summary>
- </metric>
- <metric name="ClicksLastHour">
- <summary>
- The number of clicks on this app in the last hour. Accurate to one minute.
- Bucketing: values above 20 rounded down to the nearest 10. Maximum value
- of 200.
- </summary>
- </metric>
- <metric name="LastLaunchedFrom">
- <summary>
- Where the app was last launched from. 1: GRID, 2: SUGGESTED, 3: SHELF.
- </summary>
- </metric>
- <metric name="MostRecentlyUsedIndex">
- <summary>
- Index recording when in the sequence of app launch clicks the app was last
- clicked on. 0: most recent app clicked on, 1: app clicked immediately
- before the most recent, etc.
- </summary>
- </metric>
- <metric name="SequenceNumber">
- <summary>
- The sequence number of the AppListAppLaunch event that corresponds to this
- AppListAppClickData event. There will be six AppListAppClickData events
- for each sequence number.
- </summary>
- </metric>
- <metric name="TimeSinceLastClick">
- <summary>
- Time since this app was last clicked on to launch. In seconds, bucketed:
- [1, 59] to the nearest second, [60, 599] to the nearest minute, [600,
- 1199] to the nearest 5 minutes, [1200, 3599] to the nearest 10 minutes,
- [3600, 17999] to the nearest 30 minutes, [18000, 86400] to the nearest
- hour.
- </summary>
- </metric>
- <metric name="TotalClicks">
- <summary>
- Total number of clicks launching this app in this sesion. Bucketing:
- values above 20 rounded down to the nearest 10. Maximum value of 200.
- </summary>
- </metric>
- </event>
- <event name="AppListAppLaunch">
- <owner>pdyson@chromium.org</owner>
- <summary>
- Recorded when an app is launched from the launcher on ChromeOS. This can be
- from the suggestion chip, or from the grid of apps. The UKM metrics are not
- keyed by navigational urls. Instead, for Chrome apps the keys are based upon
- the app id, for Play apps the keys are based upon a hash of the package name
- and for PWAs the keys are the urls associated with the PWA.
- </summary>
- <metric name="AllClicksLast24Hours">
- <summary>
- Total number of clicks launching logged apps in the last 24 hours.
- Accurate to the nearest 15 minutes. Bucketing: values above 20 rounded
- down to the nearest 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="AllClicksLastHour">
- <summary>
- Total number of clicks launching logged apps in the last hour. Accurate to
- the nearest minute. Bucketing: values above 20 rounded down to the nearest
- 10. Maximum value of 200.
- </summary>
- </metric>
- <metric name="AppType">
- <summary>
- The type of app. 1: CHROME, 2: PLAY, 3: PWA/Bookmark app.
- </summary>
- </metric>
- <metric name="ClickMethod">
- <summary>
- Click method. 1: MOUSE, 2: TOUCH, 3: SYTLUS, 4: KEYBOARD.
- </summary>
- </metric>
- <metric name="DayOfWeek">
- <summary>
- An enum representing the day of the week that the data was logged in the
- local time zone. Sunday = 0.
- </summary>
- </metric>
- <metric name="DeviceMode">
- <summary>
- The mode of the device. 1: CLOSED_LID (Lid is closed), 2: LAPTOP (Lid is
- open, tablet mode off or unsupported) , 3: TABLET (Lid is open, tablet
- mode on or no lid at all).
- </summary>
- </metric>
- <metric name="DeviceType">
- <summary>
- The type of the device. 1: TABLET, 2: LAPTOP.
- </summary>
- </metric>
- <metric name="HourOfDay">
- <summary>
- The hour of the day when the data is logged. Hours since midnight in the
- local time zone.
- </summary>
- </metric>
- <metric name="LaunchedFrom">
- <summary>
- Where the app was launched from. 1: GRID, 2: SUGGESTED, 3: SHELF.
- </summary>
- </metric>
- <metric name="PositionIndex">
- <summary>
- The position of the app within the grid/suggested apps/shelf. 0 is the
- first position.
- </summary>
- </metric>
- <metric name="TotalHours">
- <summary>
- Number of hours in the current session up to this event. Bucketing:
- exponential buckets, increasing in size by 25%, rounded to the nearest
- integer. i.e. 0, 1, 2, 3, 4, 5, 6, 7, 9, 12, 15, 18, 23, 28, 36, 44...
- </summary>
- </metric>
- </event>
- <event name="AppListNonAppImpression">
- <obsolete>
- Deprecated March 2021.
- </obsolete>
- <owner>jiameng@chromium.org</owner>
- <owner>thanhdng@chromium.org</owner>
- <owner>tby@chromium.org</owner>
- <summary>
- Records details of impressions and launches of non-apps in the ChromeOS
- launcher, such as files, omnibox results, and answer cards.
- </summary>
- <metric name="Category" enum="AppListNonAppImpressionCategory">
- <summary>
- The kind of launcher item. Corresponds to the value of
- ChromeSearchResult::result_[sub]type.
- </summary>
- </metric>
- <metric name="DayOfWeek">
- <summary>
- The day of the week that the event was logged on, in the local time zone.
- Sunday is 0.
- </summary>
- </metric>
- <metric name="DeviceMode" enum="AppListNonAppImpressionDeviceMode">
- <summary>
- The mode of the device.
- </summary>
- </metric>
- <metric name="EventId">
- <summary>
- An ID linking together events within a single set of launcher search
- results. One of these may be a launch, and the rest impressions.
- </summary>
- </metric>
- <metric name="FileExtension" enum="AppListNonAppImpressionFileExtension">
- <summary>
- An enum representing the file extension if this event represents a local
- or DriveFS file.
- </summary>
- </metric>
- <metric name="HourOfDay">
- <summary>
- The hour of the day that the event was logged in. Hours measured from
- midnight in the local timezone.
- </summary>
- </metric>
- <metric name="IsLaunched" enum="Boolean">
- <summary>
- True if the item represented by this event was launched, false otherwise.
- </summary>
- </metric>
- <metric name="LaunchesAtHour00">
- <summary>
- The number of launches within the last 24 hours at hour 0. Rounded down to
- the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="LaunchesAtHour01">
- <summary>
- The number of launches within the last 24 hours at hour 1. Rounded down to
- the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="LaunchesAtHour02">
- <summary>
- The number of launches within the last 24 hours at hour 2. Rounded down to
- the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="LaunchesAtHour03">
- <summary>
- The number of launches within the last 24 hours at hour 3. Rounded down to
- the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="LaunchesAtHour04">
- <summary>
- The number of launches within the last 24 hours at hour 4. Rounded down to
- the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="LaunchesAtHour05">
- <summary>
- The number of launches within the last 24 hours at hour 5. Rounded down to
- the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="LaunchesAtHour06">
- <summary>
- The number of launches within the last 24 hours at hour 6. Rounded down to
- the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="LaunchesAtHour07">
- <summary>
- The number of launches within the last 24 hours at hour 7. Rounded down to
- the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="LaunchesAtHour08">
- <summary>
- The number of launches within the last 24 hours at hour 8. Rounded down to
- the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="LaunchesAtHour09">
- <summary>
- The number of launches within the last 24 hours at hour 9. Rounded down to
- the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="LaunchesAtHour10">
- <summary>
- The number of launches within the last 24 hours at hour 10. Rounded down
- to the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="LaunchesAtHour11">
- <summary>
- The number of launches within the last 24 hours at hour 11. Rounded down
- to the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="LaunchesAtHour12">
- <summary>
- The number of launches within the last 24 hours at hour 12. Rounded down
- to the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="LaunchesAtHour13">
- <summary>
- The number of launches within the last 24 hours at hour 13. Rounded down
- to the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="LaunchesAtHour14">
- <summary>
- The number of launches within the last 24 hours at hour 14. Rounded down
- to the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="LaunchesAtHour15">
- <summary>
- The number of launches within the last 24 hours at hour 15. Rounded down
- to the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="LaunchesAtHour16">
- <summary>
- The number of launches within the last 24 hours at hour 16. Rounded down
- to the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="LaunchesAtHour17">
- <summary>
- The number of launches within the last 24 hours at hour 17. Rounded down
- to the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="LaunchesAtHour18">
- <summary>
- The number of launches within the last 24 hours at hour 18. Rounded down
- to the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="LaunchesAtHour19">
- <summary>
- The number of launches within the last 24 hours at hour 19. Rounded down
- to the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="LaunchesAtHour20">
- <summary>
- The number of launches within the last 24 hours at hour 20. Rounded down
- to the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="LaunchesAtHour21">
- <summary>
- The number of launches within the last 24 hours at hour 21. Rounded down
- to the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="LaunchesAtHour22">
- <summary>
- The number of launches within the last 24 hours at hour 22. Rounded down
- to the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="LaunchesAtHour23">
- <summary>
- The number of launches within the last 24 hours at hour 23. Rounded down
- to the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="LaunchesThisSession">
- <summary>
- How many times this item has been launched during this session. Rounded
- down to the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="Position">
- <summary>
- The index of this item in the search results list. Indices start at 0.
- </summary>
- </metric>
- <metric name="QueryLength">
- <summary>
- The length of the raw search query with whitespace trimmed. Rounded down
- to the nearest exponential bucket, with a bucket ratio of 1.15.
- </summary>
- </metric>
- <metric name="RelevanceScore">
- <summary>
- The raw relevance score returned by the relevant search provider for this
- item.
- </summary>
- </metric>
- <metric name="TimeOfLastLaunch">
- <summary>
- The hour when the previous launch of this item occurred. Hours measured
- from midnight in the local timezone. This can be any value 0-23, as the
- last launch could have been on a previous day.
- </summary>
- </metric>
- <metric name="TimeSinceLastLaunch">
- <summary>
- Seconds since this item was last launched in this session. Rounded down to
- the nearest exponential bucket, with a bucket ratio of 1.045. This makes
- the bucket at 24 hour mark approximately 1 hour long.
- </summary>
- </metric>
- </event>
- <event name="Autofill.CardUploadDecision">
- <owner>sebsg@chromium.org</owner>
- <metric name="UploadDecision">
- <summary>
- Whether the upload was proposed to the user or the reasons why it was not.
- The value is a bitmask of |CardUploadDecisionMetric|.
- </summary>
- </metric>
- </event>
- <event name="Autofill.CreditCardFill">
- <owner>schwering@google.com</owner>
- <summary>
- Recorded when a credit card form is autofilled.
- </summary>
- <metric name="Fillable.AfterSecurity.Bitmask"
- enum="AutofillCreditCardSeamlessnessBitmask">
- <summary>
- Logs the field types which Autofill would have filled if the credit card
- on file was complete.
- </summary>
- </metric>
- <metric name="Fillable.AfterSecurity.Qualitative"
- enum="CreditCardSeamlessFill">
- <summary>
- Logs a qualitative summary of the field types which Autofill would have
- filled if the credit card on file was complete.
- </summary>
- </metric>
- <metric name="Fillable.AfterSecurity.Visible.Bitmask"
- enum="AutofillCreditCardSeamlessnessBitmask">
- <summary>
- Logs the field types which Autofill would have filled into visible fields
- if the credit card on file was complete.
- </summary>
- </metric>
- <metric name="Fillable.AfterSecurity.Visible.Qualitative"
- enum="CreditCardSeamlessFill">
- <summary>
- Logs a qualitative summary of the field types which Autofill would have
- filled into visible fields if the credit card on file was complete.
- </summary>
- </metric>
- <metric name="Fillable.BeforeSecurity.Bitmask"
- enum="AutofillCreditCardSeamlessnessBitmask">
- <summary>
- Logs the field types which Autofill would have filled if the credit card
- on file was complete and there was no security policy.
- </summary>
- </metric>
- <metric name="Fillable.BeforeSecurity.Qualitative"
- enum="CreditCardSeamlessFill">
- <summary>
- Logs a qualitative summary of the field types which Autofill would have
- filled if the credit card on file was complete and there was no security
- policy.
- </summary>
- </metric>
- <metric name="Fillable.BeforeSecurity.Visible.Bitmask"
- enum="AutofillCreditCardSeamlessnessBitmask">
- <summary>
- Logs the field types which Autofill would have filled into visible fields
- if the credit card on file was complete and there was no security policy.
- </summary>
- </metric>
- <metric name="Fillable.BeforeSecurity.Visible.Qualitative"
- enum="CreditCardSeamlessFill">
- <summary>
- Logs a qualitative summary of the field types which Autofill would have
- filled into visible fields if the credit card on file was complete and
- there was no security policy.
- </summary>
- </metric>
- <metric name="Filled.AfterSecurity.Bitmask"
- enum="AutofillCreditCardSeamlessnessBitmask">
- <summary>
- Logs the field types which Autofill actually filled.
- </summary>
- </metric>
- <metric name="Filled.AfterSecurity.Qualitative" enum="CreditCardSeamlessFill">
- <summary>
- Logs a qualitative summary of the field types which Autofill actually
- filled.
- </summary>
- </metric>
- <metric name="Filled.AfterSecurity.Visible.Bitmask"
- enum="AutofillCreditCardSeamlessnessBitmask">
- <summary>
- Logs the field types which Autofill actually filled into visible fields.
- </summary>
- </metric>
- <metric name="Filled.AfterSecurity.Visible.Qualitative"
- enum="CreditCardSeamlessFill">
- <summary>
- Logs a qualitative summary of the field types which Autofill actually
- filled into visible fields.
- </summary>
- </metric>
- <metric name="Filled.BeforeSecurity.Bitmask"
- enum="AutofillCreditCardSeamlessnessBitmask">
- <summary>
- Logs the field types which Autofill would have filled if there was no
- security policy.
- </summary>
- </metric>
- <metric name="Filled.BeforeSecurity.Qualitative"
- enum="CreditCardSeamlessFill">
- <summary>
- Logs a qualitative summary of the field types which Autofill would have
- filled if there was no security policy.
- </summary>
- </metric>
- <metric name="Filled.BeforeSecurity.Visible.Bitmask"
- enum="AutofillCreditCardSeamlessnessBitmask">
- <summary>
- Logs the field types which Autofill would have filled into visible fields
- if there was no security policy.
- </summary>
- </metric>
- <metric name="Filled.BeforeSecurity.Visible.Qualitative"
- enum="CreditCardSeamlessFill">
- <summary>
- Logs a qualitative summary of the field types which Autofill would have
- filled into visible fields if there was no security policy.
- </summary>
- </metric>
- <metric name="FormSignature">
- <summary>
- An approximately 10-bit hash of the form's actual signature.
- </summary>
- </metric>
- <metric name="SharedAutofill" enum="Boolean">
- <summary>
- Missing shared-autofill feature prevented a cross-origin credit-card field
- from being filled. Shared-autofill is a policy-controlled feature by which
- a frame can allow a child-frame to be autofilled across origin.
- </summary>
- </metric>
- </event>
- <event name="Autofill.DeveloperEngagement">
- <owner>jiahuiguo@google.com</owner>
- <summary>
- Recorded when we parse a form to log whether developer has used autocomplete
- markup or UPI-VPA hints. The value is a bitmask of
- |DeveloperEngagementMetric|.
- </summary>
- <metric name="DeveloperEngagement"/>
- <metric name="FormSignature">
- <summary>
- The signature of the form. This is the hash identifier used to denote this
- form for query and voting purposes. See
- components/autofill/core/common/signatures_util.cc for more details.
- </summary>
- </metric>
- <metric name="FormTypes">
- <summary>
- Type of form. Stored as bitvector. A set ith bit implies enum FormType's
- ith type was detected. Multiple types are possible.
- </summary>
- </metric>
- <metric name="IsForCreditCard">
- <summary>
- True for credit card forms, false for address/profile forms. See
- |FormStructure::IsCompleteCreditCardForm()|.
- </summary>
- </metric>
- </event>
- <event name="Autofill.EditedAutofilledFieldAtSubmission">
- <owner>koerber@google.com</owner>
- <owner>battre@google.com</owner>
- <summary>
- Records when a user edits a value that was filled by autofill.
- </summary>
- <metric name="FieldSignature">
- <summary>
- The signature of the field. This is the hash identifier used to denote
- this field for query and voting purposes. See
- components/autofill/core/common/signatures_util.cc for more details.
- </summary>
- </metric>
- <metric name="FormSignature">
- <summary>
- The signature of the form. This is the hash identifier used to denote this
- form for query and voting purposes. See
- components/autofill/core/common/signatures_util.cc for more details.
- </summary>
- </metric>
- <metric name="OverallType" enum="AutofillServerFieldType">
- <summary>
- Field's overall |ServerFieldType|. See: autofill::ServerFieldType
- </summary>
- </metric>
- </event>
- <event name="Autofill.FieldFillStatus">
- <owner>rogerm@chromium.org</owner>
- <summary>
- Recorded when Chrome validates field type predictions (on submit, on leaving
- a form, on receiving a form with autocomplete attributes).
- </summary>
- <metric name="FieldSignature">
- <summary>
- The signature of the field. This is the hash identifier used to denote
- this field for query and voting purposes. See
- components/autofill/core/common/signatures_util.cc for more details.
- </summary>
- </metric>
- <metric name="FormSignature">
- <summary>
- The signature of the form. This is the hash identifier used to denote this
- form for query and voting purposes. See
- components/autofill/core/common/signatures_util.cc for more details.
- </summary>
- </metric>
- <metric name="IsAutofilled">
- <summary>
- The field is currently autofilled.
- </summary>
- </metric>
- <metric name="MillisecondsSinceFormParsed">
- <summary>
- Time since form parse.
- </summary>
- </metric>
- <metric name="PredictionSource">
- <summary>
- The system which generated the prediction: heuristics, server, overall.
- </summary>
- </metric>
- <metric name="ValidationEvent">
- <summary>
- The event which triggered the validation: Submission, Left Form, Form has
- Autocomplete attributes.
- </summary>
- </metric>
- <metric name="WasPreviouslyAutofilled">
- <summary>
- The field was autofilled and subsequently edited.
- </summary>
- </metric>
- </event>
- <event name="Autofill.FieldTypeValidation">
- <owner>rogerm@chromium.org</owner>
- <summary>
- Recorded when Chrome validates field type predictions (on submit, on leaving
- a form, on receiving a form with autocomplete attributes).
- </summary>
- <metric name="ActualType" enum="AutofillServerFieldType">
- <summary>
- The observed type of the field. See: autofill::ServerFieldType
- </summary>
- </metric>
- <metric name="FieldSignature">
- <summary>
- The signature of the field
- </summary>
- </metric>
- <metric name="FormSignature">
- <summary>
- The signature of the form.
- </summary>
- </metric>
- <metric name="MillisecondsSinceFormParsed">
- <summary>
- Time since form parse.
- </summary>
- </metric>
- <metric name="PredictedType" enum="AutofillServerFieldType">
- <summary>
- The predicted type of the field. See: autofill::ServerFieldType
- </summary>
- </metric>
- <metric name="PredictionSource" enum="AutofillPredictionSource">
- <summary>
- The system which generated the prediction: heuristics, server, overall.
- </summary>
- </metric>
- <metric name="ValidationEvent" enum="AutofillQualitiyMetricType">
- <summary>
- The event which triggered the validation: Submission, Left Form, Form has
- Autocomplete attributes.
- </summary>
- </metric>
- </event>
- <event name="Autofill.FormEvent">
- <owner>dlkumar@google.com</owner>
- <summary>
- Recorded when user interacted with autofill.
- </summary>
- <metric name="AutofillFormEvent">
- <summary>
- Logs autofill form events funnel. See |FormEvent|.
- </summary>
- </metric>
- <metric name="FormTypes">
- <summary>
- Type of form. Stored as bitvector. A set ith bit implies enum FormType's
- ith type was detected. Multiple types are possible.
- </summary>
- </metric>
- <metric name="MillisecondsSinceFormParsed">
- <summary>
- Time since form parse.
- </summary>
- </metric>
- </event>
- <event name="Autofill.FormFillSuccessIOS">
- <owner>kazinova@google.com</owner>
- <summary>
- Records whether the the form was successfully filled by Autofill on iOS. The
- metric is used to measure silent renderer fails when the filling request is
- executed successfully but the results reported in a callback are empty.
- </summary>
- <metric name="FormFillSuccess" enum="Boolean">
- <summary>
- A boolean indicating success or failure.
- </summary>
- </metric>
- </event>
- <event name="Autofill.FormSubmitted">
- <owner>jiahuiguo@google.com</owner>
- <summary>
- Recorded when user submits a form.
- </summary>
- <metric name="AutocompleteFills">
- <summary>
- Number of Autocomplete fills invoked by the user on the current form.
- </summary>
- </metric>
- <metric name="AutofillFills">
- <summary>
- Number of Autofill fills invoked by the user on the current form.
- </summary>
- </metric>
- <metric name="AutofillFormSubmittedState">
- <summary>
- Whether form's fields were all autofilled, some fields were autofilled, or
- none of the field were autofilled. See |AutofillFormSubmittedState|.
- </summary>
- </metric>
- <metric name="FormElementUserModifications">
- <summary>
- Number of times a user focused on a form element and changed its value.
- Consecutive value changes on the same form element are not counted,
- neither are JS invoked changes. Also, re-focusing a form element and
- changing its value is only counted if another form element's value was
- changed in the meantime.
- </summary>
- </metric>
- <metric name="FormSignature">
- <summary>
- FormSignature is approximately 10 bit hash of form structure.
- </summary>
- </metric>
- <metric name="FormTypes">
- <summary>
- Type of form. Stored as bitvector. A set ith bit implies enum FormType's
- ith type was detected. Multiple types are possible.
- </summary>
- </metric>
- <metric name="HasUpiVpaField">
- <summary>
- True for forms containing a UPI/VPA field.
- </summary>
- </metric>
- <metric name="IsForCreditCard">
- <summary>
- True for credit card forms, false for address/profile forms. See
- |FormStructure::IsCompleteCreditCardForm()|.
- </summary>
- </metric>
- <metric name="MillisecondsSinceFormParsed">
- <summary>
- Time since form parse.
- </summary>
- </metric>
- </event>
- <event name="Autofill.HiddenRepresentationalFieldSkipDecision">
- <owner>parastoog@chromium.org</owner>
- <summary>
- Recorded while trying to fill or preview a hidden or a representational
- field.
- </summary>
- <metric name="FieldOverallType">
- <summary>
- Field's overall |ServerFieldType|. See |AutofillField.GetStorableType()|.
- </summary>
- </metric>
- <metric name="FieldSignature">
- <summary>
- The signature of the field. This is the hash identifier used to denote
- this field for query and voting purposes. See
- components/autofill/core/common/signatures_util.cc for more details.
- </summary>
- </metric>
- <metric name="FieldTypeGroup">
- <summary>
- Field's |FieldTypeGroup|. See |AutofillType.group()|.
- </summary>
- </metric>
- <metric name="FormSignature">
- <summary>
- The signature of the form. This is the hash identifier used to denote this
- form for query and voting purposes. See
- components/autofill/core/common/signatures_util.cc for more details.
- </summary>
- </metric>
- <metric name="HeuristicType">
- <summary>
- Field's |ServerFieldType| based on heuristics. See
- |AutofillField.heuristic_type()|.
- </summary>
- </metric>
- <metric name="HtmlFieldMode">
- <summary>
- Whether the field's autocomplete hint specified 'billing' or 'shipping'.
- See |AutofillField.html_mode()|.
- </summary>
- </metric>
- <metric name="HtmlFieldType">
- <summary>
- Field's autocomplete field type hint. See |AutofillField.html_type()|.
- </summary>
- </metric>
- <metric name="IsSkipped">
- <summary>
- True if the field was skipped while filling or previewing the form,
- because it was hidden or representational, but not a 'select' one.
- </summary>
- </metric>
- <metric name="ServerType">
- <summary>
- Field's |ServerFieldType| returned by server. See
- |AutofillField.server_type()|.
- </summary>
- </metric>
- </event>
- <event name="Autofill.InteractedWithForm">
- <owner>jiahuiguo@google.com</owner>
- <summary>
- Recorded when we parse a form to log form metadata and autofill settings
- that apply to all subsequent events for this form.
- </summary>
- <metric name="FormSignature">
- <summary>
- FormSignature is approximately 10 bit hash of form structure.
- </summary>
- </metric>
- <metric name="FormTypes">
- <summary>
- Type of form. Stored as bitvector. A set ith bit implies enum FormType's
- ith type was detected. Multiple types are possible.
- </summary>
- </metric>
- <metric name="IsForCreditCard">
- <summary>
- True for credit card forms, false for address/profile forms.
- </summary>
- </metric>
- <metric name="LocalRecordTypeCount">
- <summary>
- Number of local credit cards or local autofill profiles.
- </summary>
- </metric>
- <metric name="ServerRecordTypeCount">
- <summary>
- Number of masked and full server credit cards or server autofill profiles.
- </summary>
- </metric>
- </event>
- <event name="Autofill.KeyMetrics">
- <owner>battre@chromium.org</owner>
- <owner>kolos@chromium.org</owner>
- <owner>nepper@chromium.org</owner>
- <summary>
- These metrics are a clone of Autofill's UMA key metrics to measure Autofill
- quality. They are recorded on navigation if a form was submitted before.
- </summary>
- <metric name="AutofillAssistantIntent" enum="AutofillAssistantIntent">
- <summary>
- Describes the trigger source that invoked Autofill. Only recorded if
- AutofillAssistantIntent was not undefined.
- </summary>
- </metric>
- <metric name="FillingAcceptance">
- <summary>
- Has value 1 if user accepted the suggestion to fill values on a submitted
- form, 0 otherwise. This is counted as 1 if the user accepted such a
- suggestion at any time, regardless whether other suggestions were ignored
- or whether the accepted suggestion was reverted afterwards. Only recorded
- if suggestions were shown to the user.
- </summary>
- </metric>
- <metric name="FillingAssistance">
- <summary>
- Has value 1 if the user filled any fields via Autofill on a submitted
- form, 0 otherwise.
- If the user reverts the filling, the form is still counted as filled.
- This metric is different from FillingAcceptance in the sense that the
- latter is only recorded if the user has actually seen a prompt to fill
- data.
- </summary>
- </metric>
- <metric name="FillingCorrectness">
- <summary>
- Has value 1 for submitted and autofilled forms if user edited at least one
- filled value before submitting the form, 0 otherwise. Only recorded if any
- suggestion was filled.
- </summary>
- </metric>
- <metric name="FillingReadiness">
- <summary>
- Has value 1 for submitted forms when Chromium had any address or payments
- data to fill, 0 otherwise.
- It does not matter whether the user actually requested to fill the data.
- It does not matter either whether the data available for filling
- corresponded to the submitted data.
- </summary>
- </metric>
- <metric name="FormTypes">
- <summary>
- Type of form. Stored as bitvector. A set ith bit implies enum FormType's
- ith type was detected. Multiple types are possible.
- </summary>
- </metric>
- </event>
- <event name="Autofill.RepeatedServerTypePredictionRationalized">
- <owner>parastoog@chromium.org</owner>
- <summary>
- Recorded when a field type predicted by server is rationalized because of
- repetition.
- </summary>
- <metric name="FieldNewOverallType">
- <summary>
- Field's overall |ServerFieldType| after rationalization. See
- |AutofillField.GetStorableType()|.
- </summary>
- </metric>
- <metric name="FieldOldOverallType">
- <summary>
- Field's overall |ServerFieldType| before rationalization. See
- |AutofillField.GetStorableType()|.
- </summary>
- </metric>
- <metric name="FieldSignature">
- <summary>
- The signature of the field. This is the hash identifier used to denote
- this field for query and voting purposes. See
- components/autofill/core/common/signatures_util.cc for more details.
- </summary>
- </metric>
- <metric name="FieldTypeGroup">
- <summary>
- Field's |FieldTypeGroup|. See |AutofillType.group()|.
- </summary>
- </metric>
- <metric name="FormSignature">
- <summary>
- The signature of the form. This is the hash identifier used to denote this
- form for query and voting purposes. See
- components/autofill/core/common/signatures_util.cc for more details.
- </summary>
- </metric>
- <metric name="HeuristicType">
- <summary>
- Field's |ServerFieldType| based on heuristics. See
- |AutofillField.heuristic_type()|.
- </summary>
- </metric>
- <metric name="HtmlFieldMode">
- <summary>
- Whether the field's autocomplete hint specified 'billing' or 'shipping'.
- See |AutofillField.html_mode()|.
- </summary>
- </metric>
- <metric name="HtmlFieldType">
- <summary>
- Field's autocomplete field type hint. See |AutofillField.html_type()|.
- </summary>
- </metric>
- <metric name="ServerType">
- <summary>
- Field's |ServerFieldType| returned by server. See
- |AutofillField.server_type()|.
- </summary>
- </metric>
- </event>
- <event name="Autofill.SelectedMaskedServerCard">
- <obsolete>
- Deprecated 2/2019
- </obsolete>
- <owner>jiahuiguo@google.com</owner>
- <metric name="MillisecondsSinceFormParsed">
- <summary>
- Obsolete.
- Time since form parse.
- </summary>
- </metric>
- </event>
- <event name="Autofill.SuggestionFilled">
- <owner>jiahuiguo@google.com</owner>
- <summary>
- Recorded when user selects a suggestion and we fill the form with that
- suggestion.
- </summary>
- <metric name="FieldSignature">
- <summary>
- The signature of the field
- </summary>
- </metric>
- <metric name="FormSignature">
- <summary>
- The signature of the form.
- </summary>
- </metric>
- <metric name="IsForCreditCard">
- <summary>
- True for credit card forms, false for address/profile forms.
- </summary>
- </metric>
- <metric name="MillisecondsSinceFormParsed">
- <summary>
- Time since form parse.
- </summary>
- </metric>
- <metric name="RecordType">
- <summary>
- Whether the suggestion was from a local card/autofill profile or from a
- server card/autofill profile.
- </summary>
- </metric>
- </event>
- <event name="Autofill.SuggestionsShown">
- <owner>jiahuiguo@google.com</owner>
- <summary>
- Recorded when a suggestion is shown to user.
- </summary>
- <metric name="FieldSignature">
- <summary>
- The signature of the field
- </summary>
- </metric>
- <metric name="FormSignature">
- <summary>
- The signature of the form.
- </summary>
- </metric>
- <metric name="HeuristicType">
- <summary>
- Field's |ServerFieldType| based on heuristics. See
- |AutofillField.heuristic_type()|.
- </summary>
- </metric>
- <metric name="HtmlFieldType">
- <summary>
- Field's autocomplete field type hint. See |AutofillField.html_type()|.
- </summary>
- </metric>
- <metric name="MillisecondsSinceFormParsed">
- <summary>
- Time since form parse.
- </summary>
- </metric>
- <metric name="ServerType">
- <summary>
- Field's |ServerFieldType| returned by server. See
- |AutofillField.server_type()|.
- </summary>
- </metric>
- </event>
- <event name="Autofill.TextFieldDidChange">
- <owner>jiahuiguo@google.com</owner>
- <summary>
- Recorded when user edits a text field. The text field may have been
- autofilled.
- </summary>
- <metric name="FieldSignature">
- <summary>
- The signature of the field
- </summary>
- </metric>
- <metric name="FieldTypeGroup">
- <summary>
- Field's |FieldTypeGroup|. See |AutofillType.group()|.
- </summary>
- </metric>
- <metric name="FormSignature">
- <summary>
- The signature of the form.
- </summary>
- </metric>
- <metric name="HeuristicType">
- <summary>
- Field's |ServerFieldType| based on heuristics. See
- |AutofillField.heuristic_type()|.
- </summary>
- </metric>
- <metric name="HtmlFieldMode">
- <summary>
- Whether the field's autocomplete hint specified 'billing' or 'shipping'.
- See |AutofillField.html_mode()|.
- </summary>
- </metric>
- <metric name="HtmlFieldType">
- <summary>
- Field's autocomplete field type hint. See |AutofillField.html_type()|.
- </summary>
- </metric>
- <metric name="IsAutofilled">
- <summary>
- True if the field was autofilled. See |AutofillField.is_autofilled|.
- </summary>
- </metric>
- <metric name="IsEmpty">
- <summary>
- True if the field was empty. See |AutofillField.IsEmpty()|.
- </summary>
- </metric>
- <metric name="MillisecondsSinceFormParsed">
- <summary>
- Time since form parse.
- </summary>
- </metric>
- <metric name="ServerType">
- <summary>
- Field's |ServerFieldType| returned by server. See
- |AutofillField.server_type()|.
- </summary>
- </metric>
- </event>
- <event name="AutofillAssistant.CollectContact">
- <owner>hluca@google.com</owner>
- <owner>autofill_assistant@google.com</owner>
- <summary>
- A set of metrics about the collection of the user's contact data.
- </summary>
- <metric name="CompleteContactProfilesCount"
- enum="AutofillAssistantUserDataEntryCount">
- <summary>
- The number of the user's contact profiles which are considered complete
- for the purposes of the current Autofill Assistant flow.
- </summary>
- </metric>
- <metric name="ContactModified" enum="AutofillAssistantUserDataSelectionState">
- <summary>
- What kind of operation the user did to the contact data (e.g. kept the
- default value, edited it, etc.)
- </summary>
- </metric>
- <metric name="IncompleteContactProfilesCount"
- enum="AutofillAssistantUserDataEntryCount">
- <summary>
- The number of the user's contact profiles which are considered incomplete
- for the purposes of the current Autofill Assistant flow.
- </summary>
- </metric>
- <metric name="InitialContactFieldsStatus">
- <summary>
- A bit array of whether a given field is present. Only logged for the
- preselected contact profile.
- </summary>
- </metric>
- </event>
- <event name="AutofillAssistant.CollectPayment">
- <owner>hluca@google.com</owner>
- <owner>autofill_assistant@google.com</owner>
- <summary>
- A set of metrics about the collection of the user's payment details.
- </summary>
- <metric name="CompleteCreditCardsCount"
- enum="AutofillAssistantUserDataEntryCount">
- <summary>
- The number of the user's credit cards which are considered complete for
- the purposes of the current Autofill Assistant flow.
- </summary>
- </metric>
- <metric name="CreditCardModified"
- enum="AutofillAssistantUserDataSelectionState">
- <summary>
- What kind of operation the user did to the payment data (e.g. kept the
- default value, edited it, etc.)
- </summary>
- </metric>
- <metric name="IncompleteCreditCardsCount"
- enum="AutofillAssistantUserDataEntryCount">
- <summary>
- The number of the user's credit cards which are considered incomplete for
- the purposes of the current Autofill Assistant flow.
- </summary>
- </metric>
- <metric name="InitialBillingAddressFieldsStatus">
- <summary>
- A bit array of whether a given field is present. Only logged for the
- billing address of the preselected credit card.
- </summary>
- </metric>
- <metric name="InitialCreditCardFieldsStatus">
- <summary>
- A bit array of whether a given field is present. Only logged for the
- preselected credit card
- </summary>
- </metric>
- </event>
- <event name="AutofillAssistant.CollectShippingAddress">
- <owner>hluca@google.com</owner>
- <owner>autofill_assistant@google.com</owner>
- <summary>
- A set of metrics about the collection of the user's shipping address.
- </summary>
- <metric name="CompleteShippingProfilesCount"
- enum="AutofillAssistantUserDataEntryCount">
- <summary>
- The number of the user's shipping address profiles which are considered
- complete for the purposes of the current Autofill Assistant flow.
- </summary>
- </metric>
- <metric name="IncompleteShippingProfilesCount"
- enum="AutofillAssistantUserDataEntryCount">
- <summary>
- The number of the user's shipping address profiles which are considered
- incomplete for the purposes of the current Autofill Assistant flow.
- </summary>
- </metric>
- <metric name="InitialShippingFieldsStatus">
- <summary>
- A bit array of whether a given field is present. Only logged for the
- preselected shipping address.
- </summary>
- </metric>
- <metric name="ShippingModified"
- enum="AutofillAssistantUserDataSelectionState">
- <summary>
- What kind of operation the user did to the shipping data (e.g. kept the
- default value, edited it, etc.)
- </summary>
- </metric>
- </event>
- <event name="AutofillAssistant.CollectUserDataResult">
- <owner>hluca@google.com</owner>
- <owner>autofill_assistant@google.com</owner>
- <summary>
- The result of the CollectUserData action.
- </summary>
- <metric name="Result" enum="AutofillAssistantCollectUserDataResult">
- <summary>
- The result of the CollectUserData action.
- </summary>
- </metric>
- <metric name="TimeTakenMs">
- <summary>
- The time it took the user to complete the action, from when it was
- prompted to them to when the action finished, either succesfully or not.
- </summary>
- </metric>
- <metric name="UserDataSource" enum="AutofillAssistantUserDataSource">
- <summary>
- The source of the user data for the CollectUserData action.
- </summary>
- </metric>
- </event>
- <event name="AutofillAssistant.FlowFinished">
- <owner>arbesser@google.com</owner>
- <owner>fga@google.com</owner>
- <owner>autofill_assistant@google.com</owner>
- <summary>
- A set of metrics that are recorded at the end of a flow. Once an autofill
- assistant flow has started, this event will be recorded exactly once at the
- end of it. Metrics in this event describe aggregated statistics of the flow.
- </summary>
- <metric name="FlowFinishedState" enum="AutofillAssistantFlowFinishedState">
- <summary>
- An enum capturing whether the flow ended successfully or not.
- </summary>
- </metric>
- <metric name="NumActions">
- <summary>
- The total number of actions received, across all roundtrips of this flow.
- </summary>
- </metric>
- <metric name="NumJsFlowActions">
- <summary>
- The total number of JS flow actions received, summed over all GetActions
- responses.
- </summary>
- </metric>
- <metric name="NumRoundtrips">
- <summary>
- The total number of roundtrips during this flow.
- </summary>
- </metric>
- <metric name="TotalDecodedGetActionsSizeInBytes">
- <summary>
- The total size of all received GetActions responses, summed over all
- downloaded responses after decoding, in bytes. This number is
- exponentially bucketed and uses the UKM GetExponentialBucketMinForBytes
- method with a default value of 1.3 for spacing.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="TotalDecodedJsFlowSizeInBytes">
- <summary>
- The total size of all JS flow actions received, summed over all GetActions
- responses, in bytes. This number is exponentially bucketed and uses the
- UKM GetExponentialBucketMinForBytes method with a default value of 1.3 for
- spacing.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="TotalEncodedGetActionsSizeInBytes">
- <summary>
- The total number of bytes that were received from the GetActions RPC,
- summed over all downloaded responses before decoding, in bytes. This
- number is exponentially bucketed and uses the UKM
- GetExponentialBucketMinForBytes method with a default value of 1.3 for
- spacing.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="AutofillAssistant.InChromeTriggering">
- <owner>arbesser@google.com</owner>
- <owner>mcarlen@google.com</owner>
- <owner>marianfe@google.com</owner>
- <summary>
- Recorded when a navigation finishes successfully (is committed and not an
- error page), if autofill_assistant and its proactive help setting are
- enabled and MSBB is turned on.
- </summary>
- <metric name="InChromeTriggerAction"
- enum="AutofillAssistantInChromeTriggerAction">
- <summary>
- An enum that captures the trigger action the client chose for a specific
- URL.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="AutofillAssistant.LiteScriptFinished">
- <owner>arbesser@google.com</owner>
- <owner>mcarlen@google.com</owner>
- <owner>marianfe@google.com</owner>
- <summary>
- Recorded when a lite script has finished, either because the user made a
- choice, or because some error occurred.
- </summary>
- <metric name="LiteScriptFinished" enum="AutofillAssistantLiteScriptFinished">
- <summary>
- An enum that describes the different ways a lite script can finish. Users
- may click continue, cancel, or indirectly abort the experience in various
- ways. See components/autofill_assistant/browser/metrics.h.
- </summary>
- <aggregation>
- <history>
- <index fields="metrics.TriggerUIType"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="TriggerUIType" enum="AutofillAssistantTriggerUIType">
- <summary>
- A enum that captures the type of trigger and its intent.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="AutofillAssistant.LiteScriptOnboarding">
- <owner>arbesser@google.com</owner>
- <owner>mcarlen@google.com</owner>
- <owner>marianfe@google.com</owner>
- <summary>
- Recorded after a user has finished a lite script flow and accepted the final
- prompt in it.
- </summary>
- <metric name="LiteScriptOnboarding"
- enum="AutofillAssistantLiteScriptOnboarding">
- <summary>
- An enum that describes whether users who have successfully finished a lite
- script also accepted the onboarding or not. See
- components/autofill_assistant/browser/metrics.h.
- </summary>
- <aggregation>
- <history>
- <index fields="metrics.TriggerUIType"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="TriggerUIType" enum="AutofillAssistantTriggerUIType">
- <summary>
- A enum that captures the type of trigger and its intent.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="AutofillAssistant.LiteScriptShownToUser">
- <owner>arbesser@google.com</owner>
- <owner>mcarlen@google.com</owner>
- <owner>marianfe@google.com</owner>
- <summary>
- Recorded when a lite script starts and when the UI is shown to the user.
- </summary>
- <metric name="LiteScriptShownToUser"
- enum="AutofillAssistantLiteScriptShownToUser">
- <summary>
- An enum that captures the number of times a lite script was displayed,
- versus the number of times that the lite script was run in total. See
- components/autofill_assistant/browser/metrics.h.
- </summary>
- <aggregation>
- <history>
- <index fields="metrics.TriggerUIType"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="TriggerUIType" enum="AutofillAssistantTriggerUIType">
- <summary>
- A enum that captures the type of trigger and its intent.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="AutofillAssistant.LiteScriptStarted">
- <owner>arbesser@google.com</owner>
- <owner>mcarlen@google.com</owner>
- <owner>marianfe@google.com</owner>
- <summary>
- Recorded at the time when the decision is made to start (or not to start) a
- lite script.
- </summary>
- <metric name="LiteScriptStarted" enum="AutofillAssistantLiteScriptStarted">
- <summary>
- An enum that captures the different ways a lite script may be started or
- suppressed. See components/autofill_assistant/browser/metrics.h.
- </summary>
- <aggregation>
- <history>
- <index fields="metrics.TriggerUIType"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="TriggerUIType" enum="AutofillAssistantTriggerUIType">
- <summary>
- A enum that captures the type of trigger and its intent.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="AutofillAssistant.RegularScriptOnboarding">
- <owner>arbesser@google.com</owner>
- <owner>hluca@google.com</owner>
- <owner>autofill_assistant@google.com</owner>
- <summary>
- Various metrics related to the onboarding during regular scripts. This is
- recorded at the start of a regular script.
- </summary>
- <metric name="Onboarding" enum="AutofillAssistantOnBoarding">
- <summary>
- The various ways in which the onboarding may complete or fail.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="AutofillAssistant.StartRequest">
- <owner>arbesser@google.com</owner>
- <owner>hluca@google.com</owner>
- <owner>autofill_assistant@google.com</owner>
- <summary>
- Metrics collected at the very beginning of an autofill-assistant flow.
- </summary>
- <metric name="Caller" enum="AutofillAssistantCaller">
- <summary>
- The caller that requested the start of a flow.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Experiments">
- <summary>
- Bitmask of the running experiments.
- </summary>
- </metric>
- <metric name="Intent" enum="AutofillAssistantIntent">
- <summary>
- The autofill-assistant intent of a flow.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Source" enum="AutofillAssistantSource">
- <summary>
- The source that requested the start of a flow.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Started" enum="AutofillAssistantStarted">
- <summary>
- The various ways that a start request may succeed or fail.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="AutofillAssistant.Timing">
- <owner>arbesser@google.com</owner>
- <owner>hluca@google.com</owner>
- <owner>sandromaggi@google.com</owner>
- <metric name="TriggerConditionEvaluationMs">
- <summary>
- The time it took to evaluate the trigger conditions, in milliseconds. Only
- successful evaluations are recorded.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="BackForwardCacheDisabledForRenderFrameHostReason">
- <owner>altimin@chromium.org</owner>
- <owner>hajimehoshi@chromium.org</owner>
- <summary>
- Recorded at a history commit for each reason passed to
- BackForwardCache::DisableForRenderFrameHost. The source IDs match with the
- source IDs of HistoryNavigation events.
- </summary>
- <metric name="Reason"
- enum="BackForwardCacheDisabledForRenderFrameHostReasonShort">
- <obsolete>
- Deprecated as of 03/2021. Replaced with Reason2.
- </obsolete>
- <summary>
- For history navigations, records the reason passed to
- BackForwardCache::DisableForRenderFrameHost calls.
- The metric is recorded when a history navigation commits and emits a
- sample for each reason. One history navigation can emit multiple reasons,
- and these reasons are recorded as multiple events with the same source ID
- based on the navigation ID.
- </summary>
- </metric>
- <metric name="Reason2"
- enum="BackForwardCacheDisabledForRenderFrameHostReason2">
- <summary>
- For history navigations, records the reason passed to
- BackForwardCache::DisableForRenderFrameHost calls. The reason is specified
- as a 48-bit int representing the source (blink or an embedder) and a
- source-specific 16-bit int representing the reason specific to that
- source.
- The metric is recorded when a history navigation commits and emits a
- sample for each reason. One history navigation can emit multiple reasons,
- and these reasons are recorded as multiple events with the same source ID
- based on the navigation ID.
- </summary>
- </metric>
- </event>
- <event name="BackForwardCacheDisallowActivationReason">
- <owner>altimin@chromium.org</owner>
- <owner>hajimehoshi@chromium.org</owner>
- <owner>fergal@chromium.org</owner>
- <summary>
- Recorded at a history commit for each reason passed to
- RenderFrameHost::IsInactiveAndDisallowActivation. The source IDs match with
- the source IDs of HistoryNavigation events.
- </summary>
- <metric name="Reason" enum="BackForwardCacheDisallowActivationReason">
- <summary>
- For history navigations, records the reason passed to
- RenderFrameHost::IsInactiveAndDisallowActivation.
- The metric is recorded when a history navigation commits and emits a
- sample for each reason. One history navigation can emit multiple reasons,
- and these reasons are recorded as multiple events with the same source ID
- based on the navigation ID.
- </summary>
- </metric>
- </event>
- <event name="BackgroundFetch">
- <owner>nator@chromium.org</owner>
- <owner>rayankans@chromium.org</owner>
- <owner>peter@chromium.org</owner>
- <summary>
- A BackgroundFetch event is logged before a background fetch is started from
- a document context.
- </summary>
- <metric name="DeniedDueToPermissions">
- <summary>
- Boolean for whether the background fetch was denied due to permission.
- This includes only the content setting permission.
- </summary>
- </metric>
- <metric name="DownloadTotal">
- <summary>
- The value of downloadTotal provided with the background fetch. This is the
- number of bytes that the developer expects to be downloaded with the
- background fetch. This number is exponentially bucketed for privacy
- reasons, and uses the UKM GetExponentialBucketMin method with a value of
- 2.0 for spacing.
- </summary>
- </metric>
- <metric name="HasTitle">
- <summary>
- Boolean for whether a title was provided with the background fetch.
- </summary>
- </metric>
- <metric name="NumIcons">
- <summary>
- Count of icons provided with the background fetch.
- </summary>
- </metric>
- <metric name="NumRequestsInFetch">
- <summary>
- Number of requests in the background fetch. This number is exponentially
- bucketed for privacy reasons, and uses the UKM GetExponentialBucketMin
- method with a value of 2.0 for spacing.
- </summary>
- </metric>
- <metric name="RatioOfIdealToChosenIconSize">
- <summary>
- Ratio of the ideal icon to the chosen icon size, times hundred. This will
- be set to -1 if either ideal icon size is 0, or if none of the provided
- icons are suitable.
- </summary>
- </metric>
- </event>
- <event name="BackgroundFetchDeletingRegistration">
- <owner>nator@chromium.org</owner>
- <owner>rayankans@chromium.org</owner>
- <owner>peter@chromium.org</owner>
- <summary>
- A BackgroundFetchDeletingRegistration event is logged when a background
- fetch job is being deleted.
- </summary>
- <metric name="UserInitiatedAbort">
- <summary>
- Boolean for whether the background fetch job was cancelled from the UI.
- </summary>
- </metric>
- </event>
- <event name="BackgroundSyncCompleted">
- <owner>nator@chromium.org</owner>
- <owner>rayankans@chromium.org</owner>
- <owner>peter@chromium.org</owner>
- <summary>
- Logged when a Background Sync one-shot registration is completed.
- </summary>
- <metric name="MaxAttempts">
- <summary>
- Integer value of the maximum number of allowed retries.
- </summary>
- </metric>
- <metric name="NumAttempts">
- <summary>
- Integer value of the number of retries / sync events dispatched.
- </summary>
- </metric>
- <metric name="Status">
- <summary>
- The enum value of the completion status, defined in
- blink::ServiceWorkerStatusCode.
- </summary>
- </metric>
- </event>
- <event name="BackgroundSyncRegistered">
- <owner>nator@chromium.org</owner>
- <owner>rayankans@chromium.org</owner>
- <owner>peter@chromium.org</owner>
- <summary>
- Logged when a one-shot Background Sync registration is created.
- </summary>
- <metric name="CanFire">
- <summary>
- Boolean for whether a sync event can be immediately dispatched for this
- registration.
- </summary>
- </metric>
- <metric name="IsReregistered">
- <summary>
- Boolean for whether this is a duplicate registration.
- </summary>
- </metric>
- </event>
- <event name="Badging">
- <owner>phillis@chromium.org</owner>
- <owner>cmumford@chromium.org</owner>
- <summary>
- Metrics that measure the use of Badging API
- </summary>
- <metric name="UpdateAppBadge" enum="UpdateAppBadgeTypes">
- <summary>
- Logged when navigator.setAppBadge or navigator.clearAppBadge is called.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="Blink.AutomaticLazyLoadFrame" singular="True">
- <owner>chikamune@google.com</owner>
- <owner>sisidovski@google.com</owner>
- <owner>kouhei@google.com</owner>
- <summary>
- Records metrics for LazyAds and LazyEmbeds Interventions. LazyAds and
- LazyEmbeds Interventions will automatically apply lazy loading to ad's
- frames and embedded web applications so that we can automatically improve
- Core Web Vitals for many sites. These metrics help us to know to what degree
- these Interventions can improve Core Web Vitals when the sites are eligible
- for LazyAds or LazyEmbeds.
- </summary>
- <metric name="LazyAdsFrameCount">
- <summary>
- Records the total number of per-page ad frames that are eligible for the
- LazyAds interventions by AutomaticLazyFrameLoadingToAds. The exponential
- bucketing is applied for privacy reasons by using
- ukm::GetExponentialBucketMinForCounts1000().
- </summary>
- </metric>
- <metric name="LazyEmbedsFrameCount">
- <summary>
- Records the total number of per-page frames that are eligible for the
- LazyEmbeds interventions by AutomaticLazyFrameLoadingToEmbeds. The
- exponential bucketing is applied for privacy reasons by using
- ukm::GetExponentialBucketMinForCounts1000().
- </summary>
- </metric>
- </event>
- <event name="Blink.ContextMenu.ImageSelection">
- <owner>benwgold@google.com</owner>
- <owner>flackr@chromium.org</owner>
- <summary>
- Sent when a user long presses or right clicks a document (and that an image
- is found). Requires that the `EnablePenetratingImageSelection` feature is
- enabled together with a `logUkm` specific finch param.
- </summary>
- <metric name="Outcome" enum="ImageSelectionOutcome">
- <summary>
- Emits an integer id for a selection corresponding to the
- ImageSelectionOutcome enum defined in Blink's context_menu_controller.h.
- </summary>
- </metric>
- </event>
- <event name="Blink.DeveloperMetricsRare">
- <owner>schenney@chromium.org</owner>
- <owner>chrome-webdev-metrics@google.com</owner>
- <summary>
- Collects data for a subset of UseCounter features of interest to the Web
- Platform Developer Metrics team due to their recent launch or potential for
- spec changes. Features reported in this set should be rare, appearing in
- fewer than 5% of page loads.
- </summary>
- <metric name="Feature" enum="FeatureObserver">
- <summary>
- Opt-in UseCounter feature, listed in
- components/page_load_metrics/browser/observers/use_counter/webdev_metrics_ukm_features.cc
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="IsMainFrameFeature" enum="Boolean">
- <summary>
- Emits True(1) or False(0) to indicate whether the Feature recorded is in
- the main frame or not.
- </summary>
- </metric>
- </event>
- <event name="Blink.FedCm">
- <owner>yigu@chromium.org</owner>
- <owner>webid-core@google.com</owner>
- <summary>
- Records performance metrics for FedCM(Federated Credential Management) API.
- </summary>
- <metric name="FedCmSessionID">
- <summary>
- Records the session ID associated to the FedCM call for which this event
- is recording metrics. Each FedCM call gets a random integer session id,
- which helps group UKM events by the session id.
- </summary>
- </metric>
- <metric name="Status.RequestIdToken" enum="FedCmRequestIdTokenStatus">
- <summary>
- Records the status of a request id token call to the FedCM API.
- </summary>
- </metric>
- <metric name="Status.Revoke" enum="FedCmRevokeStatus">
- <obsolete>
- Removed June 2022 with the removal of the revoke() method.
- </obsolete>
- <summary>
- Records the status of a revoke call to the FedCM API.
- </summary>
- </metric>
- <metric name="Timing.CancelOnDialog">
- <summary>
- Records the time (in milliseconds) from when the accounts dialog is shown
- to when the user closes the dialog without selecting any account.
- </summary>
- </metric>
- <metric name="Timing.ContinueOnDialog">
- <summary>
- Records the time (in milliseconds) from when the accounts dialog is shown
- to when the user presses the Continue button.
- </summary>
- </metric>
- <metric name="Timing.IdTokenResponse">
- <summary>
- Records the time (in milliseconds) from when the user presses the Continue
- button to when the id token response is received.
- </summary>
- </metric>
- <metric name="Timing.ShowAccountsDialog">
- <summary>
- Records the time (in milliseconds) from when a call to the API was made to
- when the accounts dialog is shown.
- </summary>
- </metric>
- <metric name="Timing.TurnaroundTime">
- <summary>
- Records the overall time (in milliseconds) from when the API is called to
- when the id token response is received.
- </summary>
- </metric>
- </event>
- <event name="Blink.FedCmIdp">
- <owner>npm@chromium.org</owner>
- <owner>webid-core@google.com</owner>
- <summary>
- Records performance metrics for FedCM (Federated Credential Management) API.
- Recorded when the web developer calls the FedCM API. Individual metrics are
- recorded eagerly, whenever the value has been computed.
- This event uses the specific WEB_IDENTITY ukm_source_id which is generated
- from the identity provider's origin.
- </summary>
- <metric name="FedCmSessionID">
- <summary>
- Records the session ID associated to the FedCM call for which this event
- is recording metrics. Each FedCM call gets a random integer session id,
- which helps group UKM events by the session id.
- </summary>
- </metric>
- <metric name="Status.RequestIdToken" enum="FedCmRequestIdTokenStatus">
- <summary>
- Records the status of a request id token call to the FedCM API.
- </summary>
- </metric>
- <metric name="Status.SignInStateMatch" enum="FedCmSignInStateMatchStatus">
- <summary>
- Records whether user sign-in states between IDP and browser match after
- browser receives an account list from IDP prior to showing UI.
- </summary>
- </metric>
- <metric name="Timing.CancelOnDialog">
- <summary>
- Records the time (in milliseconds) from when the accounts dialog is shown
- to when the user closes the dialog without selecting any account.
- </summary>
- </metric>
- <metric name="Timing.ContinueOnDialog">
- <summary>
- Records the time (in milliseconds) from when the accounts dialog is shown
- to when the user presses the Continue button.
- </summary>
- </metric>
- <metric name="Timing.IdTokenResponse">
- <summary>
- Records the time (in milliseconds) from when the user presses the Continue
- button to when the id token response is received.
- </summary>
- </metric>
- <metric name="Timing.ShowAccountsDialog">
- <summary>
- Records the time (in milliseconds) from when a call to the API was made to
- when the accounts dialog is shown.
- </summary>
- </metric>
- <metric name="Timing.TurnaroundTime">
- <summary>
- Records the overall time (in milliseconds) from when the API is called to
- when the id token response is received.
- </summary>
- </metric>
- </event>
- <event name="Blink.FindInPage" singular="True">
- <owner>vmpstr@chromium.org</owner>
- <owner>chrishtr@chromium.org</owner>
- <owner>paint-dev@chromium.org</owner>
- <summary>
- Logged once per page; indicates the type of find-in-page behaviors users
- utilizied.
- </summary>
- <metric name="BeforematchExpandedHiddenMatchable">
- <summary>
- Boolean indicating that a find-in-page match was hidden but became visible
- after the beforematch event was fired.
- </summary>
- </metric>
- <metric name="DidHaveRenderSubtreeMatch">
- <summary>
- Boolean indicating whether there was an active match in content-visibility
- unrendered elements.
- </summary>
- </metric>
- <metric name="DidSearch">
- <summary>
- Boolean indicating that find-in-page happened.
- </summary>
- </metric>
- </event>
- <event name="Blink.HTMLParsing">
- <owner>schenney@chromium.org</owner>
- <owner>dom-dev@chromium.org</owner>
- <summary>
- Logged once per page load, to capture information about invocation of the
- HTMLDocumentParser for the initial document load. Does not include other
- aspects of document parsing, such as style sheet parsing or script execution
- during parsing. Also does not include innerText parsing.
- This event is not recorded on machines with low-resolution clocks.
- </summary>
- <metric name="ChunkCount">
- <summary>
- The number of chunks parsed while loading the page. Each chunk represents
- a piece of the HTML content that can be loaded without blocking or
- yielding.
- </summary>
- </metric>
- <metric name="ParsingTimeMax">
- <summary>
- The maximum time used to parse a single chunk before being blocked,
- yielding or completing, in microseconds.
- </summary>
- </metric>
- <metric name="ParsingTimeMin">
- <summary>
- The minimum time used to parse a single chunk before being blocked,
- yielding or completing, in microseconds.
- </summary>
- </metric>
- <metric name="ParsingTimeTotal">
- <summary>
- The total amount of time spent in the HTMLDocumentParser parsing the page,
- in microseconds.
- </summary>
- </metric>
- <metric name="TokensParsedAverage">
- <summary>
- The average number of tokens parsed across all chunks.
- </summary>
- </metric>
- <metric name="TokensParsedMax">
- <summary>
- The maximum number of tokens parsed as a chunk.
- </summary>
- </metric>
- <metric name="TokensParsedMin">
- <summary>
- The minimum number of tokens parsed as a chunk.
- </summary>
- </metric>
- <metric name="TokensParsedTotal">
- <summary>
- The total number of tokens parsed across all chunks.
- </summary>
- </metric>
- <metric name="YieldedTimeAverage">
- <summary>
- The average time between parsing of two chunks, in microseconds. Will be
- zero if only one chunk was parsed.
- </summary>
- </metric>
- <metric name="YieldedTimeMax">
- <summary>
- The minimum time between parsing of two chunks, in microseconds. Will be
- zero if only one chunk was parsed.
- </summary>
- </metric>
- <metric name="YieldedTimeMin">
- <summary>
- The maximum time between parsing of two chunks, in microseconds. Will be
- zero if only one chunk was parsed.
- </summary>
- </metric>
- </event>
- <event name="Blink.PageLoad">
- <owner>schenney@chromium.org</owner>
- <owner>paint-dev@chromium.org</owner>
- <summary>
- The aggregated time spent in each metric's component from creation of the
- local frame view to the First Contentful Paint signal. The event is reported
- once per page load when First Contentful Paint is signaled.
- This event is not recorded on machines with low-resolution clocks.
- </summary>
- <metric name="Accessibility">
- <summary>
- The time spent in accessibility tree code, between navigation and First
- Contentful Paint, in microseconds.
- </summary>
- </metric>
- <metric name="AnchorElementMetricsIntersectionObserver">
- <summary>
- Time spent computing IntersectionObservations for anchor elements, in
- microseconds.
- </summary>
- </metric>
- <metric name="Animate">
- <summary>
- The time spent in main frame animation, between navigation and First
- Contentful Paint, in microseconds.
- </summary>
- </metric>
- <metric name="Compositing">
- <obsolete>
- Obsolete as of http://crrev.com/794384 and M86.
- </obsolete>
- <summary>
- The time spent in main thread compositing, between navigation and First
- Contentful Paint, in microseconds.
- </summary>
- </metric>
- <metric name="CompositingAssignments">
- <obsolete>
- No longer recorded after M97 with the launch of CompositeAfterPaint.
- </obsolete>
- <summary>
- The time spent in main thread compositing assignments, between navigation
- and First Contentful Paint, in microseconds.
- </summary>
- </metric>
- <metric name="CompositingCommit">
- <summary>
- The time spent committing main thread compositing results, between
- navigation and First Contentful Paint, in microseconds.
- </summary>
- </metric>
- <metric name="CompositingInputs">
- <summary>
- The time spent in main thread compositing inputs, between navigation and
- First Contentful Paint, in microseconds.
- </summary>
- </metric>
- <metric name="ContentDocumentUpdate">
- <summary>
- The time spent doing forced document updates due to update sub-document
- content, between navigation and First Contentful Paint, in microseconds.
- Includes SVG, Canvas and Plugins.
- </summary>
- </metric>
- <metric name="DisplayLockIntersectionObserver">
- <summary>
- Time spent computing IntersectionObservations for
- DisplayLockDocumentState, in microseconds.
- </summary>
- </metric>
- <metric name="ForcedStyleAndLayout">
- <summary>
- The time spent in forced style recalc and layouts, between navigation and
- First Contentful Paint, in microseconds.
- </summary>
- </metric>
- <metric name="HandleInputEvents">
- <summary>
- The time spent in processing rAF-aligned input for the main frame, between
- navigation and First Contentful Paint, in microseconds.
- </summary>
- </metric>
- <metric name="HitTestDocumentUpdate">
- <summary>
- The time spent updating the document in preparation for a hit test for the
- main frame, between navigation and First Contentful Paint, in
- microseconds.
- </summary>
- </metric>
- <metric name="ImplCompositorCommit">
- <summary>
- The time spent committing layer tree impl data in the compositor thread,
- between navigation and First Contentful Paint, in microseconds.
- </summary>
- </metric>
- <metric name="IntersectionObservation">
- <summary>
- The time spent computing intersection observer state, between navigation
- and First Contentful Paint, in microseconds.
- </summary>
- </metric>
- <metric name="IntersectionObservationInternalCount">
- <summary>
- The total number of times a blink-internal IntersectionObservation was
- recomputed between navigation and First Contentful Paint.
- </summary>
- </metric>
- <metric name="IntersectionObservationJavascriptCount">
- <summary>
- The total number of times a javascript-instantiated
- IntersectionObservation was recomputed between navigation and First
- Contentful Paint.
- </summary>
- </metric>
- <metric name="JavascriptDocumentUpdate">
- <summary>
- The time spent doing forced document updates due to generic Javascript API
- requests, between navigation and First Contentful Paint, in microseconds.
- Note this primarily captures Javascript that explicitly requires Style and
- Layout, but not implicit requests such as through setting focus or scroll
- position.
- </summary>
- </metric>
- <metric name="JavascriptIntersectionObserver">
- <summary>
- Time spent computing IntersectionObservations for javascript observers, in
- microseconds.
- </summary>
- </metric>
- <metric name="Layout">
- <summary>
- The time spent in layout document lifecycle work, between navigation and
- First Contentful Paint, in microseconds.
- </summary>
- </metric>
- <metric name="LazyLoadIntersectionObserver">
- <summary>
- Time spent computing IntersectionObservations for lazy loading, in
- microseconds.
- </summary>
- </metric>
- <metric name="MainFrame">
- <summary>
- The time spent in ProxyMain::BeginMainFrame, between navigation and First
- Contentful Paint, in microseconds.
- </summary>
- </metric>
- <metric name="MediaIntersectionObserver">
- <summary>
- Time spent computing IntersectionObservations for media elements, in
- microseconds.
- </summary>
- </metric>
- <metric name="Paint">
- <summary>
- The time spent in paint document lifecycle work, between navigation and
- First Contentful Paint, in microseconds.
- </summary>
- </metric>
- <metric name="ParseStyleSheet">
- <summary>
- The time spent parsing style sheets.
- </summary>
- </metric>
- <metric name="PrePaint">
- <summary>
- The time spent in pre-paint document lifecycle work, between navigation
- and First Contentful Paint, in microseconds.
- </summary>
- </metric>
- <metric name="ProxyCommit">
- <obsolete>
- Removed in M84 in favor of separate ImplCompositorCommit and WaitForCommit
- metrics.
- </obsolete>
- <summary>
- The time spent committing main thread to impl layer tree information,
- between navigation and First Contentful Paint, in microseconds.
- </summary>
- </metric>
- <metric name="ScrollDocumentUpdate">
- <summary>
- The time spent doing forced document updates due to update scroll-related
- data, between navigation and First Contentful Paint, in microseconds.
- Includes actions like scroll-to-fragment.
- </summary>
- </metric>
- <metric name="ScrollingCoordinator">
- <obsolete>
- Merged into CompositingCommit in http://crrev.com/815947 in M88.
- </obsolete>
- <summary>
- The time spent in ScrollingCoordinator, between navigation and First
- Contentful Paint, in microseconds.
- </summary>
- </metric>
- <metric name="ServiceDocumentUpdate">
- <summary>
- The time spent doing forced document updates due to browser requested
- actions, such as accessibility, intersection observer or spell checking,
- between navigation and First Contentful Paint, in microseconds.
- </summary>
- </metric>
- <metric name="Style">
- <summary>
- The time spent in style document lifecycle work, between navigation and
- First Contentful Paint, in microseconds.
- </summary>
- </metric>
- <metric name="StyleAndLayout">
- <obsolete>
- Removed January 2020 in favor of separate Style and Layout metrics.
- </obsolete>
- <summary>
- The time spent in layout and style document lifecycle work, between
- navigation and First Contentful Paint, in microseconds. Will be obsolete
- in M-82.
- </summary>
- </metric>
- <metric name="UpdateLayers">
- <summary>
- The time spent in for LayerTreeHost::UpdateLayers, between navigation and
- First Contentful Paint, in microseconds.
- </summary>
- </metric>
- <metric name="UpdateViewportIntersection">
- <summary>
- Time spent computing internal geometry information about iframes, between
- navigation and First Contentful Paint, in microseconds.
- </summary>
- </metric>
- <metric name="UserDrivenDocumentUpdate">
- <summary>
- The time spent doing forced document updates due to a user action such as
- input, find-in-page or printing, between navigation and First Contentful
- Paint, in microseconds.
- </summary>
- </metric>
- <metric name="WaitForCommit">
- <summary>
- The time spent waiting for the compositor thread to begin processing a
- commit, between navigation and First Contentful Paint, in microseconds.
- </summary>
- </metric>
- </event>
- <event name="Blink.PaintTiming" singular="True">
- <owner>npm@chromium.org</owner>
- <owner>sullivan@chromium.org</owner>
- <summary>
- Paint timing metrics recorded in Blink, usually used as debugging metrics
- for PaintTiming metrics in the PageLoad event.
- </summary>
- <metric name="LCPDebugging.HasViewportImage" enum="Boolean">
- <summary>
- Records whether a page has an image whose size equals the full viewport.
- Recorded when the LCP algorithm has stopped.
- </summary>
- </metric>
- </event>
- <event name="Blink.Script.AsyncScripts" singular="True">
- <owner>dom@chromium.org</owner>
- <owner>chrome-loading@google.com</owner>
- <summary>
- Metrics associated with the async script count associated with a document,
- recorded when the HTML parsing of a mainframe has completed.
- </summary>
- <metric name="AsyncScriptCount">
- <obsolete>
- Deprecated 04/2022.
- </obsolete>
- <summary>
- The total number of async scripts associated with a document at the time
- parsing has finished.
- </summary>
- </metric>
- </event>
- <event name="Blink.UpdateTime">
- <owner>schenney@chromium.org</owner>
- <owner>paint-dev@chromium.org</owner>
- <summary>
- Metrics that measure various update times in Blink. This includes paint,
- compositing, and layout update times. This event is reported once in the
- first main frame update after First Contentful Paint, with data from a
- randomly chosen frame up to and including First Contentful Paint, and once
- on LocalFrameView destruction with data from a random frame between
- FirstContentfulPaint and shutdown.
- This event is not recorded on machines with low-resolution clocks.
- </summary>
- <metric name="Accessibility">
- <summary>
- The time taken for accessibility for the main frame in microseconds during
- the sampled frame.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="AccessibilityBeginMainFrame">
- <summary>
- The total main frame time used in accessibility, in microseconds.
- </summary>
- </metric>
- <metric name="AnchorElementMetricsIntersectionObserver">
- <summary>
- Time spent computing IntersectionObservations for anchor elements, in
- microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="AnchorElementMetricsIntersectionObserverBeginMainFrame">
- <summary>
- The total main frame time used to compute IntersectionObservations for
- anchor elements, in microseconds.
- </summary>
- </metric>
- <metric name="Animate">
- <summary>
- The time taken for main frame animation in microseconds during the sampled
- frame.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Animate.Average">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The average time taken for main frame animation in microseconds in the
- event period.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Animate.AverageRatio">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The average over frames within the sample window of the ratio of time
- taken for main frame animation to the total time for the main frame. An
- int in the range [0,100].
- </summary>
- </metric>
- <metric name="Animate.WorstCase">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The longest single time taken for main frame animation in microseconds in
- the event period.
- </summary>
- </metric>
- <metric name="Animate.WorstCaseRatio">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The highest proportion of a frame ever used for main frame animation
- within the sample window. An int in the range [0,100].
- </summary>
- </metric>
- <metric name="AnimateBeginMainFrame">
- <summary>
- The total main frame time used by by main thread animations, in
- microseconds.
- </summary>
- </metric>
- <metric name="AnimatePercentage">
- <obsolete>
- Deprecated as of 11/2020. Replaced with AnimateBeginMainFrame.
- </obsolete>
- <summary>
- The percentage of the main frame time used by main thread animations. An
- int in the range [0,100].
- </summary>
- </metric>
- <metric name="Compositing">
- <obsolete>
- Obsolete as of http://crrev.com/794384.
- </obsolete>
- <summary>
- The time taken by the compositing phase in microseconds during the sampled
- frame.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Compositing.Average">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The average time taken by the compositing phase in microseconds in the
- event period.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Compositing.AverageRatio">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The average over frames within the sample window of the ratio of time
- taken in the compositing phase to the total time for the main frame. An
- int in the range [0,100].
- </summary>
- </metric>
- <metric name="Compositing.WorstCase">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The longest single time taken by the compositing phase in microseconds in
- the event period.
- </summary>
- </metric>
- <metric name="Compositing.WorstCaseRatio">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The highest proportion of a frame ever used by the compositing phase
- within the sample window. An int in the range [0,100].
- </summary>
- </metric>
- <metric name="CompositingAssignments">
- <obsolete>
- No longer recorded after M97 with the launch of CompositeAfterPaint.
- </obsolete>
- <summary>
- The time taken by compositing assignments in microseconds during the
- sampled frame.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="CompositingAssignmentsBeginMainFrame">
- <obsolete>
- No longer recorded after M97 with the launch of CompositeAfterPaint.
- </obsolete>
- <summary>
- The total main frame time used by the compositing assignments phase, in
- microseconds.
- </summary>
- </metric>
- <metric name="CompositingAssignmentsPercentage">
- <obsolete>
- Deprecated as of 11/2020. Replaced with
- CompositingAssignmentsBeginMainFrame.
- </obsolete>
- <summary>
- The percentage of the main frame time used by the compositing assignments
- phase. An int in the range [0,100].
- </summary>
- </metric>
- <metric name="CompositingCommit">
- <summary>
- The time taken by the compositing commit in microseconds during the
- sampled frame.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="CompositingCommit.Average">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The average time taken by the compositing commit at the end of the blink
- lifecycle, in microseconds in the event period.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="CompositingCommit.AverageRatio">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The average over frames within the sample window of the ratio of time
- taken by the compositing commit at the end of the blink lifecycle to the
- total time for the main frame. An int in the range [0,100].
- </summary>
- </metric>
- <metric name="CompositingCommit.WorstCase">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The longest single time taken by the compositing commit at the end of the
- blink lifecycle, in microseconds in the event period.
- </summary>
- </metric>
- <metric name="CompositingCommit.WorstCaseRatio">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The highest proportion of a frame ever taken by the compositing commit at
- the end of the blink lifecycle to the total time for the main frame. An
- int in the range [0,100].
- </summary>
- </metric>
- <metric name="CompositingCommitBeginMainFrame">
- <summary>
- The total main frame time used by the compositing commit, in microseconds.
- </summary>
- </metric>
- <metric name="CompositingCommitPercentage">
- <obsolete>
- Deprecated as of 11/2020. Replaced with CompositingCommitBeginMainFrame.
- </obsolete>
- <summary>
- The percentage of the main frame time used by the compositing commit. An
- int in the range [0,100].
- </summary>
- </metric>
- <metric name="CompositingInputs">
- <summary>
- The time taken by the compositing inputs phase in microseconds during the
- sampled frame.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="CompositingInputsBeginMainFrame">
- <summary>
- The total main frame time used by the compositing inputs phase, in
- microseconds.
- </summary>
- </metric>
- <metric name="CompositingInputsPercentage">
- <obsolete>
- Deprecated as of 11/2020. Replaced with CompositingInputsBeginMainFrame.
- </obsolete>
- <summary>
- The percentage of the main frame time used by the compositing inputs
- phase. An int in the range [0,100].
- </summary>
- </metric>
- <metric name="CompositingPercentage">
- <obsolete>
- Obsolete as of http://crrev.com/794384.
- </obsolete>
- <summary>
- The percentage of the main frame time used by the compositing phase. An
- int in the range [0,100].
- </summary>
- </metric>
- <metric name="ContentDocumentUpdate">
- <summary>
- The time spent doing forced document updates due to update sub-document
- content, during a sampled frame, in microseconds. Includes SVG, Canvas and
- Plugins.
- </summary>
- </metric>
- <metric name="ContentDocumentUpdateBeginMainFrame">
- <summary>
- The time spent doing forced document updates due to update sub-document
- content, during the BeginMainFrame block of a sampled frame, in
- microseconds. Includes SVG, Canvas and Plugins.
- </summary>
- </metric>
- <metric name="DisplayLockIntersectionObserver">
- <summary>
- Time spent computing IntersectionObservations for
- DisplayLockDocumentState, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="DisplayLockIntersectionObserverBeginMainFrame">
- <summary>
- The total main frame time used to compute IntersectionObservations for
- DisplayLockDocumentState, in microseconds.
- </summary>
- </metric>
- <metric name="ForcedStyleAndLayout">
- <summary>
- The time taken by forced style recalc and layouts in microseconds between
- the end of the last main frame update and the current sampled frame, in
- microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="ForcedStyleAndLayout.Average">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The average time taken by all forced style recalcs and layouts in
- microseconds in the event period.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="ForcedStyleAndLayout.AverageRatio">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The average over frames within the sample window of the ratio of time
- taken by forced style recalc and layouts at the end of the blink lifecycle
- to the total time for the main frame. An int in the range [0,100].
- </summary>
- </metric>
- <metric name="ForcedStyleAndLayout.WorstCase">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The longest single time taken by a forced style recalc and layout in
- microseconds in the event period.
- </summary>
- </metric>
- <metric name="ForcedStyleAndLayout.WorstCaseRatio">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The highest proportion of a frame ever taken by forced style recalc and
- layouts at the end of the blink lifecycle to the total time for the main
- frame. An int in the range [0,100].
- </summary>
- </metric>
- <metric name="ForcedStyleAndLayoutBeginMainFrame">
- <summary>
- The total main frame time used by forced style updates and layouts, in
- microseconds. This metric may include time that is also included in the
- AnimateBeginMainFrame metric.
- </summary>
- </metric>
- <metric name="ForcedStyleAndLayoutPercentage">
- <obsolete>
- Deprecated as of 11/2020. Replaced with
- ForcedStyleAndLayoutBeginMainFrame.
- </obsolete>
- <summary>
- The percentage of the main frame time used by forced style updates and
- layouts during the main frame update (not including time outside of the
- frame update. This metric may include time that is also included in the
- AnimatePercentage metric. An int in the range [0,100].
- </summary>
- </metric>
- <metric name="HandleInputEvents">
- <summary>
- The time taken to process rAF-aligned input for the main frame in
- microseconds during the sampled frame.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="HandleInputEvents.Average">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The average time taken to process rAF-aligned input for the main frame in
- microseconds in the event period.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="HandleInputEvents.AverageRatio">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The average over frames within the sample window of the ratio of time
- taken to process rAF-aligned input for the main frame to the total time
- for the main frame. An int in the range [0,100].
- </summary>
- </metric>
- <metric name="HandleInputEvents.WorstCase">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The longest single time taken to process rAF-aligned input for the main
- frame in microseconds in the event period.
- </summary>
- </metric>
- <metric name="HandleInputEvents.WorstCaseRatio">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The highest proportion of a frame ever taken to process rAF-aligned input
- for the main frame to the total time for the main frame. An int in the
- range [0,100].
- </summary>
- </metric>
- <metric name="HandleInputEventsBeginMainFrame">
- <summary>
- The total main frame time used in processing rAF-aligned input, in
- microseconds.
- </summary>
- </metric>
- <metric name="HandleInputEventsPercentage">
- <obsolete>
- Deprecated as of 11/2020. Replaced with HandleInputEventsBeginMainFrame.
- </obsolete>
- <summary>
- The percentage of the main frame time used in processing rAF-aligned
- input. An int in the range [0,100].
- </summary>
- </metric>
- <metric name="HitTestDocumentUpdate">
- <summary>
- The time taken to perform hit test document updates for the main frame in
- microseconds during the sampled frame. It does not compute the actual hit
- test time, rather the style, layout, compositing, etc time to prepare for
- the test.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="HitTestDocumentUpdateBeginMainFrame">
- <summary>
- The total main frame time used in performing hit test document updates, in
- microseconds.
- </summary>
- </metric>
- <metric name="HitTestDocumentUpdatePercentage">
- <obsolete>
- Deprecated as of 11/2020. Replaced with
- HitTestDocumentUpdateBeginMainFrame.
- </obsolete>
- <summary>
- The percentage of the main frame time used in performing hit test document
- updates. An int in the range [0,100].
- </summary>
- </metric>
- <metric name="ImplCompositorCommit">
- <summary>
- The time spent committing layer tree impl data in the compositor thread,
- in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="ImplCompositorCommitBeginMainFrame">
- <summary>
- The total main frame time spent committing layer tree impl data in the
- compositor thread, in microseconds. This should always match
- ImplCompositorCommit and serves as a check.
- </summary>
- </metric>
- <metric name="ImplCompositorCommitPercentage">
- <obsolete>
- Deprecated as of 11/2020. Replaced with
- ImplCompositorCommitBeginMainFrame.
- </obsolete>
- <summary>
- The percentage of the main frame time spent committing layer tree impl
- data in the compositor thread. An int in the range [0,100].
- </summary>
- </metric>
- <metric name="IntersectionObservation">
- <summary>
- The time taken to compute intersection observer state for the main frame
- in microseconds during the sampled frame.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="IntersectionObservation.Average">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The average time taken to compute IntersectionObserver observations in
- microseconds in the event period.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="IntersectionObservation.AverageRatio">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The average over frames within the sample window of the ratio of time
- taken compute IntersectionObserver observations to the total time for the
- main frame. An int in the range [0,100].
- </summary>
- </metric>
- <metric name="IntersectionObservation.WorstCase">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The longest single time taken to compute IntersectionObserver observations
- in microseconds in the event period.
- </summary>
- </metric>
- <metric name="IntersectionObservation.WorstCaseRatio">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The highest proportion of a frame ever taken to compute
- IntersectionObserver observations within the sample window. An int in the
- range [0,100].
- </summary>
- </metric>
- <metric name="IntersectionObservationBeginMainFrame">
- <summary>
- The total main frame time used to compute IntersectionObserver
- observations, in microseconds.
- </summary>
- </metric>
- <metric name="IntersectionObservationInternalCount">
- <summary>
- The number of blink-internal IntersectionObservations that were recomputed
- during the sampled frame.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="IntersectionObservationInternalCountBeginMainFrame">
- <summary>
- The number of blink-internal IntersectionObservations that were recomputed
- during the sampled frame.
- </summary>
- </metric>
- <metric name="IntersectionObservationJavascriptCount">
- <summary>
- The number of javascript-instantiated IntersectionObservations that were
- recomputed during the sampled frame.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="IntersectionObservationJavascriptCountBeginMainFrame">
- <summary>
- The number of javascript-instantiated IntersectionObservations that were
- recomputed during the sampled frame.
- </summary>
- </metric>
- <metric name="IntersectionObservationPercentage">
- <obsolete>
- Deprecated as of 11/2020. Replaced with
- IntersectionObservationBeginMainFrame.
- </obsolete>
- <summary>
- The percentage of the main frame time used in computing intersection
- observer state. An int in the range [0,100].
- </summary>
- </metric>
- <metric name="JavascriptDocumentUpdate">
- <summary>
- The time spent doing forced document updates due to generic Javascript API
- requests, during a sampled frame, in microseconds. Note this primarily
- captures Javascript that explicitly requires Style and Layout, but not
- implicit requests such as through setting focus or scroll position.
- </summary>
- </metric>
- <metric name="JavascriptDocumentUpdateBeginMainFrame">
- <summary>
- The time spent doing forced document updates due to generic Javascript API
- requests, during the BeginMainFrame block of a sampled frame, in
- microseconds. Note this primarily captures Javascript that explicitly
- requires Style and Layout, but not implicit requests such as through
- setting focus or scroll position.
- </summary>
- </metric>
- <metric name="JavascriptIntersectionObserver">
- <summary>
- Time spent computing IntersectionObservations for javascript observers, in
- microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="JavascriptIntersectionObserverBeginMainFrame">
- <summary>
- The total main frame time used to compute IntersectionObservations for
- Javascript observers, in microseconds.
- </summary>
- </metric>
- <metric name="Layout">
- <summary>
- The time taken for layout for the main frame in microseconds during the
- sampled frame.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="LayoutBeginMainFrame">
- <summary>
- The total main frame time used in layout, in microseconds.
- </summary>
- </metric>
- <metric name="LayoutPercentage">
- <obsolete>
- Deprecated as of 11/2020. Replaced with LayoutBeginMainFrame.
- </obsolete>
- <summary>
- The percentage of the main frame time used in layout work. An int in the
- range [0,100].
- </summary>
- </metric>
- <metric name="LazyLoadIntersectionObserver">
- <summary>
- Time spent computing IntersectionObservations for lazy loading, in
- microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="LazyLoadIntersectionObserverBeginMainFrame">
- <summary>
- The total main frame time used to compute IntersectionObservations for
- lazy loading, in microseconds.
- </summary>
- </metric>
- <metric name="MainFrame">
- <summary>
- The time between a BeginMainFrame and the commit of paint results for the
- sampled frame, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="MainFrame.Average">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The average time between a BeginMainFrame and the commit of paint results,
- in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="MainFrame.WorstCase">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The longest single time between a BeginMainFrame and the commit of paint
- results, in microseconds.
- </summary>
- </metric>
- <metric name="MainFrameIsBeforeFCP" enum="Boolean">
- <summary>
- True if the lifecycle update in this event occurred before FCP (First
- Contentful Paint) was registered.
- </summary>
- </metric>
- <metric name="MainFrameReasons">
- <summary>
- A bitfield representation of the reasons for a main frame update. The
- fields are based on the FrameSequenceTrackerType enum, so bitwise and with
- the following values to determine if a reason was present:
- CompositorAnimation: 1, MainThreadAnimation: 2, PinchZoom: 4, RAF: 8,
- TouchScroll: 16, Universal: 32, Video: 64 and WheelScroll: 128.
- </summary>
- </metric>
- <metric name="MediaIntersectionObserver">
- <summary>
- Time spent computing IntersectionObservations for media elements, in
- microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="MediaIntersectionObserverBeginMainFrame">
- <summary>
- The total main frame time used to compute IntersectionObservations for
- media elements, in microseconds.
- </summary>
- </metric>
- <metric name="Paint">
- <summary>
- The time taken to paint for the main frame in microseconds during the
- sampled frame.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Paint.Average">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The average time taken by the paint phase in microseconds in the event
- period.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Paint.AverageRatio">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The average over frames within the sample window of the ratio of time
- taken in the paint phase to the total time for the main frame. An int in
- the range [0,100].
- </summary>
- </metric>
- <metric name="Paint.WorstCase">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The longest single time taken by the paint phase in microseconds in the
- event period.
- </summary>
- </metric>
- <metric name="Paint.WorstCaseRatio">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The highest proportion of a frame ever used by the paint phase within the
- sample window. An int in the range [0,100].
- </summary>
- </metric>
- <metric name="PaintBeginMainFrame">
- <summary>
- The total main frame time used in paint, in microseconds.
- </summary>
- </metric>
- <metric name="PaintPercentage">
- <obsolete>
- Deprecated as of 11/2020. Replaced with PaintBeginMainFrame.
- </obsolete>
- <summary>
- The percentage of the main frame time used in paint. An int in the range
- [0,100].
- </summary>
- </metric>
- <metric name="ParseStyleSheet">
- <summary>
- The time spent parsing style sheets.
- </summary>
- </metric>
- <metric name="ParseStyleSheetBeginMainFrame">
- <summary>
- The total main frame time spent parsing style sheets.
- </summary>
- </metric>
- <metric name="PrePaint">
- <summary>
- The time taken for pre-paint for the main frame in microseconds during the
- sampled frame.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="PrePaint.Average">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The average time taken by the pre-paint phase in microseconds in the event
- period.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="PrePaint.AverageRatio">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The average over frames within the sample window of the ratio of time
- taken in the pre-paint phase to the total time for the main frame. An int
- in the range [0,100].
- </summary>
- </metric>
- <metric name="PrePaint.WorstCase">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The longest single time taken by the pre-paint phase in microseconds in
- the event period.
- </summary>
- </metric>
- <metric name="PrePaint.WorstCaseRatio">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The highest proportion of a frame ever used by the pre-paint phase within
- the sample window. An int in the range [0,100].
- </summary>
- </metric>
- <metric name="PrePaintBeginMainFrame">
- <summary>
- The total main frame time used in pre-paint, in microseconds.
- </summary>
- </metric>
- <metric name="PrePaintPercentage">
- <obsolete>
- Deprecated as of 11/2020. Replaced with PrePaintBeginMainFrame.
- </obsolete>
- <summary>
- The percentage of the main frame time used in pre-paint. An int in the
- range [0,100].
- </summary>
- </metric>
- <metric name="ProxyCommit">
- <obsolete>
- Removed in M84 in favor of separate ImplCompositorCommit and WaitForCommit
- metrics.
- </obsolete>
- <summary>
- The time taken for the proxy to commit to the impl thread in microseconds
- during the sampled frame.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="ProxyCommitPercentage">
- <obsolete>
- Removed in M84 in favor of separate ImplCompositorCommit and WaitForCommit
- metrics.
- </obsolete>
- <summary>
- The percentage of the main frame time used to commit to the impl thread.
- An int in the range [0,100].
- </summary>
- </metric>
- <metric name="ScrollDocumentUpdate">
- <summary>
- The time spent doing forced document updates due to update scroll-related
- data, during a sampled frame, in microseconds.
- </summary>
- </metric>
- <metric name="ScrollDocumentUpdateBeginMainFrame">
- <summary>
- The time spent doing forced document updates due to update scroll-related
- data, during the BeginMainFrame block of a sampled frame, in microseconds.
- </summary>
- </metric>
- <metric name="ScrollingCoordinator">
- <obsolete>
- Merged into Blink.MainFrame.CompositingCommitRatio in
- http://crrev.com/815947 in M88.
- </obsolete>
- <summary>
- The time taken for scrolling coordinator for the main frame in
- microseconds during the sampled frame.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="ScrollingCoordinator.Average">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The average time taken by the style and layout phases in microseconds in
- the event period.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="ScrollingCoordinator.AverageRatio">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The average over frames within the event period of the ratio of time taken
- to update the scrolling coordinator after painting to the total time for
- the main frame, expressed as a percentage. An int in the range [0,100].
- </summary>
- </metric>
- <metric name="ScrollingCoordinator.WorstCase">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The longest single time within the event period that was used to update
- the ScrollingCoordinator after painting (in microseconds).
- </summary>
- </metric>
- <metric name="ScrollingCoordinator.WorstCaseRatio">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The highest proportion of a frame within the event period that was used to
- update the ScrollingCoordinator after painting, expressed as a percentage.
- An int in the range [0,100].
- </summary>
- </metric>
- <metric name="ScrollingCoordinatorPercentage">
- <obsolete>
- Merged into Blink.MainFrame.CompositingCommitRatio in
- http://crrev.com/815947 in M88.
- </obsolete>
- <summary>
- The percentage of the main frame time used in scrolling coordinator. An
- int in the range [0,100].
- </summary>
- </metric>
- <metric name="ServiceDocumentUpdate">
- <summary>
- The time spent doing forced document updates due to browser requested
- actions, such as accessibility, intersection observer or spell checking,
- during a sampled frame, in microseconds.
- </summary>
- </metric>
- <metric name="ServiceDocumentUpdateBeginMainFrame">
- <summary>
- The time spent doing forced document updates due to browser requested
- actions, such as accessibility, intersection observer or spell checking,
- during the BeginMainFrame block of a sampled frame, in microseconds.
- </summary>
- </metric>
- <metric name="Style">
- <summary>
- The time taken for style update for the main frame in microseconds during
- the sampled frame.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="StyleAndLayout">
- <obsolete>
- Removed January 2020 in favor of separate Style and Layout metrics.
- </obsolete>
- <summary>
- The time taken for style and layout for the main frame in microseconds
- during the sampled frame.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="StyleAndLayout.Average">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The average time taken by the style and layout phases in microseconds in
- the event period.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="StyleAndLayout.AverageRatio">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The average over frames within the sample window of the ratio of time
- taken to update style and layout to the total time for the main frame. An
- int in the range [0,100].
- </summary>
- </metric>
- <metric name="StyleAndLayout.WorstCase">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The longest single time taken by the style and layout phases in
- microseconds in the event period.
- </summary>
- </metric>
- <metric name="StyleAndLayout.WorstCaseRatio">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <summary>
- The highest proportion of a frame ever used to compute style and layout
- within the sample window. An int in the range [0,100].
- </summary>
- </metric>
- <metric name="StyleAndLayoutPercentage">
- <obsolete>
- Removed January 2020 in favor of separate Style and Layout metrics.
- </obsolete>
- <summary>
- The percentage of the main frame time used in style and layout work. An
- int in the range [0,100].
- </summary>
- </metric>
- <metric name="StyleBeginMainFrame">
- <summary>
- The total main frame time spent updating style information and and
- building the layout tree, in microseconds.
- </summary>
- </metric>
- <metric name="StylePercentage">
- <summary>
- The percentage of the main frame time used in style work. An int in the
- range [0,100].
- </summary>
- </metric>
- <metric name="UpdateLayers">
- <summary>
- The time taken for LayerTreeHost::UpdateLayers in microseconds during the
- sampled frame
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="UpdateLayersBeginMainFrame">
- <summary>
- The total main frame time spent in LayerTreeHost::UpdateLayer, in
- microseconds. This should always match UpdateLayers and serves as a check.
- </summary>
- </metric>
- <metric name="UpdateLayersPercentage">
- <obsolete>
- Deprecated as of 11/2020. Replaced with UpdateLayersBeginMainFrame.
- </obsolete>
- <summary>
- The percentage of the main frame time used by LayerTreeHost::UpdateLayers.
- An int in the range [0,100].
- </summary>
- </metric>
- <metric name="UpdateViewportIntersection">
- <summary>
- Time spent computing internal geometry information about iframes, in
- microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="UpdateViewportIntersectionBeginMainFrame">
- <summary>
- The total main frame time used to compute internal geometry information
- about iframes, in microseconds.
- </summary>
- </metric>
- <metric name="UserDrivenDocumentUpdate">
- <summary>
- The time spent doing forced document updates due to a user action such as
- input, find-in-page or printing, during a sampled frame, in microseconds.
- </summary>
- </metric>
- <metric name="UserDrivenDocumentUpdateBeginMainFrame">
- <summary>
- The time spent doing forced document updates due to a user action such as
- input, find-in-page or printing, during the BeginMainFrame block of a
- sampled frame, in microseconds.
- </summary>
- </metric>
- <metric name="WaitForCommit">
- <summary>
- The time spent waiting for the compositor thread to begin processing a
- commit, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="WaitForCommitBeginMainFrame">
- <summary>
- The total main frame time spent waiting for the compositor thread to begin
- processing a commit, in microseconds. This should always match
- WaitForCommit and serves as a check.
- </summary>
- </metric>
- <metric name="WaitForCommitPercentage">
- <obsolete>
- Deprecated as of 11/2020. Replaced with WaitForCommitBeginMainFrame.
- </obsolete>
- <summary>
- The percentage of the main frame time spent waiting for the compositor
- thread to begin processing a commit. An int in the range [0,100].
- </summary>
- </metric>
- </event>
- <event name="Blink.UseCounter">
- <owner>chasej@chromium.org</owner>
- <summary>
- Collects data for a subset of UseCounter features where UMA UseCounter data
- shows a behaviour that is rare but too common to blindly change. This metric
- should be used to reason about whether a breaking change is acceptable or
- not.
- Note: In M87, a number of use counters were removed from UKM reporting due
- to being reported too frequently (high proportion across page loads).
- </summary>
- <metric name="Feature" enum="FeatureObserver">
- <summary>
- Opt-in UseCounter feature.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="IsMainFrameFeature" enum="Boolean">
- <summary>
- Emits True(1) or False(0) to indicate whether the Feature recorded is in
- the main frame or not.
- </summary>
- </metric>
- </event>
- <event name="BloatedRenderer">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <owner>ulan@chromium.org</owner>
- <summary>
- Metrics related to a bloated renderer that is close to out-of-memory. They
- are recorded only if the renderer process has a single page.
- </summary>
- <metric name="V8.Heap">
- <summary>
- The total physical size of V8's heap in MB.
- </summary>
- </metric>
- <metric name="V8.Heap.AllocatedObjects">
- <summary>
- The total size of allocated on V8's heap in MB.
- </summary>
- </metric>
- <metric name="V8.Heap.Limit">
- <summary>
- The V8 heap limit in MB.
- </summary>
- </metric>
- <metric name="V8.NearV8HeapLimitHandling">
- <summary>
- An enum that specifies how the near V8 heap limit event was handled. See
- blink::NearV8HeapLimitHandling for the enum elements.
- </summary>
- </metric>
- </event>
- <event name="BrowsingTopics.DocumentBrowsingTopicsApiResult">
- <owner>yaoxia@chromium.org</owner>
- <owner>jkarlin@chromium.org</owner>
- <summary>
- The document.browsingTopics() result and other metadata. Recorded whenever
- document.browsingTopics() is invoked from a context. If the API returns more
- than 3 topics (e.g. due to custom configuration FeatureParam), only the
- first 3 topics will be recorded.
- </summary>
- <metric name="EmptyReason" enum="BrowsingTopicsEmptyApiResultReason">
- <summary>
- The reason why the API returns no topic. This metric won't be recorded if
- the API returns any topic.
- </summary>
- </metric>
- <metric name="ReturnedTopic0">
- <summary>
- The returned topic ID at index 0. This metric won't be recorded if the API
- returns no topics.
- </summary>
- </metric>
- <metric name="ReturnedTopic0IsTrueTopTopic" enum="Boolean">
- <summary>
- Whether `ReturnedTopic0` is a true top topic, as opposed to a randomly
- padded topic. This metric won't be recorded if the API returns no topics.
- </summary>
- </metric>
- <metric name="ReturnedTopic0ModelVersion">
- <summary>
- The version of the model used to calculate `ReturnedTopic0`. This metric
- won't be recorded if the API returns no topics.
- </summary>
- </metric>
- <metric name="ReturnedTopic0TaxonomyVersion">
- <summary>
- The version of the taxonomy applicable to `ReturnedTopic0`. This metric
- won't be recorded if the API returns no topics.
- </summary>
- </metric>
- <metric name="ReturnedTopic1">
- <summary>
- The returned topic ID at index 1. This metric won't be recorded if the API
- returns no topics.
- </summary>
- </metric>
- <metric name="ReturnedTopic1IsTrueTopTopic" enum="Boolean">
- <summary>
- Whether `ReturnedTopic1` is a true top topic, as opposed to a randomly
- padded topic. This metric won't be recorded if the API returns no topics.
- </summary>
- </metric>
- <metric name="ReturnedTopic1ModelVersion">
- <summary>
- The version of the model used to calculate `ReturnedTopic1`. This metric
- won't be recorded if the API returns less than 2 topics.
- </summary>
- </metric>
- <metric name="ReturnedTopic1TaxonomyVersion">
- <summary>
- The version of the taxonomy applicable to `ReturnedTopic1`. This metric
- won't be recorded if the API returns less than 2 topics.
- </summary>
- </metric>
- <metric name="ReturnedTopic2">
- <summary>
- The returned topic ID at index 2. This metric won't be recorded if the API
- returns no topics.
- </summary>
- </metric>
- <metric name="ReturnedTopic2IsTrueTopTopic" enum="Boolean">
- <summary>
- Whether `ReturnedTopic2` is a true top topic, as opposed to a randomly
- padded topic. This metric won't be recorded if the API returns no topics.
- </summary>
- </metric>
- <metric name="ReturnedTopic2ModelVersion">
- <summary>
- The version of the model used to calculate `ReturnedTopic2`. This metric
- won't be recorded if the API returns less than 3 topics.
- </summary>
- </metric>
- <metric name="ReturnedTopic2TaxonomyVersion">
- <summary>
- The version of the taxonomy applicable to `ReturnedTopic2`. This metric
- won't be recorded if the API returns less than 3 topics.
- </summary>
- </metric>
- </event>
- <event name="BrowsingTopics.EpochTopicsCalculationResult">
- <owner>yaoxia@chromium.org</owner>
- <owner>jkarlin@chromium.org</owner>
- <summary>
- The epoch topics calculation result, including the top 5 topics and other
- metadata. Recorded whenever the periodic (weekly) topics calculation has
- finished. If the result has more than 5 topics (e.g. due to custom
- configuration FeatureParam), only the first 5 topics will be recorded.
- </summary>
- <metric name="ModelVersion">
- <summary>
- The version of the model used to calculate the result topics. This metric
- won't be recorded if the topics calculation failed in general.
- </summary>
- </metric>
- <metric name="PaddedTopicsStartIndex">
- <summary>
- The start index of the randomly padded top topics. This metric won't be
- recorded if the topics calculation failed in general. If all topics are
- real, `PaddedTopicsStartIndex` will equal the feature param
- `kBrowsingTopicsNumberOfTopTopicsPerEpoch`.
- </summary>
- </metric>
- <metric name="TaxonomyVersion">
- <summary>
- The version of the taxonomy applicable to the result topics. This metric
- won't be recorded if the topics calculation failed in general.
- </summary>
- </metric>
- <metric name="TopTopic0">
- <summary>
- The top topic ID at index 0. This metric won't be recorded if the
- candidate topic was blocked, or if the topics calculation failed in
- general.
- </summary>
- </metric>
- <metric name="TopTopic1">
- <summary>
- The top topic ID at index 1. This metric won't be recorded if the
- candidate topic was blocked, or if the topics calculation failed in
- general.
- </summary>
- </metric>
- <metric name="TopTopic2">
- <summary>
- The top topic ID at index 2. This metric won't be recorded if the
- candidate topic was blocked, or if the topics calculation failed in
- general.
- </summary>
- </metric>
- <metric name="TopTopic3">
- <summary>
- The top topic ID at index 3. This metric won't be recorded if the
- candidate topic was blocked, or if the topics calculation failed in
- general.
- </summary>
- </metric>
- <metric name="TopTopic4">
- <summary>
- The top topic ID at index 4. This metric won't be recorded if the
- candidate topic was blocked, or if the topics calculation failed in
- general.
- </summary>
- </metric>
- </event>
- <event name="BrowsingTopics.PageLoad">
- <owner>yaoxia@chromium.org</owner>
- <owner>jkarlin@chromium.org</owner>
- <summary>
- PageLoad metrics for BrowsingTopics. Recorded when a page has Topics API
- usages (that pass the user permission check), and the page is being
- destroyed/navigated.
- </summary>
- <metric name="TopicsRequestingContextDomainsCount">
- <summary>
- The number of unique context domains have requested the topics. Rounded to
- the nearest exponential bucket (with a bucket ratio of 1.15).
- </summary>
- </metric>
- </event>
- <event name="ChromeOS.WebsiteUsageTime">
- <owner>nancylingwang@chromium.org</owner>
- <owner>dominickn@chromium.org</owner>
- <summary>
- Records the amount of time that the focused and activated website was
- accessed in last two hours on Chrome OS. This is logged each two hours, and
- only when the website is not installed as a PWA or Chrome app.
- </summary>
- <metric name="Duration">
- <summary>
- The milliseconds that the website was accessed in the focused tab and the
- activated browser window. The accessing time is calculated each five
- minutes, then the noise is applied, and sum the running time for five
- minutes with noise to calculate the two hours accessing time. For example
- the running time in the past 2 hours = time1 * noise1 + time2 * noise2 +
- time3 * noise3....
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="IsFromLastLogin" enum="Boolean">
- <summary>
- Whether the metrics is read from the user pref on disk, recorded for the
- last login.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Promotable" enum="Boolean">
- <summary>
- Whether the website can be an installable web app.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="UrlContent" enum="URLContent">
- <summary>
- The url content, e.g. full url, scope.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="UserDeviceMatrix" enum="UserDeviceMatrix">
- <summary>
- An enum that records the user type and the device type.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="ChromeOSApp.InputEvent">
- <owner>nancylingwang@chromium.org</owner>
- <owner>dominickn@chromium.org</owner>
- <summary>
- Records each five minutes in Chrome OS to log the input events happened on
- the app window. This is logged only when the user allows app syncing or
- allows sync of everything, and the user does not set up a sync passphrase.
- </summary>
- <metric name="AppInputEventCount">
- <summary>
- The number of the input events happened in each five mintues.
- </summary>
- </metric>
- <metric name="AppInputEventSource" enum="AppInputEventSource">
- <summary>
- An enum that records the input event source.
- </summary>
- </metric>
- <metric name="AppType" enum="AppType">
- <summary>
- An enum that records the app type.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="UserDeviceMatrix" enum="UserDeviceMatrix">
- <summary>
- An enum that records the user type and the device type.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="ChromeOSApp.InstalledApp">
- <owner>nancylingwang@chromium.org</owner>
- <owner>dominickn@chromium.org</owner>
- <summary>
- Records the installed app in Chrome OS, only when the user allows app
- syncing or allows sync of everything, and the user does not set up a sync
- passphrase. Only ARC apps, Chrome apps and web apps(PWA), system web apps,
- buildin apps are recorded. This is logged when the user installs a new app.
- </summary>
- <metric name="AppType" enum="AppType">
- <summary>
- An enum that records the app type.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="InstallReason" enum="InstallReason">
- <summary>
- An enum that records the reason why the app was installed.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="InstallSource" enum="InstallSource">
- <obsolete>
- Removed in M96. Replaced with InstallReason.
- </obsolete>
- <summary>
- An enum that records how the app was installed.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="InstallSource2" enum="InstallSource2">
- <summary>
- An enum that records where the app was installed.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="InstallTime" enum="InstallTime">
- <summary>
- An enum that records when the app was installed.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="UserDeviceMatrix" enum="UserDeviceMatrix">
- <summary>
- An enum that records the user type and the device type.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="ChromeOSApp.Launch">
- <owner>nancylingwang@chromium.org</owner>
- <owner>dominickn@chromium.org</owner>
- <summary>
- Records a launched app in Chrome OS, only when the user allows app syncing
- or allows sync of everything, and the user does not set up a sync
- passphrase. Only ARC apps, Chrome apps and web apps(PWA), system web apps,
- buildin apps are recorded. This is logged when an app is launched.
- </summary>
- <metric name="AppType" enum="AppType">
- <summary>
- An enum that records the app type.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="LaunchSource" enum="LaunchSource">
- <summary>
- An enum that records where the app was launched.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="UserDeviceMatrix" enum="UserDeviceMatrix">
- <summary>
- An enum that records the user type and the device type.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="ChromeOSApp.UninstallApp">
- <owner>nancylingwang@chromium.org</owner>
- <owner>dominickn@chromium.org</owner>
- <summary>
- Records the uninstalled app in Chrome OS, only when the user allows app
- syncing or allows sync of everything, and the user does not set up a sync
- passphrase. Only ARC apps, Chrome apps and web apps(PWA), system web apps,
- buildin apps are recorded. This is logged when the user uninstalls an app.
- </summary>
- <metric name="AppType" enum="AppType">
- <summary>
- An enum that records the app type.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="UninstallSource" enum="UninstallSource">
- <summary>
- An enum that records how the app was uninstalled.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="UserDeviceMatrix" enum="UserDeviceMatrix">
- <summary>
- An enum that records the user type and the device type.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="ChromeOSApp.UsageTime">
- <owner>nancylingwang@chromium.org</owner>
- <owner>dominickn@chromium.org</owner>
- <summary>
- Records the amount of time that the app were used in the last five minutes
- on Chrome OS, only when the user allows app syncing or allows sync of
- everything, and the user does not set up a sync passphrase. Only ARC apps,
- Chrome apps and web apps(PWA), system web apps, buildin apps are recorded.
- This is logged every five minutes.
- </summary>
- <metric name="AppType" enum="AppType">
- <summary>
- An enum that records the app type.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Duration">
- <summary>
- The milliseconds that the app was used.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="UserDeviceMatrix" enum="UserDeviceMatrix">
- <summary>
- An enum that records the user type and the device type.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="ChromeOSApp.UsageTimeReusedSourceId">
- <owner>nancylingwang@chromium.org</owner>
- <owner>dominickn@chromium.org</owner>
- <summary>
- Records the amount of time that the app were used in the last five minutes
- on Chrome OS, only when the user allows app syncing or allows sync of
- everything, and the user does not set up a sync passphrase. Only ARC apps,
- Chrome apps and web apps(PWA), system web apps, buildin apps are recorded.
- This is logged every two hours.
- </summary>
- <metric name="AppType" enum="AppType">
- <summary>
- An enum that records the app type.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Duration">
- <summary>
- The milliseconds that the app was used.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="UserDeviceMatrix" enum="UserDeviceMatrix">
- <summary>
- An enum that records the user type and the device type.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="ClickInput" singular="True">
- <owner>dougarnett@chromium.org</owner>
- <summary>
- Metrics associated with user click input. In particular, captures when user
- has a burst of clicks at the same location which may be a signal of user
- unhappiness for an experiment if it differs from the baseline data for the
- site.
- </summary>
- <metric name="Experimental.ClickInputBurst">
- <summary>
- The count of the largest burst of click inputs for a page load. Only
- recorded if it meets a minimum threshold to be considered a burst.
- </summary>
- </metric>
- </event>
- <event name="ClientRenderingAPI">
- <owner>aaronhk@chromium.org</owner>
- <owner>cwallez@chromium.org</owner>
- <owner>enga@chromium.org</owner>
- <owner>fserb@chromium.org</owner>
- <owner>jdarpinian@chromium.org</owner>
- <owner>juanmihd@chromium.org</owner>
- <owner>kainino@chromium.org</owner>
- <owner>kbr@chromium.org</owner>
- <owner>shrekshao@google.com</owner>
- <summary>
- Metrics collecting types of rendering context created with
- canvas/offscreencanvas. It also collects requests of GPU device via WebGPU
- API.
- </summary>
- <metric name="Canvas.RenderingContext" enum="CanvasRenderingAPI">
- <summary>
- Type of rendering contexts created for HTMLCanvasElement.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Canvas.RenderingContextDrawnTo" enum="CanvasRenderingAPI">
- <summary>
- Type of rendering contexts created for HTMLCanvasElement that something
- has actually been drawn to. For WebGL 1 and 2 context this means there is
- at least one draw call issued. For other context types we leave the
- implementation blank at this moment.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="GPUDevice">
- <summary>
- Event fired when a GPUDevice from the WebGPU API is created.
- </summary>
- </metric>
- <metric name="OffscreenCanvas.RenderingContext" enum="CanvasRenderingAPI">
- <summary>
- Type of rendering contexts created for OffscreenCanvas.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="OffscreenCanvas.RenderingContextDrawnTo"
- enum="CanvasRenderingAPI">
- <summary>
- Type of rendering contexts created for OffscreenCanvas that something has
- actually been drawn to. For WebGL 1 and 2 context this means there is at
- least one draw call issued. For other context types we leave the
- implementation blank at this moment.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="Compositor.Rendering">
- <owner>khushalsagar@chromium.org</owner>
- <summary>
- Metrics related to rendering in the compositor.
- </summary>
- <metric name="CheckerboardedImagesCount">
- <summary>
- The number of images checker-imaged and re-rasterized on this page.
- </summary>
- </metric>
- </event>
- <event name="Compositor.UserInteraction">
- <owner>khushalsagar@chromium.org</owner>
- <summary>
- Metrics related to user interaction handled by the compositor. This includes
- user gestures like scrolling, pinch-zoom and page-scale animations triggered
- in response to a double-tap event. The length of the user interaction is
- defined as the time the compositor is running an animation resulting from
- user input.
- </summary>
- <metric name="CheckerboardedContentArea">
- <summary>
- The number of visible pixels per frame checkerboarded during this
- interaction.
- </summary>
- </metric>
- <metric name="CheckerboardedContentAreaRatio">
- <summary>
- The percentage of visible pixels per frame checkerboarded during this
- interaction. This value should be between [0, 100].
- </summary>
- </metric>
- <metric name="CheckerboardedImagesCount">
- <summary>
- The number of images checker-imaged and re-rasterized during this
- interaction.
- </summary>
- </metric>
- <metric name="NumMissingTiles">
- <summary>
- The number of visible tiles per frame checkerboarded during this
- interaction.
- </summary>
- </metric>
- </event>
- <event name="ContactsPicker.ShareStatistics">
- <owner>finnur@chromium.org</owner>
- <owner>peter@chromium.org</owner>
- <summary>
- Measures statistics about the contacts shared in the contacts picker (when
- the Contacts Picker dialog is dismissed.)
- </summary>
- <metric name="PropertiesRequested">
- <summary>
- Measures the contact properties requested by the website (names, emails,
- telephone numbers). Bit 1 - telephone numbers, bit 2 - emails, bit 3 -
- names.
- </summary>
- </metric>
- <metric name="SelectCount">
- <summary>
- Measures the total number of contacts selected in the contacts picker.
- </summary>
- </metric>
- <metric name="SelectPercentage">
- <summary>
- Measures the percentage of contacts selected in the contacts picker.
- </summary>
- </metric>
- </event>
- <event name="ContentIndex.Added">
- <owner>rayankans@chromium.org</owner>
- <summary>
- Collected when a new Content Index entry is registered.
- </summary>
- <metric name="Category" enum="ContentIndexCategory">
- <summary>
- The type of the content registered. Corresponds to
- blink.mojom.ContentCategory.
- </summary>
- </metric>
- </event>
- <event name="ContentIndex.DeletedByUser">
- <owner>rayankans@chromium.org</owner>
- <summary>
- Collected when a Content Index entry is deleted by the user from the
- Downloads page.
- </summary>
- <metric name="Deleted" enum="Boolean">
- <summary>
- Always true.
- </summary>
- </metric>
- </event>
- <event name="ContentIndex.Opened">
- <owner>rayankans@chromium.org</owner>
- <summary>
- Collected when a Content Index entry is opened from the Downloads page.
- </summary>
- <metric name="IsOffline" enum="Boolean">
- <summary>
- Whether the browser was offline when the content was opened.
- </summary>
- </metric>
- </event>
- <event name="ContextMenuAndroid.Selected">
- <owner>benwgold@google.com</owner>
- <owner>twellington@chromium.org</owner>
- <metric name="Action">
- <summary>
- Emits an integer id for a selection corresponding to the action enum
- defined in ChromeContextMenuPopulator.java (within the ContextMenuUma
- class).
- </summary>
- </metric>
- </event>
- <event name="ContextMenuAndroid.Shown">
- <owner>benwgold@google.com</owner>
- <owner>twellington@chromium.org</owner>
- <metric name="SearchByImage" enum="Boolean">
- <summary>
- Recorded when the context menu is constructed and logged if the search by
- image option was displayed.
- </summary>
- </metric>
- <metric name="SearchWithGoogleLens" enum="Boolean">
- <summary>
- Recorded when the context menu is constructed and logged if the Lens
- option was displayed.
- </summary>
- </metric>
- <metric name="ShopWithGoogleLens" enum="Boolean">
- <summary>
- Recorded when the context menu is constructed and logged if the Lens
- shopping option was displayed.
- </summary>
- </metric>
- <metric name="ShopWithGoogleLensChip" enum="Boolean">
- <summary>
- Recorded when the context menu is constructed and logged if the Lens
- shopping chip was displayed.
- </summary>
- </metric>
- <metric name="TranslateWithGoogleLensChip" enum="Boolean">
- <summary>
- Recorded when the context menu is constructed and logged if the Lens
- translate chip was displayed.
- </summary>
- </metric>
- </event>
- <event name="ContextualSearch">
- <obsolete>
- Deprecated as of 05/2022.
- </obsolete>
- <owner>donnd@chromium.org</owner>
- <summary>
- Metrics related to a Contextual Search Tap event on a page, for use with
- Ranker. These metrics are recorded each time the user triggers the
- Contextual Search UI via a tap gesture (when enabled).
- </summary>
- <metric name="DidOptIn">
- <summary>
- Emits a 1 or 0 to indicate whether the user has Opted-in to the privacy
- conditions for Contextual Search or not.
- </summary>
- </metric>
- <metric name="DurationAfterScrollMs">
- <summary>
- Duration in MS between showing the UI and a subsequent scroll event, or
- not recorded if there was no subsequent scroll.
- </summary>
- </metric>
- <metric name="EntityImpressionsCount">
- <summary>
- Emits an integer in the range of 0 - N that represents the number of
- impressions of an Entity that were shown in the Bar, aggregated in Android
- device storage for this user, starting in M-69.
- </summary>
- </metric>
- <metric name="EntityOpensCount">
- <summary>
- Emits an integer in the range of 0 - N that represents the number of times
- an Entity was shown in the Bar and the panel was opened, aggregated in
- Android device storage for this user, starting in M-69.
- </summary>
- </metric>
- <metric name="FontSize">
- <summary>
- Emits a value from 0-10 representing the effective font size on the
- screen. A value of 0 means the font size cannot be obtained. A value of 1
- represents a very small font and a value of 10 represents a large font.
- </summary>
- </metric>
- <metric name="IsEntity">
- <summary>
- Emits a 1 or 0 to indicate whether the word tapped appears to be part of
- an entity, given simple English language rules that check capitalization
- and punctuation.
- </summary>
- </metric>
- <metric name="IsEntityEligible">
- <summary>
- Emits a 1 or 0 to indicate whether the IsEntity boolean ever had a chance
- of being true or not. When we're dealing with languages other than ones
- where our simple entity-detection can work this signal is false.
- </summary>
- </metric>
- <metric name="IsHttp">
- <summary>
- Emits a 1 or 0 to indicate whether the base page is HTTP (insecure).
- </summary>
- </metric>
- <metric name="IsLanguageMismatch">
- <summary>
- Emits a 1 or 0 to indicate whether the language of the base page is a
- mismatch from the list of languages the user knows, so they might want
- translation.
- </summary>
- </metric>
- <metric name="IsLongWord">
- <summary>
- Emits a 1 or 0 to indicate whether the word tapped was considered long (at
- least 10 chars in length).
- </summary>
- </metric>
- <metric name="IsSecondTapOverride">
- <summary>
- Emits a 1 or 0 to indicate whether the tap was an override of normal tap
- suppression because it was considered a second tap on a word after the
- first tap was suppressed.
- </summary>
- </metric>
- <metric name="IsShortWord">
- <summary>
- Emits a 1 or 0 to indicate whether the word tapped was considered short
- (less than 4 characters in length).
- </summary>
- </metric>
- <metric name="IsWordEdge">
- <summary>
- Emits a 1 or 0 to indicate whether the tap gesture was on the edge of a
- word, rather than in the middle 50% of the word.
- </summary>
- </metric>
- <metric name="OpenCount">
- <summary>
- Emits an integer in the range of 0 - N that represents the total number of
- times the user opened the panel, aggregated in Android device storage for
- this user since M-69.
- </summary>
- </metric>
- <metric name="OutcomeRankerDidPredict">
- <summary>
- Emits a 1 or 0 to indicate whether Ranker was able to make a prediction.
- </summary>
- </metric>
- <metric name="OutcomeRankerPrediction">
- <summary>
- Emits a 1 or 0 to indicate what Ranker's prediction was for this record.
- Recorded only when OutcomeRankerDidPredict is true.
- </summary>
- </metric>
- <metric name="OutcomeRankerPredictionScore">
- <summary>
- Emits a single-precision float to indicate the score for the Ranker
- prediction for this record. Recorded only when OutcomeRankerDidPredict is
- true.
- </summary>
- </metric>
- <metric name="OutcomeWasCardsDataShown">
- <summary>
- Emits a 1 or 0 to indicate whether any Contextual Cards data was shown in
- the Contextual Search Bar.
- </summary>
- </metric>
- <metric name="OutcomeWasPanelOpened">
- <summary>
- Emits a 1 or 0 to indicate whether the user opened the overlay panel. This
- is the primary outcome metric.
- </summary>
- </metric>
- <metric name="OutcomeWasQuickActionClicked">
- <summary>
- Emits a 1 or 0 to indicate whether the user clicked within the overlay
- panel when a Quick-Action was shown. This is a secondary outcome metric.
- </summary>
- </metric>
- <metric name="OutcomeWasQuickAnswerSeen">
- <summary>
- Emits a 1 or 0 to indicate whether the user could see a Quick-Answer
- caption within the overlay panel. This is a tertiary outcome metric.
- </summary>
- </metric>
- <metric name="PortionOfElement">
- <summary>
- Emits an integer in the range 0-10 inclusive that expresses the portion of
- the enclosing element that is the word tapped. A zero will be emitted if
- the ratio cannot be calculated. A value of 10 means the word spans the
- entire element, and a value of 1 means the word is 10% or less than the
- entire element.
- </summary>
- </metric>
- <metric name="Previous28DayCtrPercent">
- <summary>
- The CTR of the overlay panel for this user, aggregated in Android device
- storage over a previous 28 day period, expressed as an integer between
- 0-99, since M-60.
- </summary>
- </metric>
- <metric name="Previous28DayImpressionsCount">
- <summary>
- The count of views of the overlay panel for this user, aggregated in
- Android device storage over a previous 28 day period, since M-60.
- </summary>
- </metric>
- <metric name="PreviousWeekCtrPercent">
- <summary>
- The CTR of the overlay panel for this user, aggregated in Android device
- storage over the previous week, expressed as an integer between 0-99,
- since M-60.
- </summary>
- </metric>
- <metric name="PreviousWeekImpressionsCount">
- <summary>
- The count of views of the overlay panel for this user, aggregated in
- Android device storage over the previous week, since M-60.
- </summary>
- </metric>
- <metric name="QuickActionImpressionsCount">
- <summary>
- Emits an integer in the range of 0 - N that represents the total number of
- times the user saw a quick action in the caption of the Bar, e.g. a phone
- number to dial. Aggregated in Android device storage since M-69 for this
- user.
- </summary>
- </metric>
- <metric name="QuickActionsIgnored">
- <summary>
- Emits an integer in the range of 0 - N that represents the total number of
- times the user ignored a quick action but opened the Bar instead, e.g. a
- phone number was available but not dialed. Aggregated in Android device
- storage starting at M-69.
- </summary>
- </metric>
- <metric name="QuickActionsTaken">
- <summary>
- Emits an integer in the range of 0 - N that represents the total number of
- times the user activated a quick action by tapping on a quick action shown
- in the Bar, e.g. dialed a phone number. Aggregated in Android device
- storage since M-69 for this user.
- </summary>
- </metric>
- <metric name="QuickAnswerCount">
- <summary>
- Emits an integer in the range of 0 - N that represents the total number of
- times the user saw a quick answer in the caption of the Bar. Typically
- these quick answers represent an automatic translation of the selection.
- Aggregated in Android device storage for all time for this user, since
- M-57.
- </summary>
- </metric>
- <metric name="ScreenTopDps">
- <summary>
- The location of the tap relative to the top of the screen, expressed in
- DPs.
- </summary>
- </metric>
- <metric name="TapCount">
- <summary>
- Emits an integer in the range of 0 - N that represents the total number of
- taps that triggered the Bar, aggregated in Android device storage for this
- user, since M-43.
- </summary>
- </metric>
- <metric name="TapDurationMs">
- <summary>
- The duration of the tap gesture expressed as an integer in milliseconds.
- </summary>
- </metric>
- <metric name="WasScreenBottom">
- <summary>
- The location of the tap relative to the bottom of the screen, expressed as
- an integer with 0 meaning not at the bottom and 1 meaning at the bottom.
- </summary>
- </metric>
- </event>
- <event name="ContextualSuggestions">
- <obsolete>
- This feature was deprecated in M74
- </obsolete>
- <owner>donnd@chromium.org</owner>
- <owner>fgorski@chromium.org</owner>
- <owner>twellington@chromium.org</owner>
- <owner>zea@chromium.org</owner>
- <summary>
- Metrics related to Contextual Suggestions shown in the Chrome Assistive
- Surface, aka EoC shown in CAS. These metrics are recorded each time the
- Contextual Suggestions UI is dismissed. Each record always contains a value
- for every metric known at the time of the implementation.
- </summary>
- <metric name="AnyDownloaded">
- <summary>
- Emits an integer in the range 0-1 to indicate whether the user downloaded
- any suggestions.
- </summary>
- </metric>
- <metric name="AnySuggestionTaken">
- <summary>
- Emits an integer in the range 0-1 to indicate whether any suggestion link
- was taken.
- </summary>
- </metric>
- <metric name="ClosedFromPeek">
- <summary>
- Emits an integer in the range 0-1 to indicate whether the peeking sheet
- was closed by tapping on the close button.
- </summary>
- </metric>
- <metric name="EverOpened">
- <summary>
- Emits an integer in the range 0-1 to indicate whether the sheet was ever
- opened.
- </summary>
- </metric>
- <metric name="FetchState">
- <summary>
- Emits an integer in the range 0-7 to indicate the ending state of the data
- fetcher and results returned. A value of 0 indicates not-started, a 7
- indicates fetch-completed with suggestions. See the code for details.
- </summary>
- </metric>
- <metric name="ShowDurationBucketMin">
- <summary>
- Emits an integer in the range 0-N to indicate the duration that the sheet
- was shown before a positive or negative action was taken. A value of 0
- indicates that the UI was never shown. A value greater than 0 indicates
- that some user interaction occurred taking at least the indicated number
- of milliseconds, but less than twice that amount. This exponential
- bucketing is done for privacy reasons, and uses the UKM
- GetExponentialBucketMin method with a value of 2.0 for spacing.
- </summary>
- </metric>
- <metric name="TriggerEvent">
- <summary>
- Emits an integer in the range 0-2 to indicate whether the contextual
- suggestions UI was ever triggered and how it was triggered. A value of 0
- indicates never-shown, a 1 indicates peeked in response to a
- reverse-scroll (deprecated), and 2 indicates that the toolbar button was
- shown (the only trigger currently supported).
- </summary>
- </metric>
- </event>
- <event name="CPUUsageMeasurement">
- <owner>chrisha@chromium.org</owner>
- <owner>siggi@chromium.org</owner>
- <summary>
- A CPU usage measurement that corresponds to a tick in a CPU usage
- time-series. There is also some metadata stored to determine how faithful
- the CPU usage measurement is (e.g. NumberOfCoresidentTabs).
- </summary>
- <metric name="CPUUsage">
- <summary>
- CPU usage measurement. This is in units of clock-cycles. For example, 1.2
- seconds of 100% CPU usage on a 2.5GHz CPU corresponds to a value of 1.2 x
- 1.0 x 2.5e9 = 3e6.
- </summary>
- </metric>
- <metric name="EventType">
- <summary>
- The event associated with the measurement. This is an integer value
- corresponding to the enum defined in
- resource_coordinator::RenderProcessProbe.
- </summary>
- </metric>
- <metric name="IsVisible">
- <summary>
- Indicates if any frame hosted in this tab is visible at the moment the
- measurement is taken.
- </summary>
- </metric>
- <metric name="NumberOfCoresidentTabs">
- <summary>
- Number of co-resident tabs in all of the render processes a tab is
- associated with when the CPU usage measurement is taken.
- </summary>
- </metric>
- <metric name="ObservationWindowSizeMs">
- <summary>
- The size of the observation window (time since last CPU measurement) in
- milliseconds.
- </summary>
- </metric>
- <metric name="ProcessUptimeMs">
- <summary>
- The uptime of the process being measured, in milliseconds.
- </summary>
- </metric>
- </event>
- <event name="CrossOriginSubframeWithoutEmbeddingControl">
- <owner>clamy@chromium.org</owner>
- <summary>
- Recorded when a subframe is embedded in a cross-origin context without
- having a CSP frame-ancestor header or an XFO header.
- </summary>
- <metric name="SubframeEmbedded">
- <summary>
- Mesaures the number of pages with subframes embedded in cross-origin
- contexts without having a CSP frame-ancestor header or an XFO header.
- </summary>
- </metric>
- </event>
- <event name="DataReductionProxy" singular="True">
- <owner>robertogden@chromium.org</owner>
- <summary>
- Data Reduction Proxy related metrics associated with a page load. See
- //components/data_reduction_proxy/.
- </summary>
- <metric name="DataSaverPageUUID">
- <summary>
- A unique identifier of this page load to the proxy server. Recorded for
- each navigation that uses the proxy.
- </summary>
- </metric>
- <metric name="EstimatedOriginalNetworkBytes">
- <summary>
- The estimated number of bytes that would have been used if that proxy was
- disabled on this page load. Recorded for each navigation that uses the
- proxy.
- </summary>
- </metric>
- </event>
- <event name="DetachedWindows.Experimental">
- <obsolete>
- Deprecated as of 01/2020.
- </obsolete>
- <owner>bartekn@chromium.org</owner>
- <summary>
- Metrics related to detached windows.
- </summary>
- <metric name="NavigationSourceId">
- <summary>
- Contains the UKM source id of the navigation as an integer.
- </summary>
- </metric>
- <metric name="NumberOfCallsInDetachedWindowByClosing">
- <summary>
- The number of function calls in a window detached by closing/removal.
- </summary>
- </metric>
- <metric name="NumberOfCallsInDetachedWindowByClosing_After10sSinceDetaching">
- <summary>
- The number of function calls in a window detached by closing/removal, that
- happened at least 10 seconds after detaching.
- </summary>
- </metric>
- <metric name="NumberOfCallsInDetachedWindowByClosing_After1minSinceDetaching">
- <summary>
- The number of function calls in a window detached by closing/removal, that
- happened at least 1 minute after detaching.
- </summary>
- </metric>
- <metric name="NumberOfCallsInDetachedWindowByNavigation">
- <summary>
- The number of function calls in a window detached by navigating away.
- </summary>
- </metric>
- <metric
- name="NumberOfCallsInDetachedWindowByNavigation_After10sSinceDetaching">
- <summary>
- The number of function calls in a window detached by navigating away, that
- happened at least 10 seconds after detaching.
- </summary>
- </metric>
- <metric
- name="NumberOfCallsInDetachedWindowByNavigation_After1minSinceDetaching">
- <summary>
- The number of function calls in a window detached by navigating away, that
- happened at least 1 minute after detaching.
- </summary>
- </metric>
- <metric name="NumberOfCallsInDetachedWindowByOtherReason">
- <summary>
- The number of function calls in a window detached by another reason.
- </summary>
- </metric>
- <metric
- name="NumberOfCallsInDetachedWindowByOtherReason_After10sSinceDetaching">
- <summary>
- The number of function calls in a window detached by another reason, that
- happened at least 10 seconds after detaching.
- </summary>
- </metric>
- <metric
- name="NumberOfCallsInDetachedWindowByOtherReason_After1minSinceDetaching">
- <summary>
- The number of function calls in a window detached by another reason, that
- happened at least 1 minute after detaching.
- </summary>
- </metric>
- </event>
- <event name="DIPS.Redirect" singular="True">
- <owner>rtarpine@google.com</owner>
- <summary>
- Recorded on every HTTP redirect or client-side bounce, where a client-side
- bounce is a non-user-initiated navigation starting soon after the previous
- navigation committed.
- </summary>
- <metric name="ClientBounceDelay">
- <summary>
- Populated for client redirects only. The time in seconds (capped at 10)
- between the page committing and the redirect navigation starting. An int
- in the range [0, 10].
- </summary>
- </metric>
- <metric name="CookieAccessType" enum="CookieAccessType">
- <summary>
- Whether the redirect read cookies, wrote cookies, both, or neither.
- </summary>
- </metric>
- <metric name="HasStickyActivation" enum="BooleanHasUserActivation">
- <summary>
- Populated for client redirects only. Whether the user ever interacted with
- the page. (See the HTML spec for a definition.)
- </summary>
- </metric>
- <metric name="InitialAndFinalSitesSame" enum="BooleanSameSite">
- <summary>
- True when the site before the redirect chain is the same as the site at
- the end of the chain.
- </summary>
- </metric>
- <metric name="RedirectAndFinalSiteSame" enum="BooleanSameSite">
- <summary>
- True when the redirect site is the same as the site at the end of the
- redirect chain.
- </summary>
- </metric>
- <metric name="RedirectAndInitialSiteSame" enum="BooleanSameSite">
- <summary>
- True when the redirect site is the same as the site before the redirect
- chain.
- </summary>
- </metric>
- <metric name="RedirectChainIndex">
- <summary>
- 0-based index of this individual redirect within its chain.
- </summary>
- </metric>
- <metric name="RedirectChainLength">
- <summary>
- The length of the overall redirect chain.
- </summary>
- </metric>
- <metric name="RedirectType" enum="DIPSRedirectType">
- <summary>
- The type of the redirect: client or server.
- </summary>
- </metric>
- <metric name="SiteEngagementLevel" enum="SiteEngagementLevel">
- <summary>
- The site engagement level of the redirect URL, at the time the redirect
- took place.
- </summary>
- </metric>
- </event>
- <event name="Document.OutliveTimeAfterShutdown">
- <obsolete>
- Removed January 2021
- </obsolete>
- <owner>hajimehoshi@chromium.org</owner>
- <owner>keishi@chromium.org</owner>
- <summary>
- Recorded when a Document object survives certain number of garbage
- collections after detached. It is expected that regular Document objects are
- destroyed soon after detached, and if a document outlives longer, probably
- this can be leaked.
- </summary>
- <metric name="GCCount">
- <summary>
- Measures the numbers of garbarge collection after the document is
- detached. This is recorded when the number reached certain numbers like 5
- or 10.
- </summary>
- </metric>
- </event>
- <event name="DocumentCreated">
- <owner>beccahughes@chromium.org</owner>
- <summary>
- Recorded when a Document object is created and records the source ID of the
- navigation and whether the document was in the main frame. This can be used
- to link subframe UKM events to the parent document.
- </summary>
- <metric name="IsCrossOriginFrame">
- <summary>
- Whether the document was in a cross origin iframe. This can either be 0 or
- 1.
- </summary>
- </metric>
- <metric name="IsCrossSiteFrame">
- <summary>
- Whether the document was in a cross site iframe. This can either be 0 or
- 1.
- </summary>
- </metric>
- <metric name="IsMainFrame">
- <summary>
- Whether the document was in the main frame. This is can either be 0 or 1.
- </summary>
- </metric>
- <metric name="NavigationSourceId">
- <summary>
- Contains the UKM source id of the navigation as an integer.
- </summary>
- </metric>
- </event>
- <event name="Download.Completed">
- <owner>clank-downloads@google.com</owner>
- <summary>
- Metrics taken when a download completes. Its parent event is
- Download.Started.
- </summary>
- <metric name="BytesWasted">
- <summary>
- The number of bytes that have been used in an excess (ie. download
- restarting the middle of a download).
- </summary>
- </metric>
- <metric name="DownloadId">
- <summary>
- The id of the download that is used to associate separate events.
- </summary>
- </metric>
- <metric name="ResultingFileSize">
- <summary>
- The size of the file that is downloaded, expressed in kilobytes with
- exponentially growing buckets.
- </summary>
- </metric>
- <metric name="TimeSinceStart">
- <summary>
- The difference in the time between when the download finished and when it
- began, expressed in miliseconds.
- </summary>
- </metric>
- </event>
- <event name="Download.Interrupted">
- <owner>clank-downloads@google.com</owner>
- <summary>
- Metrics taken when a download is interrupted. Its parent event is
- Download.Started.
- </summary>
- <metric name="BytesWasted">
- <summary>
- The number of bytes that have been used in an excess (ie. download
- restarting the middle of a download).
- </summary>
- </metric>
- <metric name="ChangeInFileSize">
- <summary>
- The difference in the size of the file that is downloaded compared to the
- initial reported size, expressed in kilobytes with exponentially growing
- buckets.
- </summary>
- </metric>
- <metric name="DownloadId">
- <summary>
- The id of the download that is used to associate separate events.
- </summary>
- </metric>
- <metric name="Reason">
- <summary>
- The reason the download was interrupted, expressed as an enum defined in
- DownloadInterruptReason.
- </summary>
- </metric>
- <metric name="ResultingFileSize">
- <summary>
- The size of the file that is downloaded, expressed in kilobytes with
- exponentially growing buckets.
- </summary>
- </metric>
- <metric name="TimeSinceStart">
- <summary>
- The difference in the time between when the download interrupted and when
- it began, expressed in miliseconds.
- </summary>
- </metric>
- </event>
- <event name="Download.Resumed">
- <owner>clank-downloads@google.com</owner>
- <summary>
- Metrics taken when a download is resumed. Its parent event is
- Download.Started.
- </summary>
- <metric name="DownloadId">
- <summary>
- The id of the download that is used to associate separate events.
- </summary>
- </metric>
- <metric name="Mode">
- <summary>
- The mode by which the download was resumed, expressed as an enum defined
- in ResumeMode.
- </summary>
- </metric>
- <metric name="TimeSinceStart">
- <summary>
- The difference in the time between when the download resumed and when it
- began, expressed in miliseconds.
- </summary>
- </metric>
- </event>
- <event name="Download.Started">
- <owner>clank-downloads@google.com</owner>
- <summary>
- Metrics taken when a download begins. It has one Download.Ended and none to
- multiple Download.Interrupted/Download.Resumed events associated with it.
- </summary>
- <metric name="DownloadConnectionSecurity">
- <summary>
- The state of the security of the final download URL and all the redirects
- leading to it. Expressed as an enum defined in DownloadConnectionSecurity.
- </summary>
- </metric>
- <metric name="DownloadId">
- <summary>
- The id of the download that is used to associate separate events.
- </summary>
- </metric>
- <metric name="DownloadSource">
- <summary>
- The source of the download, expressed as an enum defined in DownloadEntry.
- </summary>
- </metric>
- <metric name="FileType">
- <summary>
- The type of file that is downloaded, expressed as an enum defined in
- DownloadContentType.
- </summary>
- </metric>
- <metric name="IsSameHostDownload">
- <summary>
- A boolean denoting if the final download URL is the same host as the
- initiating frame (i.e., whether the initiating site likely controls the
- download itself).
- </summary>
- </metric>
- </event>
- <event name="Event.ScrollBegin.Touch">
- <owner>nzolghadr@chromium.org</owner>
- <summary>
- Metrics related to first scroll action caused by the generated ScrollUpdate
- gesture event.
- </summary>
- <metric name="IsMainThread">
- <summary>
- Whether the event is handled on the main thread or not.
- </summary>
- </metric>
- <metric name="TimeToHandled">
- <summary>
- The time in microseconds between initial creation of a touch event and the
- first generated ScrollUpdate gesture event in a given scroll gesture event
- sequence is handled on main/impl thread. If no swap was induced by the
- ScrollUpdate gesture event, no recording is made.
- </summary>
- </metric>
- <metric name="TimeToScrollUpdateSwapBegin">
- <summary>
- The time in microseconds between initial creation of a touch event and the
- start of the frame swap on the GPU service caused by the generated
- ScrollUpdate gesture event if that ScrollUpdate is the first such event in
- a given scroll gesture event sequence. If no swap was induced by the
- event, no recording is made.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.country,profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="Event.ScrollBegin.Wheel">
- <owner>nzolghadr@chromium.org</owner>
- <summary>
- Metrics related to first scroll action caused by the generated ScrollUpdate
- gesture event.
- </summary>
- <metric name="IsMainThread">
- <summary>
- Whether the event is handled on the main thread or not.
- </summary>
- </metric>
- <metric name="TimeToHandled">
- <summary>
- The time in microseconds between initial creation of a wheel event and the
- first generated ScrollUpdate gesture event in a given scroll gesture event
- sequence is handled on main/impl thread. If no swap was induced by the
- ScrollBegin gesture event, no recording is made.
- </summary>
- </metric>
- <metric name="TimeToScrollUpdateSwapBegin">
- <summary>
- The time in microseconds between the initial creation of a wheel event and
- the start of the frame swap on the GPU service caused by the generated
- ScrollUpdate gesture event if that ScrollUpdate is the first such event in
- a given scroll gesture event sequence. If no swap was induced by the
- event, no recording is made.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.country,profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="Event.ScrollUpdate.Touch">
- <owner>nzolghadr@chromium.org</owner>
- <summary>
- Metrics related to a scroll action caused by the generated ScrollUpdate
- gesture event.
- </summary>
- <metric name="IsMainThread">
- <summary>
- Whether the event is handled on the main thread or not.
- </summary>
- </metric>
- <metric name="TimeToHandled">
- <summary>
- The time in microseconds between initial creation of a touch event and the
- generated ScrollUpdate gesture event is handled on main/impl thread. If no
- swap was induced by the ScrollUpdate gesture event, no recording is made.
- </summary>
- </metric>
- <metric name="TimeToScrollUpdateSwapBegin">
- <summary>
- The time in microseconds between the initial creation of a touch event and
- the start of the frame swap on the GPU service. If no swap was induced by
- the event, no recording is made. The first GSU of every scrolling sequence
- is excluded from this metric.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.country,profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="Event.ScrollUpdate.Wheel">
- <owner>nzolghadr@chromium.org</owner>
- <owner>tdresser@chromium.org</owner>
- <summary>
- Metrics related to a scroll action caused by the generated ScrollUpdate
- gesture event.
- </summary>
- <metric name="IsMainThread">
- <summary>
- Whether the event is handled on the main thread or not.
- </summary>
- </metric>
- <metric name="TimeToHandled">
- <summary>
- The time in microseconds between initial creation of a wheel event and the
- generated ScrollUpdate gesture event is handled on main/impl thread. If no
- swap was induced by the ScrollUpdate gesture event, no recording is made.
- The first GSU of every scrolling sequence is excluded from this metric.
- </summary>
- </metric>
- <metric name="TimeToScrollUpdateSwapBegin">
- <summary>
- The time in microseconds between the initial creation of a wheel event and
- the start of the frame swap on the GPU service. If no swap was induced by
- the event, no recording is made. The first GSU of every scrolling sequence
- is excluded from this metric.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.country,profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="Extensions.CrossOriginFetchFromContentScript3">
- <obsolete>
- Deprecated in Chrome 87 / September 2020 - it was not needed anymore since
- CORS-for-content-scripts has succesfully shipped in M85.
- </obsolete>
- <owner>lukasza@chromium.org</owner>
- <summary>
- This UKM event is logged when an extension which triggers a cross-origin
- CORS-mode request from a content script if such a request results would be
- allowed by CORB, but potentially blocked by CORS. The source-id URL
- associated with the UKM event identifies the extension initiating such
- request.
- Note that this data is only gathered if the
- CorbAllowlistAlsoAppliesToOorCors feature is disabled. Also note that this
- data is not gathered for extensions that are already on the allowlist.
- </summary>
- <metric name="EventHappened" enum="Boolean">
- <summary>
- Always true - introduced to have non-zero number of metrics which should
- make it easier to work with queries / dashboards for the overall
- CrossOriginFetchFromContentScript3 event.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="Extensions.WebRequest.KeepaliveRequestFinished">
- <owner>yhirano@chromium.org</owner>
- <owner>kinuko@chromium.org</owner>
- <summary>
- Whether and how keepalive requests are blocked. Recorded when a keepalive
- request finishes.
- </summary>
- <metric name="NumRedirects">
- <summary>
- The number of redirects the request experienced. This is up to 21, as
- specified at https://fetch.spec.whatwg.org/#http-redirect-fetch .
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="State" enum="ExtensionInProgressRequestState">
- <summary>
- The final state of the request.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="FileSystemAPI.WebRequest">
- <owner>mek@chromium.org</owner>
- <owner>rhalavatigit@chromium.org</owner>
- <summary>
- Logged when a website requests accessing FileSystem API.
- </summary>
- <metric name="Persistent">
- <summary>
- Marks a request for a Persistent FileSystem.
- </summary>
- </metric>
- <metric name="Temporary">
- <summary>
- Marks a request for a Temporary FileSystem.
- </summary>
- </metric>
- </event>
- <event name="FlocPageLoad" singular="True">
- <owner>yaoxia@chromium.org</owner>
- <owner>jkarlin@chromium.org</owner>
- <summary>
- Whenever the floc is computed, this event will be recorded at the commit
- time of the next page load. Caveat: if the browser is closed before the next
- page load occurs (in a new session), the event won't be recorded.
- </summary>
- <metric name="FlocId">
- <summary>
- The user's floc id. This ignores any general or per-context access
- permissions, and records the internal int64_t number directly. This metric
- may still be skipped if the floc was not calculated or has been
- invalidated.
- </summary>
- </metric>
- </event>
- <event name="FontMatchAttempts">
- <owner>caraitto@chromium.org</owner>
- <owner>pauljensen@chromium.org</owner>
- <owner>privacy-sandbox-dev@chromium.org</owner>
- <summary>
- Records font family match attempts, broken down by system fonts and web
- fonts. Multiple match attempts using the same font family name are
- de-duplicated. Matching of @font-face src:local fonts isn't currently
- supported.
- </summary>
- <metric name="LoadContext" enum="FontLoadContext">
- <summary>
- If the font family name was matched in a top-level frame, a sub-frame or a
- worker.
- </summary>
- </metric>
- <metric name="LocalFontFailures">
- <summary>
- The count of failed attempts to match @font-face src:local rules.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="LocalFontSuccesses">
- <summary>
- The count of successful attempts to match @font-face src:local rules.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="LocalFontTotal">
- <summary>
- The count of total attempts (failed + succeeded) to match @font-face
- src:local rules.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SystemFontFamilyFailures">
- <summary>
- The count of system font family match attempts that failed.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SystemFontFamilySuccesses">
- <summary>
- The count of system font family match attempts that succeeded.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SystemFontFamilyTotal">
- <summary>
- Total count of system font family match attempts (succeeded + failed).
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="WebFontFamilyFailures">
- <summary>
- The count of web font family match attempts that failed.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="WebFontFamilySuccesses">
- <summary>
- The count of web font family match attempts that succeeded.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="WebFontFamilyTotal">
- <summary>
- Total count of web font family match attempts (succeeded + failed).
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="GeneratedNavigation" singular="True">
- <owner>ryansturm@chromium.org</owner>
- <owner>avi@chromium.org</owner>
- <summary>
- Logged when the user navigated to their home page or their default search
- engine. Recorded if the first URL or the final URL matches the pattern for
- Default Search or matches the user's home page URL. Recorded upon commit
- (even if the page was not foreground).
- </summary>
- <metric name="FinalURLIsDefaultSearchEngine">
- <summary>
- If the navigation committed URL matches the template URL of the user's
- Default Search Engine.
- </summary>
- </metric>
- <metric name="FinalURLIsHomePage">
- <summary>
- If the navigation committed URL matches the user's home page URL. Not
- recorded on Android because home page is managed outside of Chrome.
- </summary>
- </metric>
- <metric name="FirstURLIsDefaultSearchEngine">
- <summary>
- If the navigation starting URL matches the template URL of the user's
- Default Search Engine.
- </summary>
- </metric>
- <metric name="FirstURLIsHomePage">
- <summary>
- If the navigation starting URL (first URL in the redirect chain) matches
- the user's home page URL. Not recorded on Android because home page is
- managed outside of Chrome.
- </summary>
- </metric>
- </event>
- <event name="GoogleDocsOfflineExtension">
- <owner>rhalavati@chromium.org</owner>
- <owner>chrome-privacy-core@google.com</owner>
- <summary>
- Logged when a website requests a shared resource from Google Docs Offline
- Extension. Note that this is double counted for imports since it is done
- once in preload and once in actual load.
- </summary>
- <metric name="ResourceRequested">
- <summary>
- Marks a resource request from a website.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="Graphics.Smoothness.EventLatency">
- <owner>mohsen@chromium.org</owner>
- <owner>sadrul@chromium.org</owner>
- <summary>
- Tracks the duration of stages in the rendering pipeline when processing a
- single frame in response to an input event. To meet UKM goals for data
- volume, a Poisson process with an exponential decay multipler is used to
- sample events for recporting. It will sample many reandomly distributed
- events early during page load and initial interaction, then samples at an
- exponentially decreasing rate to effectively cap the number of samples. All
- times are in microseconds.
- </summary>
- <metric name="Activation">
- <summary>
- The duration of the activation stage, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="BeginImplFrameToSendBeginMainFrame">
- <summary>
- The time from when the Impl frame is started to when BeginMainFrame is
- sent, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="BrowserToRendererCompositor">
- <obsolete>
- Deprecated as of 01/2021. Replaced with event dispatch breakdown metrics.
- </obsolete>
- <summary>
- The time from when the event is created in the browser until the first
- compositor stage after the event arrives in the renderer, in microseconds.
- </summary>
- </metric>
- <metric name="Commit">
- <summary>
- The duration of the commit stage, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="EndActivateToSubmitCompositorFrame">
- <summary>
- The time from when an activation is complete to the next
- SubmitCompositorFrame, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="EndCommitToActivation">
- <summary>
- The time from when a commit is complete to the beginning of the next
- activation, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="EventType" enum="EventLatencyEventType">
- <summary>
- Type of the input event.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="GenerationToRendererCompositor">
- <summary>
- The time from when the event is created until it arrives in the renderer
- compositor, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="PinchInputType" enum="EventLatencyPinchInputType">
- <summary>
- Type of the input device for pinch events.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="RendererCompositorFinishedToActivation">
- <summary>
- The time from when the event processing is finished on the renderer
- compositor until the beginning of the activation, in microseconds. This
- metric is only reported if the event is handled on the renderer compositor
- and the first compositor step after that is the beginning of the
- activation.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="RendererCompositorFinishedToBeginImplFrame">
- <summary>
- The time from when the event processing is finished on the renderer
- compositor until the compositor frame is started, in microseconds. This
- metric is only reported if the event is handled on the renderer compositor
- and compositor frame is started after that.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="RendererCompositorFinishedToCommit">
- <summary>
- The time from when the event processing is finished on the renderer
- compositor until the beginning of the commit, in microseconds. This metric
- is only reported if the event is handled on the renderer compositor and
- the first compositor step after that is the beginning of the commit.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="RendererCompositorFinishedToEndActivate">
- <summary>
- The time from when the event processing is finished on the renderer
- compositor until the end of the activation, in microseconds. This metric
- is only reported if the event is handled on the renderer compositor and
- the first compositor step after that is the end of the activation.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="RendererCompositorFinishedToEndCommit">
- <summary>
- The time from when the event processing is finished on the renderer
- compositor until the end of the commit, in microseconds. This metric is
- only reported if the event is handled on the renderer compositor and the
- first compositor step after that is the end of the commit.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="RendererCompositorFinishedToSendBeginMainFrame">
- <summary>
- The time from when the event processing is finished on the renderer
- compositor until BeginMainFrame is sent, in microseconds. This metric is
- only reported if the event is handled on the renderer compositor and the
- first compositor step after that is SendBeginMainFrame.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="RendererCompositorFinishedToSubmitCompositorFrame">
- <summary>
- The time from when the event processing is finished on the renderer
- compositor until the compositor frame is submitted, in microseconds. This
- metric is only reported if the event is handled on the renderer compositor
- and the first compositor step after that is the submission of the
- compositor frame.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="RendererCompositorProcessing">
- <summary>
- The time spent in the renderer compositor to process the event, in
- microseconds. This metric won't be reported if the renderer compositor
- does not have a dedicated thread.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="RendererCompositorQueueingDelay">
- <summary>
- The time from when the event arrives in the renderer compositor until the
- compositor starts processing it, in microseconds. This metric won't be
- reported if the renderer compositor does not have a dedicated thread.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="RendererCompositorToMain">
- <summary>
- The time from when the processing of the event on the renderer compositor
- is finished until the main thread starts processing the event, in
- microseconds. If the renderer compositor does not have a dedicated thread,
- the processing of the event on the renderer compositor is considered
- finished as soon as the event arrives in the renderer compositor. This
- metric won't be reported if the event is handled on the renderer
- compositor.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="RendererMainFinishedToActivation">
- <summary>
- The time from when the event processing is finished on the renderer main
- until the beginning of the activation, in microseconds. This metric is
- only reported if the event is handled on the renderer main and the first
- compositor step after that is the beginning of the activation.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="RendererMainFinishedToBeginImplFrame">
- <summary>
- The time from when the event processing is finished on the renderer main
- until the compositor frame is started, in microseconds. This metric is
- only reported if the event is handled on the renderer main and compositor
- frame is started after that.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="RendererMainFinishedToCommit">
- <summary>
- The time from when the event processing is finished on the renderer main
- until the beginning of the commit, in microseconds. This metric is only
- reported if the event is handled on the renderer main and the first
- compositor step after that is the beginning of the commit.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="RendererMainFinishedToEndActivate">
- <summary>
- The time from when the event processing is finished on the renderer main
- until the end of the activation, in microseconds. This metric is only
- reported if the event is handled on the renderer main and the first
- compositor step after that is the end of the activation.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="RendererMainFinishedToEndCommit">
- <summary>
- The time from when the event processing is finished on the renderer main
- until the end of the commit, in microseconds. This metric is only reported
- if the event is handled on the renderer main and the first compositor step
- after that is the end of the commit.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="RendererMainFinishedToSendBeginMainFrame">
- <summary>
- The time from when the event processing is finished on the renderer main
- until BeginMainFrame is sent, in microseconds. This metric is only
- reported if the event is handled on the renderer main and the first
- compositor step after that is SendBeginMainFrame.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="RendererMainFinishedToSubmitCompositorFrame">
- <summary>
- The time from when the event processing is finished on the renderer main
- until the compositor frame is submitted, in microseconds. This metric is
- only reported if the event is handled on the renderer main and the first
- compositor step after that is the submission of the compositor frame.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="RendererMainProcessing">
- <summary>
- The time spent in the main thread to process the event, in microseconds.
- This metric won't be reported if the renderer compositor handles the
- event.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="ScrollInputType" enum="EventLatencyScrollInputType">
- <summary>
- Type of the input device for scroll events.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit">
- <summary>
- The time from when the BeginMainFrame is sent to the beginning of the
- commit, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit.Accessibility">
- <summary>
- The time portion of SendBeginMainFrameToCommit spent on accessibility, in
- microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit.Animate">
- <summary>
- The time portion of SendBeginMainFrameToCommit spent on animations, in
- microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit.BeginMainSentToStarted">
- <summary>
- The time portion of SendBeginMainFrameToCommit spent before starting main
- thread work, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit.CompositeCommit">
- <summary>
- The time portion of SendBeginMainFrameToCommit spent on composite commit,
- in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit.CompositingAssignments">
- <obsolete>
- No longer recorded after M97 with the launch of CompositeAfterPaint.
- </obsolete>
- <summary>
- The time portion of SendBeginMainFrameToCommit spent on updating
- compositing assignments, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit.CompositingInputs">
- <summary>
- The time portion of SendBeginMainFrameToCommit spent on updating
- compositing inputs, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit.HandleInputEvents">
- <summary>
- The time portion of SendBeginMainFrameToCommit spent on handling input
- events, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit.LayoutUpdate">
- <summary>
- The time portion of SendBeginMainFrameToCommit spent on layout update, in
- microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit.Paint">
- <summary>
- The time portion of SendBeginMainFrameToCommit spent on paint, in
- microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit.Prepaint">
- <summary>
- The time portion of SendBeginMainFrameToCommit spent on prepaint, in
- microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit.StyleUpdate">
- <summary>
- The time portion of SendBeginMainFrameToCommit spent on style update, in
- microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit.UpdateLayers">
- <summary>
- The time portion of SendBeginMainFrameToCommit spent on updating layers,
- in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SubmitCompositorFrameToPresentationCompositorFrame">
- <summary>
- The time from when a compositor frame is submitted to the display
- compositor to when it is presented, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="SubmitCompositorFrameToPresentationCompositorFrame.BufferAvailableToBufferReady">
- <summary>
- The time from when the target framebuffer is available to when the GPU has
- finished drawing to it, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="SubmitCompositorFrameToPresentationCompositorFrame.BufferReadyToLatch">
- <summary>
- The time from when the target framebuffer is ready to be displayed to when
- the buffer is latched on for presentation, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="SubmitCompositorFrameToPresentationCompositorFrame.LatchToSwapEnd">
- <summary>
- The time from when the target framebuffer is latched on to when the swap
- ends, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="SubmitCompositorFrameToPresentationCompositorFrame.ReceivedCompositorFrameToStartDraw">
- <summary>
- The time from when a compositor frame is received to when it starts to
- draw, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="SubmitCompositorFrameToPresentationCompositorFrame.StartDrawToSwapEnd">
- <obsolete>
- Deprecated 02/2020. Split into
- SubmitCompositorFrameToPresentationCompositorFrame.StartDrawToSwapStart
- and SubmitCompositorFrameToPresentationCompositorFrame.SwapStartToSwapEnd.
- </obsolete>
- <summary>
- The time from when the a compositor frame is started to draw to when it
- ends swap, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="SubmitCompositorFrameToPresentationCompositorFrame.StartDrawToSwapStart">
- <summary>
- The time from when a compositor frame is started to draw to when it starts
- swap, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="SubmitCompositorFrameToPresentationCompositorFrame.SubmitToReceiveCompositorFrame">
- <summary>
- The time from when a compositor frame is submitted to when it is received,
- in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="SubmitCompositorFrameToPresentationCompositorFrame.SwapEndToPresentationCompositorFrame">
- <summary>
- The time from when a compositor frame ends swap to when it is presented,
- in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="SubmitCompositorFrameToPresentationCompositorFrame.SwapStartToBufferAvailable">
- <summary>
- The time from when the compositor frame starts to swap to when the target
- framebuffer becomes available, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="SubmitCompositorFrameToPresentationCompositorFrame.SwapStartToSwapEnd">
- <summary>
- The time from when a compositor frame starts swap to when it ends swap, in
- microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="TotalLatency">
- <summary>
- The total time from when the event is created in the browser to when the
- frame is presented, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="TotalLatencyToSwapBegin">
- <obsolete>
- Deprecated as of 01/2021.
- </obsolete>
- <summary>
- The time from when the event is created in the browser to when the
- gpu-swap is started, for scroll events, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="TotalLatencyToSwapEnd">
- <obsolete>
- Deprecated as of 07/2020. Replaced with TotalLatencyToSwapBegin which
- measures what we actually intended to measure.
- </obsolete>
- <summary>
- The time from when the event is created in the browser to when the
- gpu-swap is completed, for scroll events, in microseconds.
- </summary>
- </metric>
- </event>
- <event name="Graphics.Smoothness.Latency">
- <owner>animations-dev@chromium.org</owner>
- <owner>sadrul@chromium.org</owner>
- <owner>schenney@chromium.org</owner>
- <summary>
- Tracks the duration of stages in the rendering pipeline while processing a
- single frame. All times are in microseconds.
- </summary>
- <metric name="Activation">
- <summary>
- The duration of the activation stage, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="BeginImplFrameToSendBeginMainFrame">
- <summary>
- The time from when the Impl frame is started to when BeginMainFrame is
- sent, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="CanvasAnimation" enum="Boolean">
- <summary>
- True when a canvas animation was active this frame.
- </summary>
- </metric>
- <metric name="Commit">
- <summary>
- The duration of the commit stage, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="CompositorAnimation" enum="Boolean">
- <summary>
- True when a compositor-driven animation was active this frame.
- </summary>
- </metric>
- <metric name="EndActivateToSubmitCompositorFrame">
- <summary>
- The time from when an activation is complete to the next
- SubmitCompositorFrame, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="EndCommitToActivation">
- <summary>
- The time from when a commit is complete to the beginning of the next
- activation, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="JSAnimation" enum="Boolean">
- <summary>
- True when a inline style animation was active this frame.
- </summary>
- </metric>
- <metric name="MainThreadAnimation" enum="Boolean">
- <summary>
- True when a main-thread-driven animation was active this frame.
- </summary>
- </metric>
- <metric name="MissedFrame" enum="Boolean">
- <summary>
- True when the main frame missed its deadline for this frame.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="PinchZoom" enum="Boolean">
- <summary>
- True when a pinch-to-zoom interaction was active this frame.
- </summary>
- </metric>
- <metric name="RAF" enum="Boolean">
- <summary>
- True when a rAF-driven animation was active this frame.
- </summary>
- </metric>
- <metric name="ScrollbarScroll" enum="Boolean">
- <summary>
- True when a scrollbar driven interaction was active this frame.
- </summary>
- </metric>
- <metric name="SendBeginMainFrameToCommit">
- <summary>
- The time from when the BeginMainFrame is sent to the beginning of the
- commit, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit.Accessibility">
- <summary>
- The time portion of SendBeginMainFrameToCommit spent on accessibility, in
- microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit.Animate">
- <summary>
- The time portion of SendBeginMainFrameToCommit spent on animations, in
- microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit.BeginMainSentToStarted">
- <summary>
- The time portion of SendBeginMainFrameToCommit spent before starting main
- thread work, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit.CompositeCommit">
- <summary>
- The time portion of SendBeginMainFrameToCommit spent on composite commit,
- in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit.CompositingAssignments">
- <obsolete>
- No longer recorded after M97 with the launch of CompositeAfterPaint.
- </obsolete>
- <summary>
- The time portion of SendBeginMainFrameToCommit spent on updating
- compositing assignments, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit.CompositingInputs">
- <summary>
- The time portion of SendBeginMainFrameToCommit spent on updating
- compositing inputs, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit.HandleInputEvents">
- <summary>
- The time portion of SendBeginMainFrameToCommit spent on handling input
- events, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit.LayoutUpdate">
- <summary>
- The time portion of SendBeginMainFrameToCommit spent on layout update, in
- microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit.Paint">
- <summary>
- The time portion of SendBeginMainFrameToCommit spent on paint, in
- microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit.Prepaint">
- <summary>
- The time portion of SendBeginMainFrameToCommit spent on prepaint, in
- microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit.StyleUpdate">
- <summary>
- The time portion of SendBeginMainFrameToCommit spent on style update, in
- microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SendBeginMainFrameToCommit.UpdateLayers">
- <summary>
- The time portion of SendBeginMainFrameToCommit spent on updating layers,
- in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SubmitCompositorFrameToPresentationCompositorFrame">
- <summary>
- The time from when the a compositor frame is submitted to the display
- compositor to when it is presented, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="SubmitCompositorFrameToPresentationCompositorFrame.BufferAvailableToBufferReady">
- <summary>
- The time from when the target framebuffer is available to when the GPU has
- finished drawing to it, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="SubmitCompositorFrameToPresentationCompositorFrame.BufferReadyToLatch">
- <summary>
- The time from when the target framebuffer is ready to be displayed to when
- the buffer is latched on for presentation, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="SubmitCompositorFrameToPresentationCompositorFrame.LatchToSwapEnd">
- <summary>
- The time from when the target framebuffer is latched on to when the swap
- ends, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="SubmitCompositorFrameToPresentationCompositorFrame.ReceivedCompositorFrameToStartDraw">
- <summary>
- The time from when a compositor frame is received to when it starts to
- draw, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="SubmitCompositorFrameToPresentationCompositorFrame.StartDrawToSwapEnd">
- <obsolete>
- Deprecated 02/2020. Split into
- SubmitCompositorFrameToPresentationCompositorFrame.StartDrawToSwapStart
- and SubmitCompositorFrameToPresentationCompositorFrame.SwapStartToSwapEnd.
- </obsolete>
- <summary>
- The time from when the a compositor frame is started to draw to when it
- ends swap, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="SubmitCompositorFrameToPresentationCompositorFrame.StartDrawToSwapStart">
- <summary>
- The time from when a compositor frame is started to draw to when it starts
- swap, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="SubmitCompositorFrameToPresentationCompositorFrame.SubmitToReceiveCompositorFrame">
- <summary>
- The time from when a compositor frame is submitted to when it is received,
- in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="SubmitCompositorFrameToPresentationCompositorFrame.SwapEndToPresentationCompositorFrame">
- <summary>
- The time from when the a compositor frame ends swap to when it is
- presented, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="SubmitCompositorFrameToPresentationCompositorFrame.SwapStartToBufferAvailable">
- <summary>
- The time from when the compositor frame starts to swap to when the target
- framebuffer becomes available, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="SubmitCompositorFrameToPresentationCompositorFrame.SwapStartToSwapEnd">
- <summary>
- The time from when a compositor frame starts swap to when it ends swap, in
- microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="TotalLatency">
- <summary>
- The total time starting from BeginImplFrame to when
- CompositorFramePresentation is done with updates from the MainThread (i.e.
- the time it takes for BeginImplFrame, BeginMainFrame, Commit, Activate,
- SubmitCompositorFrame and PresentCompositorFrame), in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="TouchScroll" enum="Boolean">
- <summary>
- True when a touchscreen driven interaction was active this frame.
- </summary>
- </metric>
- <metric name="Unknown">
- <summary>
- The time within a stage not attributed to any system, in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Video" enum="Boolean">
- <summary>
- True when video playback was active this frame.
- </summary>
- </metric>
- <metric name="WheelScroll" enum="Boolean">
- <summary>
- True when a mouse driven scroll was active this frame.
- </summary>
- </metric>
- </event>
- <event name="Graphics.Smoothness.NormalizedPercentDroppedFrames"
- singular="True">
- <owner>animations-dev@chromium.org</owner>
- <owner>sadrul@chromium.org</owner>
- <summary>
- Measures various normalizations for the smoothness metric. The metric is
- measured by counting dropped frames, and various normalization strategies
- are used.
- The metric is reported once per page-load, and when the page closes (e.g.
- the user closes the tab, or navigates away to a different page).
- </summary>
- <metric name="AboveThreshold">
- <summary>
- The number of fixed-duration sliding windows (as a percentage) where the
- number of dropped frames are above a threshold. The specific threshold is
- yet to be determined.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Average">
- <summary>
- This is trivially computable by counting the total number of dropped
- frames and the total number of vsyncs the page has been visible for,
- exposed as a percentage.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="CompositorFocusedMedian">
- <summary>
- CompositorFocused metrics report the throughput of frames that include
- compositor thread updates. The median dropped frames within a
- fixed-duration sliding window (as a percentage). So out of all
- PerecentDroppedFrames of sliding windows the median will be reported here.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="CompositorFocusedPercentile95">
- <summary>
- CompositorFocused metrics report the throughput of frames that include
- compositor thread updates. The 95-th percentile dropped frames within a
- fixed-duration sliding window (as a percentage). So out of all
- PerecentDroppedFrames of sliding windows the 95th percentile will be
- reported here.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="CompositorFocusedVariance">
- <summary>
- CompositorFocused metrics report the throughput of frames that include
- compositor thread updates. The variance of percent dropped frames within a
- fixed-duration sliding window. So out of all PerecentDroppedFrames of
- sliding windows the variance will be reported here.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="MainFocusedMedian">
- <summary>
- MainFocused metrics report the throughput of frames that include main
- thread updates. The median dropped frames within a fixed-duration sliding
- window (as a percentage). So out of all PerecentDroppedFrames of sliding
- windows the median will be reported here.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="MainFocusedPercentile95">
- <summary>
- MainFocused metrics report the throughput of frames that include main
- thread updates. The 95-th percentile dropped frames within a
- fixed-duration sliding window (as a percentage). So out of all
- PerecentDroppedFrames of sliding windows the 95th percentile will be
- reported here.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="MainFocusedVariance">
- <summary>
- MainFocused metrics report the throughput of frames that include main
- thread updates. The variance of percent dropped frames within a
- fixed-duration sliding window. So out of all PerecentDroppedFrames of
- sliding windows the variance will be reported here.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Median">
- <summary>
- The median dropped frames within a fixed-duration sliding window (as a
- percentage). So out of all PerecentDroppedFrames of sliding windows the
- median will be reported here.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Percentile95">
- <summary>
- The 95-th percentile dropped frames within a fixed-duration sliding window
- (as a percentage). So out of all PerecentDroppedFrames of sliding windows
- the 95th percentile will be reported here.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="ScrollFocusedMedian">
- <summary>
- ScrollFocused metrics reports the throughput with highest priority on
- scroll interactions. The median dropped frames within a fixed-duration
- sliding window (as a percentage) with highest priority given to scroll
- throughput. So out of all PerecentDroppedFrames of sliding windows the
- median will be reported here.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="ScrollFocusedPercentile95">
- <summary>
- ScrollFocused metrics reports the throughput with highest priority on
- scroll interactions. The 95-th percentile dropped frames within a
- fixed-duration sliding window (as a percentage). So out of all
- PerecentDroppedFrames of sliding windows the 95th percentile will be
- reported here.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="ScrollFocusedVariance">
- <summary>
- ScrollFocused metrics reports the throughput with highest priority on
- scroll interactions. The variance of percent dropped frames within a
- fixed-duration sliding window. So out of all PerecentDroppedFrames of
- sliding windows the variance will be reported here.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SmoothnessBad">
- <summary>
- The percentage of sliding windows with bad smoothness, or a
- PercentDroppedFrames of 12% to 25%.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SmoothnessGood">
- <summary>
- The percentage of sliding windows with good smoothness, or a
- PercentDroppedFrames of 3% to 6%.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SmoothnessOkay">
- <summary>
- The percentage of sliding windows with okay smoothness, or a
- PercentDroppedFrames of 6% to 12%.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SmoothnessVeryBad25to50">
- <summary>
- The percentage of sliding windows with a subset of very bad smoothness, or
- a PercentDroppedFrames of 25% to 50%.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SmoothnessVeryBad50to75">
- <summary>
- The percentage of sliding windows with a subset of very bad smoothness, or
- a PercentDroppedFrames of 50% to 75%.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SmoothnessVeryBad75to100">
- <summary>
- The percentage of sliding windows with a subset of very bad smoothness, or
- a PercentDroppedFrames of 75% to 100%.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SmoothnessVeryGood">
- <summary>
- The percentage of sliding windows with very good smoothness, or a
- PercentDroppedFrames of 0% to 3%.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="TimingSinceFCPWorstCase">
- <obsolete>
- Removed July 2022 along with UMA metric, which are no longer needed.
- </obsolete>
- <summary>
- The Time From FCP when the worst case happened
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Variance">
- <summary>
- The variance of percent dropped frames within a fixed-duration sliding
- window. So out of all PerecentDroppedFrames of sliding windows the
- variance will be reported here.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="WorstCase">
- <summary>
- The maximum number of dropped frames (as a percentage) within a
- fixed-duration sliding window. So out of all PerecentDroppedFrames of
- sliding windows the max percentile will be reported here.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="WorstCaseAfter1Sec">
- <summary>
- The same as WorstCase metric, but only the sliding windows which starts 1
- second after first contentful paint will be taken into account.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="WorstCaseAfter2Sec">
- <summary>
- The same as WorstCase metric, but only the sliding windows which starts 2
- second after first contentful paint will be taken into account.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="WorstCaseAfter5Sec">
- <summary>
- The same as WorstCase metric, but only the sliding windows which starts 5
- second after first contentful paint will be taken into account.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="Graphics.Smoothness.PercentDroppedFrames">
- <owner>animations-dev@chromium.org</owner>
- <owner>sadrul@chromium.org</owner>
- <summary>
- Tracks the percent of dropped frames for a particular sequence of frames
- such as during scroll or animation. PercentDroppedFrames is measured by
- tracking the number of frames the sequence was expected to produce, and the
- number of frames that were not displayed on screen (dropped). It is the
- ratio of dropped over expected, converted to a percentage.
- </summary>
- <metric name="AllAnimations">
- <summary>
- Tracks the throughput of a particular sequence of frames for all
- animations. This metric is reported for all animations (e.g.
- comositor-driven animations, main-thread driven animations, and raf-driven
- animations).
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="AllInteractions">
- <summary>
- Tracks the throughput of a particular sequence of frames where a
- user-input (e.g. scroll, pinch) is active. This metric is reported for all
- sources of user-input (i.e. both touchscreen and touchpad/mouse-wheel).
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="AllSequences">
- <summary>
- Tracks the throughput of a particular sequence of frames. This metric is
- reported for all animations and all interactions.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="CompositorThread.CompositorAnimation">
- <summary>
- The throughput of the compositor thread during a compositor animation.
- </summary>
- </metric>
- <metric name="CompositorThread.MainThreadAnimation">
- <summary>
- The throughput of the compositor thread during a main thread animation.
- </summary>
- </metric>
- <metric name="CompositorThread.PinchZoom">
- <summary>
- The throughput of the compositor thread during pinch-zoom interactions.
- </summary>
- </metric>
- <metric name="CompositorThread.RAF">
- <summary>
- The throughput of the compositor thread during rAF callback driven
- animation.
- </summary>
- </metric>
- <metric name="CompositorThread.ScrollbarScroll">
- <summary>
- The throughput of the compositor thread during scrollbar scroll driven
- interactions.
- </summary>
- </metric>
- <metric name="CompositorThread.TouchScroll">
- <summary>
- The throughput of the compositor thread during touchscroll driven
- interactions.
- </summary>
- </metric>
- <metric name="CompositorThread.Universal">
- <obsolete>
- Removed in 9/2020, due to over penalize smoothness.
- </obsolete>
- <summary>
- The throughput of the compositor thread for all frame production.
- </summary>
- </metric>
- <metric name="CompositorThread.Video">
- <summary>
- The throughput of the compositor thread during video play.
- </summary>
- </metric>
- <metric name="CompositorThread.WheelScroll">
- <summary>
- The throughput of the compositor thread during mousewheel scroll driven
- interactions.
- </summary>
- </metric>
- <metric name="MainThread.CanvasAnimation">
- <summary>
- The throughput of the main thread during canvas animation.
- </summary>
- </metric>
- <metric name="MainThread.CompositorAnimation">
- <summary>
- The throughput of the main thread during a compositor animation.
- </summary>
- </metric>
- <metric name="MainThread.JSAnimation">
- <summary>
- The throughput of the main thread during inline style animation.
- </summary>
- </metric>
- <metric name="MainThread.MainThreadAnimation">
- <summary>
- The throughput of the main thread during a main thread animation.
- </summary>
- </metric>
- <metric name="MainThread.PinchZoom">
- <summary>
- The throughput of the main thread during pinch-zoom interactions.
- </summary>
- </metric>
- <metric name="MainThread.RAF">
- <summary>
- The throughput of the main thread during rAF callback driven animation.
- </summary>
- </metric>
- <metric name="MainThread.ScrollbarScroll">
- <summary>
- The throughput of the main thread during scrollbar scroll driven
- interactions.
- </summary>
- </metric>
- <metric name="MainThread.TouchScroll">
- <summary>
- The throughput of the main thread during touchscroll driven interactions.
- </summary>
- </metric>
- <metric name="MainThread.Universal">
- <obsolete>
- Removed in 9/2020, due to over penalize smoothness.
- </obsolete>
- <summary>
- The throughput of the main thread for all frame production.
- </summary>
- </metric>
- <metric name="MainThread.Video">
- <summary>
- The throughput of the main thread during video play.
- </summary>
- </metric>
- <metric name="MainThread.WheelScroll">
- <summary>
- The throughput of the main thread during mousewheel scroll driven
- interactions.
- </summary>
- </metric>
- <metric name="SlowerThread.CompositorAnimation">
- <obsolete>
- Removed in 9/2020, since no longer needed after 'Universal' metric was
- deprecated.
- </obsolete>
- <summary>
- The worse throughput of the main and the compositor thread during a
- compositor animation.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SlowerThread.MainThreadAnimation">
- <obsolete>
- Removed in 9/2020, since no longer needed after 'Universal' metric was
- deprecated.
- </obsolete>
- <summary>
- The worse throughput of the main and the compositor thread during a main
- thread animation.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SlowerThread.PinchZoom">
- <summary>
- The worse throughput of the main and the compositor thread during
- pinch-zoom interactions.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SlowerThread.RAF">
- <obsolete>
- Removed in 9/2020, since no longer needed after 'Universal' metric was
- deprecated.
- </obsolete>
- <summary>
- The worse throughput of the main and the compositor thread during rAF
- callback driven animation.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SlowerThread.ScrollbarScroll">
- <obsolete>
- Removed in 9/2020, since no longer needed after 'Universal' metric was
- deprecated.
- </obsolete>
- <summary>
- The worse throughput of the main and the compositor thread during
- scrollbar driven interactions.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SlowerThread.TouchScroll">
- <obsolete>
- Removed in 9/2020, since no longer needed after 'Universal' metric was
- deprecated.
- </obsolete>
- <summary>
- The worse throughput of the main and the compositor thread during
- touchscroll driven interactions.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SlowerThread.Universal">
- <obsolete>
- Removed in 9/2020, due to over penalize smoothness.
- </obsolete>
- <summary>
- The worse throughput of the main and the compositor thread for all frame
- production.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SlowerThread.Video">
- <obsolete>
- Removed in 9/2020, since no longer needed after 'Universal' metric was
- deprecated.
- </obsolete>
- <summary>
- The worse throughput of the main and the compositor thread during video
- play.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SlowerThread.WheelScroll">
- <obsolete>
- Removed in 9/2020, since no longer needed after 'Universal' metric was
- deprecated.
- </obsolete>
- <summary>
- The worse throughput of the main and the compositor thread during
- mousewheel scroll driven interactions.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="Graphics.Smoothness.Throughput">
- <obsolete>
- Deprecated 02/2020.
- </obsolete>
- <owner>animations-dev@chromium.org</owner>
- <owner>sadrul@chromium.org</owner>
- <summary>
- As of 2020-02-12, this is deprecated in favor of
- Graphics.Smoothness.PercentDroppedFrames.
- </summary>
- <metric name="CompositorThread.CompositorAnimation">
- <summary>
- The throughput of the compositor thread during a compositor animation.
- </summary>
- </metric>
- <metric name="CompositorThread.MainThreadAnimation">
- <summary>
- The throughput of the compositor thread during a main thread animation.
- </summary>
- </metric>
- <metric name="CompositorThread.PinchZoom">
- <summary>
- The throughput of the compositor thread during pinch-zoom interactions.
- </summary>
- </metric>
- <metric name="CompositorThread.RAF">
- <summary>
- The throughput of the compositor thread during rAF callback driven
- animation.
- </summary>
- </metric>
- <metric name="CompositorThread.TouchScroll">
- <summary>
- The throughput of the compositor thread during touchscroll driven
- interactions.
- </summary>
- </metric>
- <metric name="CompositorThread.Universal">
- <summary>
- The throughput of the compositor thread for all frame production.
- </summary>
- </metric>
- <metric name="CompositorThread.Video">
- <summary>
- The throughput of the compositor thread during video play.
- </summary>
- </metric>
- <metric name="CompositorThread.WheelScroll">
- <summary>
- The throughput of the compositor thread during mousewheel scroll driven
- interactions.
- </summary>
- </metric>
- <metric name="MainThread.CompositorAnimation">
- <summary>
- The throughput of the main thread during a compositor animation.
- </summary>
- </metric>
- <metric name="MainThread.MainThreadAnimation">
- <summary>
- The throughput of the main thread during a main thread animation.
- </summary>
- </metric>
- <metric name="MainThread.PinchZoom">
- <summary>
- The throughput of the main thread during pinch-zoom interactions.
- </summary>
- </metric>
- <metric name="MainThread.RAF">
- <summary>
- The throughput of the main thread during rAF callback driven animation.
- </summary>
- </metric>
- <metric name="MainThread.TouchScroll">
- <summary>
- The throughput of the main thread during touchscroll driven interactions.
- </summary>
- </metric>
- <metric name="MainThread.Universal">
- <summary>
- The throughput of the main thread for all frame production.
- </summary>
- </metric>
- <metric name="MainThread.Video">
- <summary>
- The throughput of the main thread during video play.
- </summary>
- </metric>
- <metric name="MainThread.WheelScroll">
- <summary>
- The throughput of the main thread during mousewheel scroll driven
- interactions.
- </summary>
- </metric>
- <metric name="SlowerThread.CompositorAnimation">
- <obsolete>
- Removed in 9/2020, since no longer needed after 'Universal' metric was
- deprecated.
- </obsolete>
- <summary>
- The worse throughput of the main and the compositor thread during a
- compositor animation.
- </summary>
- </metric>
- <metric name="SlowerThread.MainThreadAnimation">
- <obsolete>
- Removed in 9/2020, since no longer needed after 'Universal' metric was
- deprecated.
- </obsolete>
- <summary>
- The worse throughput of the main and the compositor thread during a main
- thread animation.
- </summary>
- </metric>
- <metric name="SlowerThread.PinchZoom">
- <obsolete>
- Removed in 9/2020, since no longer needed after 'Universal' metric was
- deprecated.
- </obsolete>
- <summary>
- The worse throughput of the main and the compositor thread during
- pinch-zoom interactions.
- </summary>
- </metric>
- <metric name="SlowerThread.RAF">
- <obsolete>
- Removed in 9/2020, since no longer needed after 'Universal' metric was
- deprecated.
- </obsolete>
- <summary>
- The worse throughput of the main and the compositor thread during rAF
- callback driven animation.
- </summary>
- </metric>
- <metric name="SlowerThread.TouchScroll">
- <obsolete>
- Removed in 9/2020, since no longer needed after 'Universal' metric was
- deprecated.
- </obsolete>
- <summary>
- The worse throughput of the main and the compositor thread during
- touchscroll driven interactions.
- </summary>
- </metric>
- <metric name="SlowerThread.Universal">
- <obsolete>
- Removed in 9/2020, since no longer needed after 'Universal' metric was
- deprecated.
- </obsolete>
- <summary>
- The worse throughput of the main and the compositor thread for all frame
- production.
- </summary>
- </metric>
- <metric name="SlowerThread.Video">
- <obsolete>
- Removed in 9/2020, since no longer needed after 'Universal' metric was
- deprecated.
- </obsolete>
- <summary>
- The worse throughput of the main and the compositor thread during video
- play.
- </summary>
- </metric>
- <metric name="SlowerThread.WheelScroll">
- <obsolete>
- Removed in 9/2020, since no longer needed after 'Universal' metric was
- deprecated.
- </obsolete>
- <summary>
- The worse throughput of the main and the compositor thread during
- mousewheel scroll driven interactions.
- </summary>
- </metric>
- </event>
- <event name="HistoryClusters" singular="True">
- <owner>chrome-memories@google.com</owner>
- <owner>mcrouse@chromium.org</owner>
- <summary>
- Metrics that capture the iteractions with HistoryClusters, or Journeys, This
- will be recorded once per visit to the HistoryClusters UI and logged when
- the UI is closed or navigated away from.
- </summary>
- <metric name="FinalState" enum="HistoryClustersFinalState">
- <summary>
- The final state, or outcome, of an interaction on the HistoryClusters UI.
- </summary>
- </metric>
- <metric name="InitialState" enum="HistoryClustersInitialState">
- <summary>
- The initial state that describes how an interaction with the
- HistoryClusters UI was started.
- </summary>
- </metric>
- <metric name="NumQueries">
- <summary>
- The number of times the user performed a query on the HistoryClusters UI
- during this interaction. This can include partial queries that occur due
- to the UI's query timing.
- </summary>
- </metric>
- <metric name="NumTogglesToBasicHistory">
- <summary>
- The number of times the user toggled to the basic history page during this
- interaction with the HistoryClusters UI.
- </summary>
- </metric>
- </event>
- <event name="HistoryManipulationIntervention">
- <owner>shivanisha@chromium.org</owner>
- <summary>
- Logged when an entry in the back-forward list is marked to be skipped on
- subsequent back/forward button clicks as part of the history manipulation
- intervention. This is logged when the entry is navigated away from.
- </summary>
- </event>
- <event name="HistoryNavigation" singular="True">
- <owner>altimin@chromium.org</owner>
- <owner>arthursonzogni@chromium.org</owner>
- <owner>hajimehoshi@chromium.org</owner>
- <summary>
- Metrics recorded each time we commit a history navigation, which are needed
- to estimate benefits of back-forward cache. Except as otherwise noted, the
- metrics are recorded for history navigations, but not for same-document
- navigations.
- </summary>
- <metric
- name="AverageCumulativeShiftScoreAfterBackForwardCacheRestore.SessionWindow.Gap5000ms">
- <obsolete>
- Deprecated 06/2021.
- </obsolete>
- <summary>
- Measures the average cumulative layout shift (bit.ly/cls-explainer) that
- has occurred in a session window, after the page is restored from the
- back-forward. The gap between two consecutive shifts in a window is not
- bigger than 5000ms. This metric's integral value is 100x the fractional
- cumulative layout shift score described in the explainer.
- </summary>
- </metric>
- <metric
- name="AverageUserInteractionLatencyOverBudgetAfterBackForwardCacheRestore.MaxEventduration">
- <summary>
- The average value of user interaction latency above budget of a page after
- it is restored from the back-forward, in ms. For this metric, we measure
- the latency of user interactions by
- Responsiveness.UserInteraction.MaxEventDuration and we deduct a budget
- from the original value. If the latency value is below the budget, it will
- be treated as 0 ms. Each type of interaction has its own budget.
- </summary>
- </metric>
- <metric
- name="AverageUserInteractionLatencyOverBudgetAfterBackForwardCacheRestore.TotalEventduration">
- <obsolete>
- Deprecated March 2022 in favor of
- SlowUserInteractionLatencyAfterBackForwardCacheRestore.HighPercentile2.MaxEventduration
- </obsolete>
- <summary>
- The average value of user interaction latency above budget of a page after
- it is restored from the back-forward, in ms. For this metric, we measure
- the latency of user interactions by
- Responsiveness.UserInteraction.TotalEventDuration and we deduct a budget
- from the original value. If the latency value is below the budget, it will
- be treated as 0 ms. Each type of interaction has its own budget.
- </summary>
- </metric>
- <metric name="BackForwardCache.BlocklistedFeatures"
- enum="WebSchedulerTrackedFeature">
- <summary>
- When navigating back to a page in the session history, this records what
- blocklisted features were used when the page was loaded and prevented this
- page from being stored in the back-forward cache. Multiple blocklisted
- features can be recorded for the same page as a binary mask.
- </summary>
- </metric>
- <metric name="BackForwardCache.BrowsingInstanceNotSwappedReason"
- enum="BackForwardCacheBrowsingInstanceNotSwappedReason">
- <summary>
- When navigating back to a page in the session history and the
- BackForwardCache wasn't used because of the related browsing instances,
- this records the reason why the browsing instance wasn't swapped.
- </summary>
- </metric>
- <metric name="BackForwardCache.DisabledForRenderFrameHostReasonCount">
- <summary>
- The number of the reasons passed to
- BackForwardCache::DisableForRenderFrameHost calls.
- </summary>
- </metric>
- <metric name="BackForwardCache.IsAmpPage" enum="Boolean">
- <summary>
- Boolean whether the now-restored page uses AMP (see https://amp.dev). If
- the page wasn't restored from the back-forward cache, this metric will not
- be populated. This metric will never be true when
- BackForwardCache.IsServedFromBackForwardCache is false.
- </summary>
- </metric>
- <metric name="BackForwardCache.IsServedFromBackForwardCache">
- <summary>
- Boolean whether the page was restored from the back-forward cache or not.
- </summary>
- </metric>
- <metric name="BackForwardCache.NotRestoredReasons">
- <summary>
- Bitmask of the reasons why the page was not restored from the back-forward
- cache. See contents::BackForwardCacheMetrics::NotRestoredReason for the
- meaning of the individual bits.
- </summary>
- </metric>
- <metric name="CrossOriginSubframesFeatures">
- <summary>
- Bitmask of features used by the cross origin subframes of the previous
- page load. See blink::SchedulingPolicy::Feature for the meaning for the
- individual features.
- </summary>
- </metric>
- <metric name="CumulativeShiftScoreAfterBackForwardCacheRestore">
- <summary>
- Measures the cumulative layout shift (bit.ly/3fQz29y) that has occurred
- during the session, after the page is restored from the back-forward
- cache. This metric's integral value is 100x the fractional cumulative
- layout shift score described in the explainer.
- </summary>
- </metric>
- <metric name="FirstInputDelayAfterBackForwardCacheRestore">
- <summary>
- Measures First Input Delay, the duration between the hardware timestamp
- and the start of event processing on the main thread for the first
- meaningful input per navigation, after the page is restored from the
- back-forward cache.
- </summary>
- </metric>
- <metric name="FirstRequestAnimationFrameAfterBackForwardCacheRestore">
- <summary>
- Measures the time duration between the page restore from back-forward
- cache and the first requestAnimationFrame time in milliseconds.
- </summary>
- </metric>
- <metric name="ForegroundDurationAfterBackForwardCacheRestore">
- <summary>
- For page loads that start in the foreground, measures the duration of time
- in milliseconds until one of the following events occurs: the load of the
- main resource fails, the page load is stopped, the tab hosting the page is
- closed, the render process hosting the page goes away, a new navigation
- which later commits is initiated in the same tab, or the tab hosting the
- page is backgrounded. This metric has a very long tail, for pages that
- spend a long period of time in the foreground. As such, use of the mean or
- tail values are not recommended.
- </summary>
- </metric>
- <metric name="LastCommittedCrossDocumentNavigationSourceIdForTheSameDocument">
- <summary>
- For history navigations and reloads, the source id of the previous
- navigation which loaded the page we're trying to navigate back to.
- </summary>
- </metric>
- <metric name="LastCommittedSourceIdForTheSameDocument">
- <summary>
- Deprecated as of 01/2019.
- </summary>
- </metric>
- <metric name="MainFrameFeatures">
- <summary>
- Bitmask of features used by the main frames of the previous page load. See
- blink::SchedulingPolicy::Feature for the meaning for the individual
- features.
- </summary>
- </metric>
- <metric
- name="MaxCumulativeShiftScoreAfterBackForwardCacheRestore.SessionWindow.Gap1000ms">
- <obsolete>
- Deprecated 06/2021.
- </obsolete>
- <summary>
- Measures the maximum cumulative layout shift (bit.ly/cls-explainer) that
- has occurred in a session window, after the page is restored from the
- back-forward. The gap between two consecutive shifts in a window is not
- bigger than 1000ms. This metric's integral value is 100x the fractional
- cumulative layout shift score described in the explainer.
- </summary>
- </metric>
- <metric
- name="MaxCumulativeShiftScoreAfterBackForwardCacheRestore.SessionWindow.Gap1000ms.Max5000ms">
- <summary>
- Measures the maximum cumulative layout shift (bit.ly/cls-explainer) that
- has occurred in a session window, after the page is restored from the
- back-forward. The gap between two consecutive shifts in a window is not
- bigger than 1000ms and the maximum window size is 5000ms. This metric's
- integral value is 100x the fractional cumulative layout shift score
- described in the explainer.
- </summary>
- </metric>
- <metric
- name="MaxCumulativeShiftScoreAfterBackForwardCacheRestore.SessionWindowByInputs.Gap1000ms.Max5000ms">
- <obsolete>
- Deprecated 06/2021.
- </obsolete>
- <summary>
- Measures the maximum cumulative layout shift (bit.ly/cls-explainer) that
- has occurred in a session window, after the page is restored from the
- back-forward. The gap between two consecutive shifts in a window is not
- bigger than 1000ms and the maximum window size is 5000ms. We start a new
- window whenever there's a new user input. This metric's integral value is
- 100x the fractional cumulative layout shift score described in the
- explainer.
- </summary>
- </metric>
- <metric
- name="MaxCumulativeShiftScoreAfterBackForwardCacheRestore.SlidingWindow.Duration1000ms">
- <obsolete>
- Deprecated 06/2021.
- </obsolete>
- <summary>
- Measures the maximum cumulative layout shift (bit.ly/cls-explainer) that
- has occurred in a 1000ms sliding window, after the page is restored from
- the back-forward. This metric's integral value is 100x the fractional
- cumulative layout shift score described in the explainer.
- </summary>
- </metric>
- <metric
- name="MaxCumulativeShiftScoreAfterBackForwardCacheRestore.SlidingWindow.Duration300ms">
- <obsolete>
- Deprecated 06/2021.
- </obsolete>
- <summary>
- Measures the maximum cumulative layout shift (bit.ly/cls-explainer) that
- has occurred in a 300ms sliding window, after the page is restored from
- the back-forward. This metric's integral value is 100x the fractional
- cumulative layout shift score described in the explainer.
- </summary>
- </metric>
- <metric name="NavigatedToTheMostRecentEntryForDocument">
- <summary>
- Boolean for whether we navigated to the same navigation entry as the one
- which was last visible.
- It can be false when subframes or same-document navigations are present.
- For example, after navigating from http://foo to http://foo#bar and then
- http://bar and then going back by 2 entries will mean we went to
- http://foo while the last committed entry from this document was
- http://foo#bar.
- It's expected to be rare, but might be problematic for back-forward cache.
- </summary>
- </metric>
- <metric name="NavigationToFirstPaintAfterBackForwardCacheRestore">
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time the first paint is performed, after the page is restored
- from the back-forward cache.
- </summary>
- </metric>
- <metric name="NumInteractionsAfterBackForwardCacheRestore">
- <summary>
- The number of distinct user interactions on a page after it is restored
- from the back-forward cache. See definition of user interaction:
- https://web.dev/better-responsiveness-metric/#group-events-into-interactions
- </summary>
- </metric>
- <metric name="PageEndReasonAfterBackForwardCacheRestore">
- <summary>
- The reason (as a |page_load_metrics::PageEndReason|) why the user
- navigated away from the page after it was restored from the back-forward
- cache. This includes navigations after which the page is stored in the
- back-forward cache again, as well as other page-ending events.
- </summary>
- </metric>
- <metric name="SameOriginSubframesFeatures">
- <summary>
- Bitmask of features used by the same origin subframes of the previous page
- load. See blink::SchedulingPolicy::Feature for the meaning for the
- individual features.
- </summary>
- </metric>
- <metric name="SecondRequestAnimationFrameAfterBackForwardCacheRestore">
- <summary>
- Measures the time duration between the page restore from back-forward
- cache and the second requestAnimationFrame time in milliseconds.
- </summary>
- </metric>
- <metric
- name="SlowUserInteractionLatencyOverBudgetAfterBackForwardCacheRestore.HighPercentile.MaxEventduration">
- <obsolete>
- Deprecated March 2022 in favor of
- SlowUserInteractionLatencyAfterBackForwardCacheRestore.HighPercentile2.MaxEventduration
- </obsolete>
- <summary>
- An approximation of high percentile of user interaction latency above
- budget of a page after it is restored from the back-forward, in ms. For
- this metric, we measure the latency of user interactions by
- Responsiveness.UserInteraction.MaxEventDuration and we deduct a budget
- from the original value. If the latency value is below the budget, it will
- be treated as 0 ms. Each type of interaction has its own budget.
- </summary>
- </metric>
- <metric
- name="SlowUserInteractionLatencyOverBudgetAfterBackForwardCacheRestore.HighPercentile.TotalEventduration">
- <obsolete>
- Deprecated March 2022 in favor of
- SlowUserInteractionLatencyAfterBackForwardCacheRestore.HighPercentile2.MaxEventduration
- </obsolete>
- <summary>
- An approximation of high percentile of user interaction latency above
- budget of a page after it is restored from the back-forward, in ms. For
- this metric, we measure the latency of user interactions by
- Responsiveness.UserInteraction.TotalEventDuration and we deduct a budget
- from the original value. If the latency value is below the budget, it will
- be treated as 0 ms. Each type of interaction has its own budget.
- </summary>
- </metric>
- <metric
- name="SlowUserInteractionLatencyOverBudgetAfterBackForwardCacheRestore.HighPercentile2.MaxEventduration">
- <summary>
- An approximation of high percentile of user interaction latency above
- budget of a page after it is restored from the back-forward, in ms. For
- this metric, we measure the latency of user interactions by
- Responsiveness.UserInteraction.MaxEventDuration and we deduct a budget
- from the original value. If the latency value is below the budget, it will
- be treated as 0 ms. Each type of interaction has its own budget.
- </summary>
- </metric>
- <metric
- name="SlowUserInteractionLatencyOverBudgetAfterBackForwardCacheRestore.HighPercentile2.TotalEventduration">
- <obsolete>
- Deprecated March 2022 in favor of
- SlowUserInteractionLatencyAfterBackForwardCacheRestore.HighPercentile2.MaxEventduration
- </obsolete>
- <summary>
- An approximation of high percentile of user interaction latency above
- budget of a page after it is restored from the back-forward, in ms. For
- this metric, we measure the latency of user interactions by
- Responsiveness.UserInteraction.TotalEventDuration and we deduct a budget
- from the original value. If the latency value is below the budget, it will
- be treated as 0 ms. Each type of interaction has its own budget.
- </summary>
- </metric>
- <metric
- name="SumOfUserInteractionLatencyOverBudgetAfterBackForwardCacheRestore.MaxEventduration">
- <summary>
- The sum of user interaction latency above budget of a page after it is
- restored from the back-forward, in ms. For this metric, we measure the
- latency of user interactions by
- Responsiveness.UserInteraction.MaxEventDuration and we deduct a budget
- from the original value. If the latency value is below the budget, it will
- be treated as 0 ms. Each type of interaction has its own budget.
- </summary>
- </metric>
- <metric
- name="SumOfUserInteractionLatencyOverBudgetAfterBackForwardCacheRestore.TotalEventduration">
- <obsolete>
- Deprecated March 2022 in favor of
- SlowUserInteractionLatencyAfterBackForwardCacheRestore.HighPercentile2.MaxEventduration
- </obsolete>
- <summary>
- The sum of user interaction latency above budget of a page after it is
- restored from the back-forward, in ms. For this metric, we measure the
- latency of user interactions by
- Responsiveness.UserInteraction.TotalEventDuration and we deduct a budget
- from the original value. If the latency value is below the budget, it will
- be treated as 0 ms. Each type of interaction has its own budget.
- </summary>
- </metric>
- <metric name="ThirdRequestAnimationFrameAfterBackForwardCacheRestore">
- <summary>
- Measures the time duration between the page restore from back-forward
- cache and the third requestAnimationFrame time in milliseconds.
- </summary>
- </metric>
- <metric name="TimeSinceNavigatedAwayFromDocument">
- <summary>
- Time in milliseconds from the moment the current navigation stopped being
- active to the start of the current navigation.
- This is clamped to hours for values greater than 3 hours, to minutes for
- values greater than 3 minutes, to seconds for values greater than 5
- seconds.
- </summary>
- </metric>
- <metric
- name="UserInteractionLatencyAfterBackForwardCacheRestore.HighPercentile2.MaxEventDuration">
- <summary>
- An approximation of a high percentile of user interaction latency of a
- page after it is restored from the back-forward cache, in ms. For this
- metric, we measure the latency of user interactions by
- Responsiveness.UserInteraction.MaxEventDuration.
- </summary>
- </metric>
- <metric
- name="WorstUserInteractionLatencyAfterBackForwardCacheRestore.MaxEventduration">
- <summary>
- The maximum value of user interaction latency of a page after it is
- restored from the back-forward, in ms. For this metric, we measure the
- latency of user interactions by
- Responsiveness.UserInteraction.MaxEventDuration.
- </summary>
- </metric>
- <metric
- name="WorstUserInteractionLatencyAfterBackForwardCacheRestore.TotalEventduration">
- <obsolete>
- Deprecated March 2022 in favor of
- SlowUserInteractionLatencyAfterBackForwardCacheRestore.HighPercentile2.MaxEventduration
- </obsolete>
- <summary>
- The maximum value of user interaction latency of a page after it is
- restored from the back-forward, in ms. For this metric, we measure the
- latency of user interactions by
- Responsiveness.UserInteraction.TotalEventDuration.
- </summary>
- </metric>
- <metric
- name="WorstUserInteractionLatencyOverBudgetAfterBackForwardCacheRestore.MaxEventduration">
- <obsolete>
- Deprecated March 2022 in favor of
- SlowUserInteractionLatencyAfterBackForwardCacheRestore.HighPercentile2.MaxEventduration
- </obsolete>
- <summary>
- The maximum value of user interaction latency above budget of a page after
- it is restored from the back-forward, in ms. For this metric, we measure
- the latency of user interactions by
- Responsiveness.UserInteraction.MaxEventDuration and we reduct a budget
- from the original value. If the latency value is below the budget, it will
- be treated as 0 ms. Each type of interaction has its own budget.
- </summary>
- </metric>
- <metric
- name="WorstUserInteractionLatencyOverBudgetAfterBackForwardCacheRestore.TotalEventduration">
- <obsolete>
- Deprecated March 2022 in favor of
- SlowUserInteractionLatencyAfterBackForwardCacheRestore.HighPercentile2.MaxEventduration
- </obsolete>
- <summary>
- The maximum value of user interaction latency above budget of a page after
- it is restored from the back-forward, in ms. For this metric, we measure
- the latency of user interactions by
- Responsiveness.UserInteraction.TotalEventDuration and we reduct a budget
- from the original value. If the latency value is below the budget, it will
- be treated as 0 ms. Each type of interaction has its own budget.
- </summary>
- </metric>
- </event>
- <event name="Identifiability">
- <owner>antoniosartori@chromium.org</owner>
- <owner>caraitto@chromium.org</owner>
- <owner>mkwst@chromium.org</owner>
- <owner>pauljensen@chromium.org</owner>
- <summary>
- Identifiability metrics are used to measure the diversity of web clients as
- observed by individual web sites.
- Browser or device fingerprinting uses differences in behaviors of web APIs
- as identifiers. The values collected under this event indicate the level of
- identifiability of these differences.
- Metrics recorded under this event are keyed based on parameters determined
- at runtime. Hence the metrics described in this file are not exhaustive.
- See
- //third_party/blink/public/common/privacy_budget/identifiability/identifiability_metric_builder.h
- for details on how the metrics hash is determined.
- </summary>
- <metric name="GeneratorVersion.926">
- <summary>
- An integer identifying the "generator" version for this record.
- Some identifiability study samples are derived from multiple factors which
- are run though a digest function to derive the int64_t value. If the set
- of factors change or the method of combining them changes, then the
- resulting statistics cannot be aggregated with those from a prior version.
- The name suffix (.926) was chosen so that the resulting metric hash as
- determined by base::HashMetricName() has all 8 LSBs set to 0. Such a
- metric hash does not collide with any other metric hash generated by
- blink::IdentifiabilityMetricBuilder().
- </summary>
- </metric>
- <metric name="StudyGeneration.626">
- <summary>
- An integer identifying the study "generation." In case the study
- parameters need to be tweaked to the point where results cannot be
- aggregated across study parameter sets, this value can be changed to
- partition the results.
- The name suffix (.626) was chosen so that the resulting metric hash as
- determined by base::HashMetricName() has all 8 LSBs set to 0. Such a
- metric hash does not collide with any other metric hash generated by
- blink::IdentifiabilityMetricBuilder().
- </summary>
- </metric>
- </event>
- <event name="InputEvent">
- <owner>mmocny@chromium.org</owner>
- <owner>sullivan@chromium.org</owner>
- <owner>speed-metrics-dev@chromium.org</owner>
- <summary>
- Metrics associated with user input events. This event is recorded in Blink
- and may not be recorded for the same page visits as events like PageLoad.
- Consumers of this event's metrics should be aware of this when making
- comparisons between InputEvent metrics and PageLoad metrics.
- </summary>
- <metric name="EventType" enum="InputEventTypeForResponsivenessMetric">
- <summary>
- The Event Type of the input event.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.is_dominant_version"/>
- <index fields="profile.is_latest_version"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="InteractiveTiming.InputDelay">
- <summary>
- Measures Input Delay, the duration between the hardware timestamp and the
- start of event processing on the main thread for the meaningful input. In
- ms. (go/FirstInputDelay)
- </summary>
- <aggregation>
- <history>
- <index fields="profile.is_dominant_version"/>
- <index fields="profile.is_latest_version"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="InteractiveTiming.ProcessingFinishedToNextPaint">
- <summary>
- Measures the time in ms from when the event handlers finish processing the
- input event to the time when the next paint caused by the input event is
- performed.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.is_dominant_version"/>
- <index fields="profile.is_latest_version"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="InteractiveTiming.ProcessingTime">
- <summary>
- Measures Input Event processing time, the duration of event handlers
- processing the input event. In ms.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.is_dominant_version"/>
- <index fields="profile.is_latest_version"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="InputMethod.Assistive.Match">
- <owner>jiwan@chromium.org</owner>
- <summary>
- Recorded when an assistive action could be triggered according to the
- surrounding text.
- </summary>
- <metric name="Type" enum="IMEAssistiveAction">
- <summary>
- The type of the assistive suggestion which is triggered.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="InputMethod.NonCompliantApi">
- <owner>shend@chromium.org</owner>
- <summary>
- Metrics indicating what Input Method Editor (IME) operations are behaving
- incorrectly on an input field. This event is recorded whenever an IME
- operation is executed on the input field but the result does not match the
- IME's expectations (e.g. IME wants to insert 'a' but the input field
- inserted 'b' instead).
- </summary>
- <metric name="NonCompliantOperation" enum="InputMethodApiOperation">
- <summary>
- The operation that behaved incorrectly.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="InstalledRelatedApps">
- <owner>rayankans@chromium.org</owner>
- <owner>peter@chromium.org</owner>
- <summary>
- Recorded before resolving a call to navigator.getInstalledRelatedApps().
- </summary>
- <metric name="Called">
- <summary>
- Always true.
- </summary>
- </metric>
- </event>
- <event name="Intervention.DocumentWrite.ScriptBlock" singular="True">
- <obsolete>
- Removed 12/2021.
- </obsolete>
- <owner>bmcquade@chromium.org</owner>
- <summary>
- Recorded for page loads where the document.write script block intervention
- could apply.
- </summary>
- <metric name="Disabled.Reload">
- <summary>
- Records '1' if the document.write script block intervention could have
- applied, but was disabled due to the page being reloaded.
- </summary>
- </metric>
- <metric name="ParseTiming.ParseBlockedOnScriptExecutionFromDocumentWrite">
- <summary>
- Measures the time in milliseconds that the HTML parser spent blocked on
- the execution of scripts inserted from document.write, for main frame
- documents that finished parsing.
- </summary>
- </metric>
- <metric name="ParseTiming.ParseBlockedOnScriptLoadFromDocumentWrite">
- <summary>
- Measures the time in milliseconds that the HTML parser spent blocked on
- the load of scripts inserted from document.write, for main frame documents
- that finished parsing.
- </summary>
- </metric>
- </event>
- <event name="IOS.FindInPageSearchMatches">
- <owner>thegreenfrog@chromium.org</owner>
- <owner>michaeldo@chromium.org</owner>
- <summary>
- Logged when the FindInPage returns a user search request result.
- </summary>
- <metric name="HasMatches" enum="Boolean">
- <summary>
- True if there were matches.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="IOS.IsDefaultBrowser">
- <owner>rkgibson@chromium.org</owner>
- <summary>
- As of iOS14, users will be able to set a default browser other than Safari.
- When Chrome is the default browser, it will open all URL links, which is
- likely to change certain stability metrics. Thus, it will be good to filter
- those metrics by default browser status. This metrics records whether the
- user was deemed to have set Chrome as the device's default browser. This
- metric will be logged once per metrics log upload, and if the metric changes
- mid-report, this just records the state at the very end of the report. Note:
- this is tied to a source_id that is not going to be emitted.
- </summary>
- <metric name="IsDefaultBrowser" enum="Boolean">
- <summary>
- True if Chrome is set as default browser.
- </summary>
- </metric>
- </event>
- <event name="IOS.PageAddedToReadingList">
- <owner>thegreenfrog@chromium.org</owner>
- <summary>
- Logged when the user adds a page to the Reading List.
- </summary>
- <metric name="AddedFromMessages" enum="Boolean">
- <summary>
- True if the page was added by the user tapping on the Messages prompt to
- save to Reading List.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="IOS.PageReadability">
- <owner>thegreenfrog@chromium.org</owner>
- <summary>
- Logged when the Distilibility score of the current page is returned and the
- Reading List Message is shown. Muliplied by 10X to get tenth digit
- granularity. 0.1 granularity will be recorded for scores between 0.5 and
- 1.5. Otherwise, the granularity will be 0.5.
- </summary>
- <metric name="DidAccept" enum="Boolean">
- <summary>
- True if the user tapped on the Messages prompt to save the current page to
- Reading List.
- </summary>
- </metric>
- <metric name="DistilibilityLongScore">
- <summary>
- Distilibility score value indicating the "long readability" of
- the page.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="DistilibilityScore">
- <summary>
- Distilibility score value indicating the "readability" of the
- page.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="IOS.PageZoomChanged">
- <owner>rkgibson@google.com</owner>
- <summary>
- Logged when the user changes their zoom level on iOS.
- </summary>
- <metric name="ContentSizeCategory" enum="IOSContentSizeCategory">
- <summary>
- The content size category the user is currently using.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="OverallZoomLevel">
- <summary>
- The overall zoom level. This is based on a combination of the user zoom
- level and a multiplier from the user's content size category.
- </summary>
- </metric>
- <metric name="UserZoomLevel">
- <summary>
- The current zoom multiplier (percentage-based, with 100 -> 100%) the
- user has chosen.
- </summary>
- </metric>
- </event>
- <event name="IOS.RendererGone">
- <owner>olivierrobin@chromium.org</owner>
- <summary>
- Logged when WKWebView process is reported gone. Metrics will give
- information of the context in which some website present sad tabs. It will
- help debug some renderer issues either in Chrome or in WebKit.
- </summary>
- <metric name="AliveRecentlyRendererCount">
- <summary>
- The number of WKWebView alive in the last 2 seconds.
- </summary>
- </metric>
- <metric name="AliveRendererCount">
- <summary>
- The number of WKWebView alive at the moment this renderer is gone.
- </summary>
- </metric>
- <metric name="InForeground" enum="TabForegroundState">
- <summary>
- Whether the app/tab was in foregound or background. 0: tab in foreground,
- app in foreground, 1: tab in background, app in foreground, 2: tab in
- foreground, app in background, 3: tab in background, app in background.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SawMemoryWarning" enum="Boolean">
- <summary>
- Whether a memory warning was received less than 5 seconds before the
- renderer process is gone.
- </summary>
- </metric>
- </event>
- <event name="IOS.URLMismatchInLegacyAndSlimNavigationManager">
- <owner>ajuma@chromium.org</owner>
- <owner>gambard@chromium.org</owner>
- <summary>
- Logged when LegacyNavigationManager and KWKBasedNavigationManager have
- different last committed URLs. This means that either old or new navigation
- system has a URL spoofing bug.
- </summary>
- <metric name="HasMismatch">
- <summary>
- True if there was a mismatch.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="JavascriptFrameworkPageLoad" singular="True">
- <owner>houssein@chromium.org</owner>
- <owner>npm@chromium.org</owner>
- <summary>
- Metrics stating whether the main frame of a page uses certain JavaScript
- frameworks. This event is recorded when the page is going to be unloaded or
- when the app enters the background on Android. The framework detection is
- done when the document is loaded (similar to when load event is fired). If a
- framework is used after this then it would not be detected. Note that a page
- can use multiple frameworks at the same time, hence why this reports each
- framework individually instead of a single enum.
- </summary>
- <metric name="AngularPageLoad" enum="Boolean">
- <summary>
- True if the page loaded in the main frame uses the Angular JavaScript
- framework.
- </summary>
- </metric>
- <metric name="GatsbyPageLoad" enum="Boolean">
- <summary>
- True if the page loaded in the main frame uses the Gatsby JavaScript
- framework.
- </summary>
- </metric>
- <metric name="NextJSPageLoad" enum="Boolean">
- <summary>
- True if the page loaded in the main frame uses the Next.js JavaScript
- framework.
- </summary>
- </metric>
- <metric name="NuxtJSPageLoad" enum="Boolean">
- <summary>
- True if the page loaded in the main frame uses the Nuxt.js JavaScript
- framework.
- </summary>
- </metric>
- <metric name="PreactPageLoad" enum="Boolean">
- <summary>
- True if the page loaded in the main frame uses the Preact JavaScript
- framework.
- </summary>
- </metric>
- <metric name="ReactPageLoad" enum="Boolean">
- <summary>
- True if the page loaded in the main frame uses the React JavaScript
- framework.
- </summary>
- </metric>
- <metric name="SapperPageLoad" enum="Boolean">
- <summary>
- True if the page loaded in the main frame uses the Sapper JavaScript
- framework.
- </summary>
- </metric>
- <metric name="SveltePageLoad" enum="Boolean">
- <summary>
- True if the page loaded in the main frame uses the Svelte JavaScript
- framework.
- </summary>
- </metric>
- <metric name="VuePageLoad" enum="Boolean">
- <summary>
- True if the page loaded in the main frame uses the Vue JavaScript
- framework.
- </summary>
- </metric>
- <metric name="VuePressPageLoad" enum="Boolean">
- <summary>
- True if the page loaded in the main frame uses the VuePress JavaScript
- framework.
- </summary>
- </metric>
- </event>
- <event name="Layout.DisplayCutout.StateChanged">
- <obsolete>
- Obsolete as of 08/2021.
- </obsolete>
- <owner>beccahughes@chromium.org</owner>
- <owner>media-dev@chromium.org</owner>
- <summary>
- Recorded every time the ViewportFit that is supplied by a frame changes or
- the fullscreen state of a frame or its parent WebContents changes.
- </summary>
- <metric name="IsMainFrame">
- <summary>
- Records '1' if the frame that triggered this event is the main frame.
- </summary>
- </metric>
- <metric name="SafeAreasPresent">
- <summary>
- Records whether each safe area was present. It will contain the first flag
- (1) if the top safe area is present. Likewise the second for the left, the
- third for the bottom and the forth for the right. If the safe area is
- updated whilst we are allowed to extend into the cutout then we will use
- the newest safe area values.
- </summary>
- </metric>
- <metric name="ViewportFit.Applied">
- <summary>
- Contains the ViewportFit value that was applied by the WebContents. The
- frame that is fullscreen will always propagate it's ViewportFit value.
- This is stored as a ViewportFit enum (see display_cutout.mojom).
- </summary>
- </metric>
- <metric name="ViewportFit.IgnoredReason">
- <summary>
- Records the reason why the ViewportFit value of this frame was not the
- applied value. It will be '0' if the value was allowed. It will be '1' if
- the ViewportFit value from the frame was blocked because the WebContents
- was not fullscreen. It will be '2' flag if the ViewportFit value from the
- frame was blocked because another frame is fullscreen.
- </summary>
- </metric>
- <metric name="ViewportFit.Supplied">
- <summary>
- Contains the ViewportFit value that was supplied by the frame that
- triggered the event. This is stored as a ViewportFit enum (see
- display_cutout.mojom). It can never be kAuto as we ignore events when the
- page is not trying to use the viewport fit API.
- </summary>
- </metric>
- </event>
- <event name="LiteVideo">
- <obsolete>
- Obsoleted December 2021.
- </obsolete>
- <owner>mcrouse@chromium.org</owner>
- <owner>rajendrant@chromium.org</owner>
- <summary>
- Metrics that capture the state and result of the LiteVideo optimization.
- This will be recorded once per frame when the associated render process
- ends. Only for Lite mode users on Android.
- </summary>
- <metric name="BlocklistReason" enum="LiteVideoBlocklistReason">
- <summary>
- The reason that a navigation was blocklisted and will not have media
- requests throttled.
- </summary>
- </metric>
- <metric name="ThrottlingResult" enum="LiteVideoThrottleResult">
- <summary>
- The result for whether media requests associated with this navigation were
- successfully throttled or stopped due to an opt-out event.
- </summary>
- </metric>
- <metric name="ThrottlingStartDecision" enum="LiteVideoDecision">
- <summary>
- The decision for whether media requests associated with this frame will be
- potentially throttled.
- </summary>
- </metric>
- </event>
- <event name="LoadCountsPerTopLevelDocument">
- <owner>fdoray@chromium.org</owner>
- <owner>chrome-catan@google.com</owner>
- <summary>
- Counts loads of each type that occured on a top-level document. Recorded
- when a top-level document is unloaded. This can be used to diagnose changes
- to the "Total pageloads" shown on stability dashboard.
- Exponential bucketing is applied to all counts. The bucketing function
- preserves exact count up until 20.
- </summary>
- <metric name="NumMainFrameSameDocumentLoads_Hidden">
- <summary>
- Number of main frame same-document loads that occurred while the page was
- hidden.
- </summary>
- </metric>
- <metric name="NumMainFrameSameDocumentLoads_Visible">
- <summary>
- Number of main frame same-document loads that occurred while the page was
- visible.
- </summary>
- </metric>
- <metric name="NumSubFrameDifferentDocumentLoads_Hidden">
- <summary>
- Number of sub frame different-document loads that occurred while the page
- was hidden.
- </summary>
- </metric>
- <metric name="NumSubFrameDifferentDocumentLoads_Visible">
- <summary>
- Number of sub frame different-document loads that occurred while the page
- was visible.
- </summary>
- </metric>
- <metric name="NumSubFrameSameDocumentLoads_Hidden">
- <summary>
- Number of sub frame same-document loads that occurred while the page was
- hidden.
- </summary>
- </metric>
- <metric name="NumSubFrameSameDocumentLoads_Visible">
- <summary>
- Number of sub frame same-document loads that occurred while the page was
- visible.
- </summary>
- </metric>
- </event>
- <event name="LoadingPredictor" singular="true">
- <owner>sophiechang@chromium.org</owner>
- <owner>tbansal@chromium.org</owner>
- <summary>
- Metrics that reflect the accuracy of the predictions used by the Loading
- Predictor. This event will be recorded once per page load on
- DocumentOnLoadCompletedInPrimaryMainFrame().
- </summary>
- <metric name="CorrectSubresourceOriginPreconnectsInitiated">
- <summary>
- The number of subresource origin preconnects that were initiated by the
- Loading Predictor for the navigation and were actually used by the page
- load, excluding the main frame URL's origin. If more than 100 subresource
- origins were preconnected to and were actually used by the page load, this
- will be capped at 100.
- </summary>
- </metric>
- <metric name="CorrectSubresourcePrefetchesInitiated">
- <summary>
- The number of subresource prefetches that were initiated by the Loading
- Predictor for the navigation and were actually used by the page load. If
- more than 100 subresources were prefetched and were actually used by the
- page load, this will be capped at 100.
- </summary>
- </metric>
- <metric name="LocalPredictionCorrectlyPredictedOrigins">
- <summary>
- The number of subresource origins that were correctly predicted by the
- local prediction database. This will be recorded if there is a prediction
- available in the local prediction database and does not necessarily mean
- that the prediction was used. If more than 100 subresource origins were
- correctly predicted, this will be capped at 100.
- </summary>
- </metric>
- <metric name="LocalPredictionOrigins">
- <summary>
- The number of subresource origins that were predicted locally. This will
- be recorded if there is a prediction available in the local prediction
- database and does not necessarily mean that the prediction was used. If
- more than 100 subresource origins were predicted, this will be capped at
- 100.
- </summary>
- </metric>
- <metric name="NavigationStartToFirstSubresourcePrefetchInitiated">
- <summary>
- The time (in milliseconds) that elapsed between navigation start and the
- first subresource prefetch that was initiated based on these predictions.
- </summary>
- </metric>
- <metric name="NavigationStartToNavigationCommit">
- <summary>
- The time (in milliseconds) that elapsed between navigation start and the
- commit finished.
- </summary>
- </metric>
- <metric name="NavigationStartToOptimizationGuidePredictionArrived">
- <summary>
- The time (in milliseconds) that elapsed between navigation start and the
- optimization guide prediction arriving for the navigation.
- </summary>
- </metric>
- <metric name="OptimizationGuidePredictionCorrectlyPredictedOrigins">
- <summary>
- The number of subresource origins that were correctly predicted by the
- Optimization Guide. This will be recorded if the Optimization Guide was
- consulted for the page load and the Optimization Guide had a prediction
- for it. If more than 100 subresource origins were correctly predicted,
- this will be capped at 100.
- </summary>
- </metric>
- <metric name="OptimizationGuidePredictionCorrectlyPredictedSubresources">
- <summary>
- The number of subresources that were correctly predicted by the
- Optimization Guide. This will be recorded if the Optimization Guide was
- consulted for the page load and the Optimization Guide had a prediction
- for it. If more than 100 subresources were predicted, this will be capped
- at 100.
- </summary>
- </metric>
- <metric name="OptimizationGuidePredictionDecision"
- enum="OptimizationGuideOptimizationGuideDecision">
- <summary>
- The decision coming from the Optimization Guide for whether there was a
- prediction available for the Page Load. This will be recorded if the
- Optimization Guide was consulted for the page load.
- </summary>
- </metric>
- <metric name="OptimizationGuidePredictionOrigins">
- <summary>
- The number of subresource origins that were predicted by the Optimization
- Guide. This will be recorded if the Optimization Guide was consulted for
- the page load and the Optimization Guide had a prediction for it. If more
- than 100 subresource origins were predicted, this will be capped at 100.
- </summary>
- </metric>
- <metric name="OptimizationGuidePredictionSubresources">
- <summary>
- The number of subresources that were predicted by the Optimization Guide.
- This will be recorded if the Optimization Guide was consulted for the page
- load and the Optimization Guide had a prediction for it. If more than 100
- subresources were predicted, this will be capped at 100.
- </summary>
- </metric>
- <metric name="SubresourceOriginPreconnectsInitiated">
- <summary>
- The number of subresource origins that were initiated by the Loading
- Predictor and were preconnected to, excluding the main frame URL's origin.
- If more than 100 subresource origins were preconnected to, this will be
- capped at 100.
- </summary>
- </metric>
- <metric name="SubresourcePrefetchesInitiated">
- <summary>
- The number of subresource prefetches that were initiated by the Loading
- Predictor for the navigation. If more than 100 subresources were
- prefetched, this will be capped at 100.
- </summary>
- </metric>
- </event>
- <event name="LocalNetworkRequests">
- <owner>uthakore@chromium.org</owner>
- <owner>invernizzi@chromium.org</owner>
- <summary>
- Metrics that describe the resource request behavior of pages for which
- navigation successfully commits. A separate entry is generated for every
- unique IP address or localhost port number to which the loaded page makes a
- resource request.
- </summary>
- <metric name="Count.Failed">
- <summary>
- The count of requests made by the page to the given resource for which a
- response is not received or a network error occurs (i.e. |net_error| !=
- |net::OK|) between the time navigation to the page commits and the time it
- completes.
- </summary>
- </metric>
- <metric name="Count.Successful">
- <summary>
- The count of requests made by the page to the given resource for which a
- successful response is received (i.e. |net_error| == |net::OK|) between
- the time navigation to the page commits and the time it completes.
- </summary>
- </metric>
- <metric name="PortType">
- <summary>
- An enum value representing the type of port for requests to localhost. The
- enum is defined in |LocalNetworkRequestsPageLoadMetricsObserver|. Possible
- values are 1 for common web server ports, 2 for common database server
- ports, 4 for common print server ports, 8 for common development server
- ports, and 0 for all other ports.
- </summary>
- </metric>
- <metric name="ResourceType">
- <summary>
- An enum value representing the type of resource requested. The enum is
- defined in |LocalNetworkRequestsPageLoadMetricsObserver|. Possible values
- are 0 for public resources requested by private pages, 1 for private
- resources requested by public pages, 2 for private resources within the
- same reserved IP space as the loaded private page, 4 for for private
- resources within a different reserved IP space than the loaded private
- page, 8 for resources requested by public pages that are suspected to be
- routers, and 16 for localhost resources.
- </summary>
- </metric>
- </event>
- <event name="LoginDetection" singular="True">
- <owner>rajendrant@chromium.org</owner>
- <owner>mcrouse@chromium.org</owner>
- <summary>
- Records the info about login detected for sites based on different
- heuristics.
- </summary>
- <metric name="Page.LoginType" enum="LoginDetectionType">
- <summary>
- An enum for representing the different ways of user login to a site, such
- as via passwords, via OAuth, etc. Recorded for every page load.
- </summary>
- </metric>
- </event>
- <event name="LookalikeUrl.NavigationSuggestion" singular="True">
- <owner>meacer@chromium.org</owner>
- <owner>cthomp@chromium.org</owner>
- <summary>
- Metrics recorded when a navigated URL's domain name is visually similar to a
- popular domain or a domain that the user engaged with.
- </summary>
- <metric name="MatchType">
- <summary>
- An enum value representing the type of the match (popular domain, engaged
- domain, etc.). The enum is defined in |LookalikeUrlBlockingPage|.
- </summary>
- </metric>
- <metric name="TriggeredByInitialUrl" enum="Boolean">
- <summary>
- A boolean representing whether or not the warning was triggered by the
- first URL in the chain, or whether the warning was triggered by the final
- (commited) URL.
- </summary>
- </metric>
- <metric name="UserAction">
- <summary>
- An enum value representing the decision the user made when shown an
- interstitial (ignored, suggestion_accepted, etc.). The enum is defined in
- |LookalikeUrlBlockingPage|.
- </summary>
- </metric>
- </event>
- <event name="MainFrameDownload">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <owner>yaoxia@chromium.org</owner>
- <summary>
- Measurement for top frame download. It is only recorded for downloads
- originated from navigations or from HTML anchor download attributes.
- </summary>
- <metric name="HasGesture">
- <summary>
- A boolean denoting whether the download involves a transient user gesture.
- </summary>
- </metric>
- <metric name="HasSandbox">
- <summary>
- A boolean denoting whether the download occurs in a sandboxed browsing
- context.
- </summary>
- </metric>
- </event>
- <event name="MainFrameNavigation" singular="True">
- <owner>thegreenfrog@chromium.org</owner>
- <summary>
- Metric associated with a main frame navigation. Currently implemented only
- on iOS.
- </summary>
- <metric name="DidCommit" enum="Boolean">
- <summary>
- Set to 1 if the navigation successfully commited.
- </summary>
- </metric>
- </event>
- <event name="Media.Autoplay.Attempt">
- <owner>dalecurtis@chromium.org</owner>
- <owner>media-dev@chromium.org</owner>
- <summary>
- Event recorded when there is an attempt to autoplay (ie. no user gesture).
- It will be recorded regardless of the result of this attempt.
- </summary>
- <metric name="AudioTrack">
- <summary>
- Whether the element had an audio track when autoplay was attempted.
- </summary>
- </metric>
- <metric name="HighMediaEngagement">
- <summary>
- Whether the document has a high media engagement.
- </summary>
- </metric>
- <metric name="Muted">
- <summary>
- Whether the element was muted when autoplay was attempted.
- </summary>
- </metric>
- <metric name="Source">
- <summary>
- Source of the autoplay attempt: 0 for attribute; 1 for play().
- </summary>
- </metric>
- <metric name="UserGestureRequired">
- <summary>
- Whether a user gesture was required per autoplay rules at the time of
- attempt. By definition there is no user gesture on the stack when the
- attempt is registered.
- </summary>
- </metric>
- <metric name="UserGestureStatus">
- <summary>
- Reflects the current status of user gesture/activation. This is a bit
- field with the following values: - 0b0001 if there is a user gesture on
- the stack; - 0b0010 if there was a user gesture on the page (ie. was
- activated); - 0b0100 if there was a user gesture propagated after a
- navigation.
- </summary>
- </metric>
- <metric name="VideoTrack">
- <summary>
- Whether the element had a video track when autoplay was attempted.
- </summary>
- </metric>
- </event>
- <event name="Media.Autoplay.AudioContext">
- <owner>dalecurtis@chromium.org</owner>
- <owner>media-dev@chromium.org</owner>
- <summary>
- Records the AudioContext autoplay information.
- </summary>
- <metric name="SourceNodeStarted">
- <summary>
- A boolean indicating if start() was called for any source node associated
- to the AudioContext.
- </summary>
- </metric>
- <metric name="Status">
- <summary>
- Status of this AudioContext when the autoplay policy applies. It will
- match the values from AudioContext::AutoplayStatus.
- </summary>
- </metric>
- <metric name="UnlockType">
- <summary>
- How the AudioContext was unlocked if it was. It will match the values from
- AudioContext::AutoplayUnlockType unless the AudioContext was never
- unlocked in which case it will be equal to -1.
- </summary>
- </metric>
- </event>
- <event name="Media.Autoplay.Muted.UnmuteAction">
- <owner>dalecurtis@chromium.org</owner>
- <owner>media-dev@chromium.org</owner>
- <summary>
- Event recorded when there is an attempt to unmute an media that was
- autoplaying following the rules of autoplay muted.
- </summary>
- <metric name="Result">
- <summary>
- 0 means that the unmute failed because it happened without a user gesture.
- 1 means that it succeeded because it had a user gesture.
- </summary>
- </metric>
- <metric name="Source">
- <summary>
- Similar to "Source" in "Media.Autoplay.Attempt" with
- the addition of a value for both sources being used: 0 for attribute; 1
- for play(); 2 for both attempted.
- </summary>
- </metric>
- </event>
- <event name="Media.BasicPlayback">
- <owner>dalecurtis@chromium.org</owner>
- <owner>media-dev@chromium.org</owner>
- <summary>
- Core metrics associated with a media playback through WebMediaPlayerImpl.
- Reported at the time of WatchTimeRecorder destruction or render process
- termination; whichever comes first. There will be multiple entries for a
- given playback; one for every PlaybackProperties change as well as one for
- foreground and background. Records may be aggregated based on PlayerID and
- correlated with the Media.WebMediaPlayerState event.
- </summary>
- <metric name="AudioCodec">
- <summary>
- media::AudioCodec enum value. Can be kUnknownAudioCodec even when HasAudio
- is true because we don't always know the codec.
- </summary>
- </metric>
- <metric name="AudioCodecProfile">
- <summary>
- media::AudioCodecProfile enum value. Can be AudioCodecProfile::kUnknown
- even when HasAudio is true because we don't always know the codec profile.
- </summary>
- </metric>
- <metric name="AudioDecoderName">
- <summary>
- Enumeration of audio decoder implementations, zero if none or unknown
- (Cast, HLS, etc). See AudioDecoderType (media/base/decoder.h) for expected
- values.
- </summary>
- </metric>
- <metric name="AudioEncryptionScheme">
- <summary>
- media::EncryptionMode enum value. Can be kUnencrypted if IsEME is false or
- if the audio track is unencrypted.
- </summary>
- </metric>
- <metric name="AutoplayInitiated">
- <summary>
- Boolean value indicating whether the initial playback was initiated via
- autoplay. Multilpe chunk records of the same player should have the same
- value. Autoplay is defined as a playback starting before there was a user
- activation on the page or without a user initiated same-domain navigation.
- </summary>
- </metric>
- <metric name="CompletedRebuffersCount">
- <summary>
- Integer count of the number of times a previous rebuffer succeeded and
- playback continued.
- </summary>
- </metric>
- <metric name="CompletedRebuffersDuration">
- <summary>
- Sum in milliseconds of all completed rebuffering events. Only reported if
- a rebuffering completion occurred.
- </summary>
- </metric>
- <metric name="Duration">
- <summary>
- Duration in milliseconds, rounded to the most significant digit, of the
- media being played. May be missing if the duration is unknown or infinite.
- </summary>
- </metric>
- <metric name="HasAudio">
- <summary>
- Boolean value indicating the presence of audio.
- </summary>
- </metric>
- <metric name="HasVideo">
- <summary>
- Boolean value indicating the presence of video.
- </summary>
- </metric>
- <metric name="IsBackground">
- <summary>
- Boolean value indicating if this event is for a background playback.
- </summary>
- </metric>
- <metric name="IsEME">
- <summary>
- Boolean value indicating if this event is for an EME playback.
- </summary>
- </metric>
- <metric name="IsMSE">
- <summary>
- Boolean value indicating if this event is for an MSE playback. If false it
- means this was a SRC playback.
- </summary>
- </metric>
- <metric name="IsMuted">
- <summary>
- Boolean value indicating if this event is for a muted playback.
- </summary>
- </metric>
- <metric name="IsTopFrame">
- <summary>
- Flag indicating whether the report comes from the top frame or some inner
- frame. For privacy, metrics from inner frames are recorded with the top
- frame's origin, so this flag helps separate top frame vs. embedded
- playbacks.
- </summary>
- </metric>
- <metric name="LastPipelineStatus">
- <summary>
- media::PipelineStatus enum value. Always 0 if the playback succeeded; all
- other values indicate the playback ended in an error.
- </summary>
- </metric>
- <metric name="MeanTimeBetweenRebuffers">
- <summary>
- Average number of milliseconds between rebuffering events. Only reported
- if a rebuffering event occurred. Computed by dividing total watch time by
- the number of rebuffering events.
- </summary>
- </metric>
- <metric name="MediaStreamType" enum="MediaStreamType">
- <summary>
- Enum value indicating the type of MediaStream if the playback is from a
- MediaStream, or kNonMediaStream otherwise.
- </summary>
- </metric>
- <metric name="PlayerID">
- <summary>
- ID which corresponds to a given WebMediaPlayerImpl instance. May be linked
- with Media.WebMediaPlayerState events to understand playback more deeply.
- </summary>
- </metric>
- <metric name="RebuffersCount">
- <summary>
- Integer count of the number of times playback experienced rebuffering.
- </summary>
- </metric>
- <metric name="VideoCodec">
- <summary>
- media::VideoCodec enum value. Can be kUnknownVideoCodec even when HasVideo
- is true because we don't always know the codec.
- </summary>
- </metric>
- <metric name="VideoCodecProfile">
- <summary>
- media::VideoCodecProfile enum value. Can be VIDEO_CODEC_PROFILE_UNKNOWN
- even when HasVideo is true because we don't always know the codec profile.
- </summary>
- </metric>
- <metric name="VideoDecoderName">
- <summary>
- Enumeration of video decoder implementations, zero if none or unknown
- (Cast, HLS, etc). See VideoDecoderType (media/base/decoder.h) for expected
- values.
- </summary>
- </metric>
- <metric name="VideoEncryptionScheme">
- <summary>
- media::EncryptionMode enum value. Can be kUnencrypted if IsEME is false or
- if the video track is unencrypted.
- </summary>
- </metric>
- <metric name="VideoFramesDecoded">
- <summary>
- Integer count of the video frames decoded in this record.
- </summary>
- </metric>
- <metric name="VideoFramesDropped">
- <summary>
- Integer count of the video frames dropped in this record. Should not
- exceed VideoFramesDecoded.
- </summary>
- </metric>
- <metric name="VideoNaturalHeight">
- <summary>
- Integer value indicating the natural height of the playback.
- </summary>
- </metric>
- <metric name="VideoNaturalWidth">
- <summary>
- Integer value indicating the natural width of the playback.
- </summary>
- </metric>
- <metric name="WatchTime">
- <summary>
- Watch time in milliseconds for this playback. See Media.WatchTime UMA
- metrics.
- </summary>
- </metric>
- <metric name="WatchTime.AC">
- <summary>
- Watch time on AC power in milliseconds for this playback. See
- Media.WatchTime UMA metrics.
- </summary>
- </metric>
- <metric name="WatchTime.Battery">
- <summary>
- Watch time on battery power in milliseconds for this playback. See
- Media.WatchTime UMA metrics.
- </summary>
- </metric>
- <metric name="WatchTime.DisplayFullscreen">
- <summary>
- Watch time for fullscreen in milliseconds for this playback. See
- Media.WatchTime UMA metrics. Only reported for foreground playbacks.
- </summary>
- </metric>
- <metric name="WatchTime.DisplayInline">
- <summary>
- Watch time for inline display in milliseconds for this playback. See
- Media.WatchTime UMA metrics. Only reported for foreground playbacks.
- </summary>
- </metric>
- <metric name="WatchTime.DisplayPictureInPicture">
- <summary>
- Watch time for picture in picture display in milliseconds for this
- playback. See Media.WatchTime UMA metrics. Only reported for foreground
- playbacks.
- </summary>
- </metric>
- <metric name="WatchTime.NativeControlsOff">
- <summary>
- Watch time with no controls in milliseconds for this playback. See
- Media.WatchTime UMA metrics. Only reported for foreground playbacks.
- </summary>
- </metric>
- <metric name="WatchTime.NativeControlsOn">
- <summary>
- Watch time with native controls in milliseconds for this playback. See
- Media.WatchTime UMA metrics. Only reported for foreground playbacks.
- </summary>
- </metric>
- </event>
- <event name="Media.EME.ApiPromiseRejection">
- <owner>xhwang@chromium.org</owner>
- <owner>media-dev@chromium.org</owner>
- <summary>
- Event recorded when an Encrypted Media Extensions (EME) API promise is
- rejected. In most cases this indicates a failure.
- </summary>
- <metric name="Api" enum="EmeApiType">
- <summary>
- The EME API for which the promise is rejected.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="KeySystem" enum="MediaKeySystem">
- <summary>
- The key system associated with the current CDM.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SystemCode" enum="CdmSystemCode">
- <summary>
- A CDM specific code providing more details about the cause of rejection.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="UseHardwareSecureCodecs" enum="Boolean">
- <summary>
- Whether hardware secure codecs are required for the current CDM.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="Media.EME.CreateMediaKeys">
- <owner>xhwang@chromium.org</owner>
- <owner>media-dev@chromium.org</owner>
- <summary>
- Event recorded when createMediaKeys() is called as part of Encrypted Media
- Extensions (EME) API.
- </summary>
- <metric name="IsAdFrame" enum="Boolean">
- <summary>
- Whether the frame is an ad frame.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="IsCrossOrigin" enum="Boolean">
- <summary>
- Whether the frame is Cross-Origin to the main frame.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="IsTopFrame" enum="Boolean">
- <summary>
- Whether the frame is the main frame.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="KeySystem" enum="MediaKeySystemLegacy">
- <summary>
- The key system associated with this call.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="Media.EME.GetStatusForPolicy">
- <owner>frs@chromium.org</owner>
- <owner>media-dev@chromium.org</owner>
- <summary>
- Event recorded when the EME API GetStatusForPolicy promise is resovled.
- </summary>
- <metric name="IsAdFrame" enum="Boolean">
- <summary>
- Whether the frame is an ad frame. This is not set if the frame is null.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="KeySystem" enum="MediaKeySystem">
- <summary>
- The key system associated with the current CDM.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="MinHdcpVersion" enum="HdcpVersion">
- <summary>
- The minimum HDCP version requested for EME API GetStatusForPolicy.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="UseHardwareSecureCodecs" enum="Boolean">
- <summary>
- Whether hardware secure codecs are required for the current CDM.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="Media.EME.RequestMediaKeySystemAccess">
- <owner>xhwang@chromium.org</owner>
- <owner>media-dev@chromium.org</owner>
- <summary>
- Event recorded when RequestMediaKeySystemAccess() is called as part of
- Encrypted Media Extensions (EME) API.
- </summary>
- <metric name="IsAdFrame" enum="Boolean">
- <summary>
- Whether the frame is an ad frame.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="IsCrossOrigin" enum="Boolean">
- <summary>
- Whether the frame is Cross-Origin to the main frame.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="IsTopFrame" enum="Boolean">
- <summary>
- Whether the frame is the main frame.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="KeySystem" enum="MediaKeySystemLegacy">
- <summary>
- The key system passed in requestMediaKeySystemAccess() call.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="VideoCapabilities" enum="Boolean">
- <summary>
- Whether there are any "videoCapabilities".
- </summary>
- </metric>
- <metric name="VideoCapabilities.HasEmptyRobustness" enum="Boolean">
- <summary>
- Whether there are any "videoCapabilities" with empty robustness.
- </summary>
- </metric>
- <metric name="VideoCapabilities.HasHwSecureAllRobustness" enum="Boolean">
- <summary>
- Whether there are any "videoCapabilities" with robustness being
- "HW_SECURE_ALL".
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="Media.Engagement.SessionFinished">
- <owner>beccahughes@chromium.org</owner>
- <owner>media-dev@chromium.org</owner>
- <summary>
- The Media Engagement index stores the number of significant media playbacks
- per origin and the number of visits. From that we calculate a Media
- Engagement Score.
- To tweak the scoring function we are logging the total number of significant
- media playbacks, the total number of visits, the calculated engagement score
- and the new number of significant media playbacks that occured this visit.
- </summary>
- <metric name="Engagement.IsHigh">
- <summary>
- Whether the Media Engagement Service considers the score to be high (we
- are using a two threshold approach so there is one threshold to be
- considered high and another one to lose that status to reduce jitter).
- </summary>
- </metric>
- <metric name="Engagement.IsHigh.Changed">
- <obsolete>
- Deprecated 8/19 as part of https://crbug.com/998685
- </obsolete>
- <summary>
- Whether the IsHigh bit changed during the current session.
- </summary>
- </metric>
- <metric name="Engagement.IsHigh.Changes">
- <obsolete>
- Deprecated 8/19 as part of https://crbug.com/998685
- </obsolete>
- <summary>
- Counts of IsHigh changing (from 0 to 1 or 1 to 0).
- </summary>
- </metric>
- <metric name="Engagement.IsPreloaded">
- <obsolete>
- Deprecated 8/19 as part of https://crbug.com/998685
- </obsolete>
- <summary>
- Whether the origin was preloaded (from the chrome://component) as a high
- engagement origin.
- </summary>
- </metric>
- <metric name="Engagement.Score">
- <summary>
- The calculated Media Engagement score for the current origin. The score is
- calculated by dividing the number of significant media playbacks by the
- number of visits. If the number of visits is below 5 then the score will
- be zero. This score is taken from MediaEngagementService.
- </summary>
- </metric>
- <metric name="Playbacks.AudioContextTotal">
- <obsolete>
- Deprecated 8/19 as part of https://crbug.com/998685
- </obsolete>
- <summary>
- The total number of significant media playbacks on this origin that came
- from WebAudio / AudioContext.
- </summary>
- </metric>
- <metric name="Playbacks.Delta">
- <obsolete>
- Deprecated 8/19 as part of https://crbug.com/998685
- </obsolete>
- <summary>
- The number of significant media playbacks on this origin during this
- session (a visit to an origin on the same tab). A playback is determined
- significant if it meets certain criteria such as a video size of at least
- 200x140px, is not muted, is playing, etc.
- </summary>
- </metric>
- <metric name="Playbacks.MediaElementTotal">
- <obsolete>
- Deprecated 8/19 as part of https://crbug.com/998685
- </obsolete>
- <summary>
- The total number of significant media playbacks on this origin that came
- from media elements.
- </summary>
- </metric>
- <metric name="Playbacks.SecondsSinceLast">
- <obsolete>
- Deprecated 8/19 as part of https://crbug.com/998685
- </obsolete>
- <summary>
- The number of seconds between significant media playback on the last visit
- and significant media playback on the current visit. If there was no
- previous visit or significant media playback this visit it will be 0.
- </summary>
- </metric>
- <metric name="Playbacks.Total">
- <summary>
- The total number of significant media playbacks on this origin.
- </summary>
- </metric>
- <metric name="Player.Audible.Delta">
- <summary>
- The number of unique audio/video players on a page that was audible (made
- sound) during a visit.
- </summary>
- </metric>
- <metric name="Player.Audible.Total">
- <obsolete>
- Deprecated 8/19 as part of https://crbug.com/998685
- </obsolete>
- <summary>
- The delta from above but instead of a single visit, the total of all
- deltas for all visits on this origin.
- </summary>
- </metric>
- <metric name="Player.Significant.Delta">
- <summary>
- The number of unique audio/video players on a page that was audible (made
- sound) and considered significant (played for at least 7 seconds) during a
- visit.
- </summary>
- </metric>
- <metric name="Player.Significant.Total">
- <obsolete>
- Deprecated 8/19 as part of https://crbug.com/998685
- </obsolete>
- <summary>
- The delta from above but instead of a single visit, the total of all
- deltas for all visits on this origin.
- </summary>
- </metric>
- <metric name="Visits.Total">
- <summary>
- The total number of visits to this origin.
- </summary>
- </metric>
- </event>
- <event name="Media.Engagement.ShortPlaybackIgnored">
- <owner>beccahughes@chromium.org</owner>
- <owner>media-dev@chromium.org</owner>
- <summary>
- The Media Engagement index stores the number of significant media playbacks
- per origin and the number of audible players. From that we calculate a Media
- Engagement Score.
- Media with a short playback length is ignored so we are logging any time the
- player is ignored with the length in msec. This will allow us to identify
- whether sites are being penalized or there is abuse and allow us to tweak
- the length considered "short".
- </summary>
- <metric name="Length"/>
- </event>
- <event name="Media.Feed.Discover">
- <owner>beccahughes@chromium.org</owner>
- <owner>media-dev@chromium.org</owner>
- <summary>
- Media Feeds are out of band feeds of media recommendations that are fetched
- by the browser. This records when we discover a feed that has been placed in
- a meta tag on a website.
- </summary>
- <metric name="HasMediaFeed">
- <summary>
- Whether the site has a media feed.
- </summary>
- </metric>
- </event>
- <event name="Media.GlobalMediaControls.ActionButtonPressed">
- <owner>steimel@chromium.org</owner>
- <owner>media-dev@chromium.org</owner>
- <summary>
- Records when a user presses a button in the Global Media Controls. Records
- no more than 100 actions per source per session. Records which button was
- pressed (e.g. play, pause, next track, picture-in-picture).
- </summary>
- <metric name="MediaSessionAction" enum="MediaSessionAction">
- <summary>
- The action of the button that was pressed (e.g. play, pause, next track,
- picture-in-picture).
- </summary>
- </metric>
- </event>
- <event name="Media.Kaleidoscope.Navigation">
- <obsolete>
- Deprecated as of 2020/12.
- </obsolete>
- <owner>beccahughes@chromium.org</owner>
- <owner>media-dev@chromium.org</owner>
- <summary>
- Kaleidoscope is a media recommendations feature in Chrome. This event is
- recorded when a user selects a media recommendation and there is a
- navigation to the new site from Kaleidoscope.
- </summary>
- <metric name="WasFromKaleidoscope">
- <summary>
- Whether the navigation was from Kaleiodscope.
- </summary>
- </metric>
- </event>
- <event name="Media.Learning.PredictionRecord">
- <owner>liberato@chromium.org</owner>
- <summary>
- A record of some predicted value vs. an observation. If the prediction is
- for a regression-style task (e.g., "predict a number" rather than
- "predict an enum value"), then the predicted and observed values
- are the numeric values, scaled by default to be in the integer range 0-100.
- The exact scaling used depends on the particular regression problem. Please
- see the LearningTask structure for the task of interest to find out how it
- maps values into the [0, 100] output range.
- A record is created for every prediction separately.
- For example, in the MediaCapabilities experiments, each playback generates a
- record. The predicted / observed values are the ratio of dropped to decoded
- frames, expressed as a percentage scaled to 0-100.
- </summary>
- <metric name="LearningTask">
- <summary>
- The learning task to which this record applies. This is a persistent hash
- of the |name| field in the LearningTask. Presumably, you'll want to
- include only records of a particular task when analyzing results.
- </summary>
- </metric>
- <metric name="ObservedValue">
- <summary>
- Observed value for this sample, scaled into the range [0, 100]. The exact
- scaling factor depends on the particular task.
- MediaCapabilities, for example, reports 100 * percentage_of_dropped_frames
- in this field.
- </summary>
- </metric>
- <metric name="PredictedValue">
- <summary>
- Predicted value for this sample, scaled into the range [0, 100]. The exact
- scaling factor depends on the particular task.
- MediaCapabilities, for example, reports 100 * percentage_of_dropped_frames
- in this field.
- </summary>
- </metric>
- <metric name="TrainingDataSize">
- <summary>
- Number of training examples that were used to train this model.
- </summary>
- </metric>
- <metric name="TrainingDataTotalWeight">
- <summary>
- Total weight of all examples that were used to train this model.
- </summary>
- </metric>
- </event>
- <event name="Media.SiteMuted" singular="True">
- <owner>steimel@chromium.org</owner>
- <owner>media-dev@chromium.org</owner>
- <summary>
- Event recorded when a website tries to play audio but is muted by the sound
- content setting.
- </summary>
- <metric name="MuteReason">
- <summary>
- Enum value giving the reason the site was muted. Defined as
- |SoundContentSettingObserver::MuteReason|.
- </summary>
- </metric>
- </event>
- <event name="Media.VideoDecodePerfRecord">
- <owner>chcunningham@chromium.org</owner>
- <owner>media-dev@chromium.org</owner>
- <summary>
- A record of decoding performance metrics from a video playback with the
- given stream characteristics (profile, resolution, fps). Also includes what
- Media Capabilities API would claim for such a stream as a means of assessing
- the API's accuracy.
- </summary>
- <metric name="Perf.ApiWouldClaimIsPowerEfficient">
- <summary>
- Boolean signaling whether MediaCapabilities would classify streams with
- these characteristics as power efficient prior to considering this latest
- record. MediaCapabilities prediction is accurate when this value matches
- RecordIsPowerEfficient.
- </summary>
- </metric>
- <metric name="Perf.ApiWouldClaimIsSmooth">
- <summary>
- Boolean signaling whether MediaCapabilities would classify streams with
- these characteristics as smooth prior to considering this latest record.
- MediaCapabilities prediction is accurate when this value matches
- RecordIsSmooth.
- </summary>
- </metric>
- <metric name="Perf.PastVideoFramesDecoded">
- <summary>
- Integer count of past video frames decoded for the given video type.
- </summary>
- </metric>
- <metric name="Perf.PastVideoFramesDropped">
- <summary>
- Integer count of past video frames dropped for the given video type.
- </summary>
- </metric>
- <metric name="Perf.PastVideoFramesPowerEfficient">
- <summary>
- Integer count of past video frames power efficient for the given video
- type.
- </summary>
- </metric>
- <metric name="Perf.RecordIsPowerEfficient">
- <summary>
- Boolean signaling whether MediaCapabilities would classify this isolated
- playback record as power efficient.
- </summary>
- </metric>
- <metric name="Perf.RecordIsSmooth">
- <summary>
- Boolean signaling whether MediaCapabilities would classify this isolated
- playback record as smooth.
- </summary>
- </metric>
- <metric name="Perf.VideoFramesDecoded">
- <summary>
- Integer count of the video frames decoded in this record.
- </summary>
- </metric>
- <metric name="Perf.VideoFramesDropped">
- <summary>
- Integer count of the video frames dropped in this record. Should not
- exceed VideoFramesDecoded.
- </summary>
- </metric>
- <metric name="Perf.VideoFramesPowerEfficient">
- <summary>
- Integer count of the video frames decoded via power efficient means in
- this record. Should not exceed VideoFramesDecoded.
- </summary>
- </metric>
- <metric name="Video.CodecProfile">
- <summary>
- media::VideoCodecProfile enum value. Can be VIDEO_CODEC_PROFILE_UNKNOWN if
- we don't know the video codec.
- </summary>
- </metric>
- <metric name="Video.EME.KeySystem" enum="MediaKeySystem">
- <summary>
- Name of the KeySystem used during for an encrypted (EME) playback. Will be
- unset when EME is not used.
- </summary>
- </metric>
- <metric name="Video.EME.UseHwSecureCodecs">
- <summary>
- Boolean indicating whether content decryption module (CDM) was configured
- to use hardware secure decoding. May be true or false for EME playbacks.
- Will be unset for non-EME playbacks.
- </summary>
- </metric>
- <metric name="Video.FramesPerSecond">
- <summary>
- Integer representing video frames per second. This is the cadence of video
- frames as described by stream timestamps multiplied by
- HTMLMediaELement.playbackRate.
- </summary>
- </metric>
- <metric name="Video.InTopFrame">
- <summary>
- Flag indicating whether the record comes from the top frame or some inner
- frame. For privacy, metrics from inner frames are recorded with the top
- frame's origin, so this flag helps separate top frame vs. embedded
- playbacks.
- </summary>
- </metric>
- <metric name="Video.NaturalHeight">
- <summary>
- Integer representing height of video natural size.
- </summary>
- </metric>
- <metric name="Video.NaturalWidth">
- <summary>
- Integer representing width of video natural size.
- </summary>
- </metric>
- <metric name="Video.PlayerID">
- <summary>
- ID which corresponds to a given WebMediaPlayerImpl instance. May be linked
- with Media.WebMediaPlayerState events to understand playback more deeply.
- </summary>
- </metric>
- </event>
- <event name="Media.WatchTime">
- <obsolete>
- Deprecated 8/2017 in favor Media.BasicPlayback
- </obsolete>
- <owner>dalecurtis@chromium.org</owner>
- <summary>
- Watch time is defined as the amount of elapsed media time for audio+video
- media aggregated per player instance. A minimum of 7 seconds of unmuted,
- foreground media must be watched to start watch time monitoring. Watch time
- is checked on a regular basis and reported upon one of the stop events
- mentioned below or at player destruction if none occur prior.
- Any one of paused, hidden, or muted is sufficient to stop watch time metric
- reports. Each of these has a hysteresis where if the state change is undone
- within some time, the watch time will be counted as uninterrupted.
- Power events (on/off battery power) have a similar hysteresis, but unlike
- the aforementioned properties, will not stop metric collection.
- Native controls events have a similar behavior than power events.
- Each seek event will result in a new watch time metric being started and the
- old metric finalized as accurately as possible.
- </summary>
- <metric name="Audio.AC"/>
- <metric name="Audio.All"/>
- <metric name="Audio.Battery"/>
- <metric name="Audio.EME"/>
- <metric name="Audio.MSE"/>
- <metric name="Audio.NativeControlsOff"/>
- <metric name="Audio.NativeControlsOn"/>
- <metric name="Audio.SRC"/>
- <metric name="AudioVideo.AC"/>
- <metric name="AudioVideo.All"/>
- <metric name="AudioVideo.Background.AC"/>
- <metric name="AudioVideo.Background.All"/>
- <metric name="AudioVideo.Background.Battery"/>
- <metric name="AudioVideo.Background.EME"/>
- <metric name="AudioVideo.Background.MSE"/>
- <metric name="AudioVideo.Background.SRC"/>
- <metric name="AudioVideo.Battery"/>
- <metric name="AudioVideo.DisplayFullscreen"/>
- <metric name="AudioVideo.DisplayInline"/>
- <metric name="AudioVideo.DisplayPictureInPicture"/>
- <metric name="AudioVideo.EME"/>
- <metric name="AudioVideo.MSE"/>
- <metric name="AudioVideo.NativeControlsOff"/>
- <metric name="AudioVideo.NativeControlsOn"/>
- <metric name="AudioVideo.SRC"/>
- </event>
- <event name="Media.WebAudio.AudioContext.AudibleTime">
- <owner>hongchan@chromium.org</owner>
- <owner>mjwilson@chromium.org</owner>
- <owner>webaudio-dev@chromium.org</owner>
- <summary>
- Records the AudioContext audible time information.
- </summary>
- <metric name="AudibleTime">
- <summary>
- Audible time in milliseconds for this event.
- </summary>
- </metric>
- <metric name="IsMainFrame">
- <summary>
- Indicates whether the event is fired from main frame.
- </summary>
- </metric>
- </event>
- <event name="Media.WebMediaPlayerState">
- <owner>dalecurtis@chromium.org</owner>
- <owner>media-dev@chromium.org</owner>
- <summary>
- Final state of WebMediaPlayerImpl instance. Records only immutable playback
- properties. Contains a PlaybackID which links to Media.BasicPlayback events.
- </summary>
- <metric name="AudioEncryptionType" enum="MediaEncryptionType">
- <summary>
- Encryption type of the audio stream such as whether audio is encrypted and
- if so whether it has clear lead.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="ContainerName">
- <summary>
- media::container_names::MediaContainerName enum value. Only recorded for
- !IsMSE src=URL playbacks, this is the container of the media being played
- back; E.g., mp4, avi, mp3, etc.
- </summary>
- </metric>
- <metric name="FinalPipelineStatus" enum="PipelineStatus">
- <summary>
- media::PipelineStatus enum value. Always 0 if the playback succeeded; all
- other values indicate the playback ended in an error.
- </summary>
- </metric>
- <metric name="IsEME">
- <summary>
- Boolean value indicating if this event is for an EME playback. Note: EME
- can be attached anytime during the lifecycle of a WebMediaPlayerImpl, but
- once attached can't be removed.
- </summary>
- </metric>
- <metric name="IsHardwareSecure" enum="Boolean">
- <summary>
- Boolean value indicating whether the EME playback is using hardware secure
- pipeline. For clear playback, this will always be false.
- </summary>
- </metric>
- <metric name="IsMSE">
- <summary>
- Boolean value indicating if this event is for an MSE playback. If false it
- means this was a SRC playback.
- </summary>
- </metric>
- <metric name="IsTopFrame">
- <summary>
- Flag indicating whether the report comes from the top frame or some inner
- frame. For privacy, metrics from inner frames are recorded with the top
- frame's origin, so this flag helps separate top frame vs. embedded
- playbacks.
- </summary>
- </metric>
- <metric name="KeySystem" enum="MediaKeySystem">
- <summary>
- For EME playback, this is the key system used. For clear playback, this
- will always be the default value 0 (kUnknownKeySystemForUkm).
- </summary>
- </metric>
- <metric name="PlayerID">
- <summary>
- ID which corresponds to a given WebMediaPlayerImpl instance. May be linked
- with Media.BasicPlayback events to understand a playback more deeply.
- </summary>
- </metric>
- <metric name="RendererType" enum="MediaRendererType">
- <summary>
- Type of media::Renderer used for the playback. In most cases we do not
- support dynamically changing RendererType during one playback.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="TimeToFirstFrame">
- <summary>
- Time in milliseconds from when WebMediaPlayerImpl starts loading until the
- first video frame has been shown.
- </summary>
- </metric>
- <metric name="TimeToMetadata">
- <summary>
- Time in milliseconds from when WebMediaPlayerImpl starts loading until
- metadata is known.
- </summary>
- </metric>
- <metric name="TimeToPlayReady">
- <summary>
- Time in milliseconds from when WebMediaPlayerImpl starts loading until it
- has buffered enough to start playback.
- </summary>
- </metric>
- <metric name="URLScheme">
- <summary>
- media::mojom::MediaURLScheme enum value. Only recorded for !IsMSE src=URL
- playbacks, this is the scheme of that URL; E.g., http, https, filesystem,
- etc.
- </summary>
- </metric>
- <metric name="VideoEncryptionType" enum="MediaEncryptionType">
- <summary>
- Encryption type of the video stream such as whether video is encrypted and
- if so whether it has clear lead.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="MediaRouter.CastWebSenderExtensionLoadUrl" singular="True">
- <owner>rwkeane@chromium.org</owner>
- <owner>openscreen-eng@google.com</owner>
- <summary>
- Records that the a resource has been loaded from the Media Router Component
- Extension.
- </summary>
- <metric name="HasOccurred" enum="Boolean">
- <summary>
- A boolean signaling that the event has occurred; only records true values.
- </summary>
- </metric>
- </event>
- <event name="MediaRouter.SiteInitiatedMirroringStarted">
- <owner>muyaoxu@google.com</owner>
- <owner>openscreen-eng@google.com</owner>
- <summary>
- Recorded whenever user starts a site-initiated mirroring session via Media
- Router.
- </summary>
- <metric name="AllowAudioCapture" enum="BooleanAllowed">
- <summary>
- Whether audio capture is allowed in the cast session. If allowed, audio
- playback will happen on the receiver side. If not allowed, audio playback
- will happen on the sender side.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="MediaRouter.TabMirroringStarted">
- <owner>takumif@chromium.org</owner>
- <owner>openscreen-eng@google.com</owner>
- <summary>
- Recorded whenever user starts a tab mirroring session via Media Router.
- </summary>
- <metric name="AudioState" enum="WebContentsAudioState">
- <summary>
- The audio playback state of the WebContents at the start of the tab
- mirroring session.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="Memory.Experimental">
- <owner>erikchen@chromium.org</owner>
- <owner>ssid@chromium.org</owner>
- <summary>
- Metrics associated with memory consumption, in MB.
- </summary>
- <metric name="ArrayBuffer">
- <summary>
- Measure of memory consumed by Array Buffer.
- </summary>
- </metric>
- <metric name="BlinkGC">
- <summary>
- Measure of memory consumed by Oilpan.
- </summary>
- </metric>
- <metric name="BlinkGC.AllocatedObjects">
- <summary>
- Measure of memory consumed by live allocations made from Oilpan.
- </summary>
- </metric>
- <metric name="CanvasResourceProvider.SkSurface">
- <summary>
- Measure of memory used due to CanvasResourceProvider's SkSurface.
- </summary>
- </metric>
- <metric name="CommandBuffer">
- <summary>
- Measure of memory consumed by GL command buffer.
- </summary>
- </metric>
- <metric name="Discardable">
- <summary>
- Measure of memory consumed by Discardable memory service.
- </summary>
- </metric>
- <metric name="DownloadService">
- <summary>
- Measure of memory used by download service.
- </summary>
- </metric>
- <metric name="Extensions.ValueStore">
- <summary>
- Measure of memory consumed by Key Value Store databases of extensions.
- </summary>
- </metric>
- <metric name="FontCaches">
- <summary>
- Measure of memory used by font platform and shape caches in renderer
- process.
- </summary>
- </metric>
- <metric name="GpuMemory">
- <summary>
- Measure of GPU memory used by Chrome.
- </summary>
- </metric>
- <metric name="History">
- <summary>
- Approximate measure of memory consumed by History service.
- </summary>
- </metric>
- <metric name="IsVisible">
- <summary>
- Indicates whether the tab is visible or not at the time of metric
- collection.
- </summary>
- </metric>
- <metric name="JavaHeap">
- <summary>
- Measure of memory consumed by java heap on Android.
- </summary>
- </metric>
- <metric name="LevelDatabase">
- <summary>
- Measure of memory consumed by unaccounted level databases.
- </summary>
- </metric>
- <metric name="Malloc">
- <summary>
- Measure of memory allocated by malloc, that is not classified by other
- metrics.
- </summary>
- </metric>
- <metric name="Malloc.AllocatedObjects">
- <summary>
- Measure of total memory used by objects allocated using malloc.
- </summary>
- </metric>
- <metric name="Net">
- <obsolete>
- Deprecated as of 09/2021.
- </obsolete>
- <summary>
- Measure of memory allocated by network sockets and caches.
- </summary>
- </metric>
- <metric name="Net.UrlRequestContext">
- <obsolete>
- Deprecated as of 09/2021.
- </obsolete>
- <summary>
- Measure of memory allocated by all network requests.
- </summary>
- </metric>
- <metric name="NumberOfAdSubframes">
- <summary>
- The number of ad subframes that the associated renderer owns.
- </summary>
- </metric>
- <metric name="NumberOfArrayBufferContents">
- <summary>
- The number of arraybuffer contents that the associated renderer owns.
- </summary>
- </metric>
- <metric name="NumberOfCallsInDetachedWindowByClosing">
- <obsolete>
- Deprecated as of 01/2020.
- </obsolete>
- <summary>
- The number of function calls in a window detached by closing/removal.
- </summary>
- </metric>
- <metric name="NumberOfCallsInDetachedWindowByClosing_After10sSinceDetaching">
- <obsolete>
- Deprecated as of 01/2020.
- </obsolete>
- <summary>
- The number of function calls in a window detached by closing/removal, that
- happened at least 10 seconds after detaching.
- </summary>
- </metric>
- <metric name="NumberOfCallsInDetachedWindowByClosing_After1minSinceDetaching">
- <obsolete>
- Deprecated as of 01/2020.
- </obsolete>
- <summary>
- The number of function calls in a window detached by closing/removal, that
- happened at least 1 minute after detaching.
- </summary>
- </metric>
- <metric name="NumberOfCallsInDetachedWindowByNavigation">
- <obsolete>
- Deprecated as of 01/2020.
- </obsolete>
- <summary>
- The number of function calls in a window detached by navigating away.
- </summary>
- </metric>
- <metric
- name="NumberOfCallsInDetachedWindowByNavigation_After10sSinceDetaching">
- <obsolete>
- Deprecated as of 01/2020.
- </obsolete>
- <summary>
- The number of function calls in a window detached by navigating away, that
- happened at least 10 seconds after detaching.
- </summary>
- </metric>
- <metric
- name="NumberOfCallsInDetachedWindowByNavigation_After1minSinceDetaching">
- <obsolete>
- Deprecated as of 01/2020.
- </obsolete>
- <summary>
- The number of function calls in a window detached by navigating away, that
- happened at least 1 minute after detaching.
- </summary>
- </metric>
- <metric name="NumberOfCallsInDetachedWindowByOtherReason">
- <obsolete>
- Deprecated as of 01/2020.
- </obsolete>
- <summary>
- The number of function calls in a window detached by another reason.
- </summary>
- </metric>
- <metric
- name="NumberOfCallsInDetachedWindowByOtherReason_After10sSinceDetaching">
- <obsolete>
- Deprecated as of 01/2020.
- </obsolete>
- <summary>
- The number of function calls in a window detached by another reason, that
- happened at least 10 seconds after detaching.
- </summary>
- </metric>
- <metric
- name="NumberOfCallsInDetachedWindowByOtherReason_After1minSinceDetaching">
- <obsolete>
- Deprecated as of 01/2020.
- </obsolete>
- <summary>
- The number of function calls in a window detached by another reason, that
- happened at least 1 minute after detaching.
- </summary>
- </metric>
- <metric name="NumberOfDetachedScriptStates">
- <summary>
- The number of detached ScriptState that the associated renderer owns.
- </summary>
- </metric>
- <metric name="NumberOfDocuments">
- <summary>
- The number of documents that the associated renderer owns.
- </summary>
- </metric>
- <metric name="NumberOfExtensions">
- <summary>
- The number of extensions that are served from the associated renderer
- process.
- </summary>
- </metric>
- <metric name="NumberOfFrames">
- <summary>
- The number of frames that the associated renderer owns.
- </summary>
- </metric>
- <metric name="NumberOfLayoutObjects">
- <summary>
- The number of layout objects that the associated renderer owns.
- </summary>
- </metric>
- <metric name="NumberOfMojoHandles">
- <summary>
- The number of mojo handles stored in HandleTable.
- </summary>
- </metric>
- <metric name="NumberOfNodes">
- <summary>
- The number of nodes that the associated renderer owns.
- </summary>
- </metric>
- <metric name="NumberOfWebMediaPlayers">
- <summary>
- The number of web media players in the associated renderer.
- </summary>
- </metric>
- <metric name="OmniboxSuggestions">
- <summary>
- Measure of memory used due to URL indexing and autocomplete suggestions.
- </summary>
- </metric>
- <metric name="PartitionAlloc">
- <summary>
- Measure of memory allocated by PartitionAlloc allocator.
- </summary>
- </metric>
- <metric name="PartitionAlloc.AllocatedObjects">
- <summary>
- Measure of total memory used by objects allocated using PartitionAlloc.
- </summary>
- </metric>
- <metric name="PartitionAlloc.Partitions.ArrayBuffer">
- <summary>
- Measure of memory used by Array Buffer partition in PartitionAlloc.
- </summary>
- </metric>
- <metric name="PartitionAlloc.Partitions.Buffer">
- <summary>
- Measure of memory used by Buffer partition in PartitionAlloc.
- </summary>
- </metric>
- <metric name="PartitionAlloc.Partitions.FastMalloc">
- <summary>
- Measure of memory used by Fast Malloc partition in PartitionAlloc.
- </summary>
- </metric>
- <metric name="PartitionAlloc.Partitions.Layout">
- <summary>
- Measure of memory used by Layout partition in PartitionAlloc.
- </summary>
- </metric>
- <metric name="PrivateMemoryFootprint">
- <summary>
- Measure of total private memory consumed by process.
- </summary>
- <aggregation>
- <history>
- <index fields="metrics.ProcessType"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="PrivateSwapFootprint">
- <summary>
- Measure of private swap memory consumed by a process. Available on Linux
- and Android.
- </summary>
- </metric>
- <metric name="ProcessType">
- <summary>
- Type of process (e.g. browser, renderer, GPU --- see
- services/resource_coordinator/public/mojom/memory_instrumentation/memory_instrumentation.mojom)
- of associated metrics.
- </summary>
- <aggregation>
- <history>
- <statistics export="False">
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Resident">
- <summary>
- Size of process' working set.
- </summary>
- </metric>
- <metric name="SharedMemoryFootprint">
- <summary>
- Measure of total shared memory consumed by process.
- </summary>
- </metric>
- <metric name="SiteStorage">
- <summary>
- Measure of memory used due to web storage APIs in browser process.
- </summary>
- </metric>
- <metric name="SiteStorage.BlobStorage">
- <summary>
- Measure of memory used by in-memory blob file API in browser process.
- </summary>
- </metric>
- <metric name="SiteStorage.IndexDB">
- <summary>
- Measure of memory used due to IndexedDB API in browser process.
- </summary>
- </metric>
- <metric name="SiteStorage.LocalStorage">
- <summary>
- Measure of memory used due to Local Storage API in browser process.
- </summary>
- </metric>
- <metric name="SiteStorage.SessionStorage">
- <summary>
- Measure of memory used due to Session Storage API in browser process.
- </summary>
- </metric>
- <metric name="Skia">
- <summary>
- Measure of memory used by Skia.
- </summary>
- </metric>
- <metric name="Skia.SkGlyphCache">
- <summary>
- Measure of memory used by Skia Glyph Cache.
- </summary>
- </metric>
- <metric name="Skia.SkResourceCache">
- <summary>
- Measure of memory used by Skia Resource Cache.
- </summary>
- </metric>
- <metric name="Sqlite">
- <summary>
- Measure of memory used by all sqlite databases.
- </summary>
- </metric>
- <metric name="Sync">
- <summary>
- Measure of memory used by Sync storage.
- </summary>
- </metric>
- <metric name="TabRestore">
- <summary>
- Approximate measure of memory used by Tab restore service.
- </summary>
- </metric>
- <metric name="TimeSinceLastNavigation">
- <summary>
- The time in seconds since the Tab navigated. Only emitted for tabs that
- are not sharing a process.
- </summary>
- </metric>
- <metric name="TimeSinceLastVisibilityChange">
- <summary>
- The time in seconds since the Tab changed visibility. Only emitted for
- tabs that are not sharing a process.
- </summary>
- </metric>
- <metric name="Total2.PrivateMemoryFootprint">
- <summary>
- Measure of total private memory consumed by all processes.
- </summary>
- </metric>
- <metric name="Total2.SharedMemoryFootprint">
- <summary>
- Measure of total shared memory consumed by all processes.
- </summary>
- </metric>
- <metric name="UI">
- <summary>
- Measure of memory used by Android UI bitmaps.
- </summary>
- </metric>
- <metric name="Uptime">
- <summary>
- Process uptime.
- </summary>
- </metric>
- <metric name="V8">
- <summary>
- Measure of memory consumed by V8.
- </summary>
- <aggregation>
- <history>
- <index fields="metrics.ProcessType"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="V8.AllocatedObjects">
- <summary>
- Measure of memory consumed by live objects in V8.
- </summary>
- <aggregation>
- <history>
- <index fields="metrics.ProcessType"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="V8.Main">
- <summary>
- Measure of memory consumed by the main isolate of V8.
- </summary>
- </metric>
- <metric name="V8.Main.AllocatedObjects">
- <summary>
- Measure of memory consumed by live objects in the main isolate of V8.
- </summary>
- </metric>
- <metric name="V8.Main.GlobalHandles">
- <summary>
- Measure of memory consumed by global handles in V8.
- </summary>
- </metric>
- <metric name="V8.Main.GlobalHandles.AllocatedObjects">
- <summary>
- Measure of memory consumed by used global handles in V8.
- </summary>
- </metric>
- <metric name="V8.Main.Heap">
- <summary>
- Measure of memory consumed by the main heap of V8.
- </summary>
- </metric>
- <metric name="V8.Main.Heap.AllocatedObjects">
- <summary>
- Measure of memory consumed by live objects in the main heap of V8.
- </summary>
- </metric>
- <metric name="V8.Main.Heap.CodeLargeObjectSpace">
- <summary>
- Measure of memory consumed by the code large object space of the main heap
- of V8.
- </summary>
- </metric>
- <metric name="V8.Main.Heap.CodeLargeObjectSpace.AllocatedObjects">
- <summary>
- Measure of memory consumed by live objects in the code large object space
- of the main heap of V8.
- </summary>
- </metric>
- <metric name="V8.Main.Heap.CodeSpace">
- <summary>
- Measure of memory consumed by the code space of the main heap of V8.
- </summary>
- </metric>
- <metric name="V8.Main.Heap.CodeSpace.AllocatedObjects">
- <summary>
- Measure of memory consumed by live objects in the code space of the main
- heap of V8.
- </summary>
- </metric>
- <metric name="V8.Main.Heap.LargeObjectSpace">
- <summary>
- Measure of memory consumed by the large object space of the main heap of
- V8.
- </summary>
- </metric>
- <metric name="V8.Main.Heap.LargeObjectSpace.AllocatedObjects">
- <summary>
- Measure of memory consumed by live objects in the large object space of
- the main heap of V8.
- </summary>
- </metric>
- <metric name="V8.Main.Heap.MapSpace">
- <summary>
- Measure of memory consumed by the map space of the main heap of V8.
- </summary>
- </metric>
- <metric name="V8.Main.Heap.MapSpace.AllocatedObjects">
- <summary>
- Measure of memory consumed by live objects in the map space of the main
- heap of V8.
- </summary>
- </metric>
- <metric name="V8.Main.Heap.NewLargeObjectSpace">
- <summary>
- Measure of memory consumed by the new large object space of the main heap
- of V8.
- </summary>
- </metric>
- <metric name="V8.Main.Heap.NewLargeObjectSpace.AllocatedObjects">
- <summary>
- Measure of memory consumed by live objects in the new large object space
- of the main heap of V8.
- </summary>
- </metric>
- <metric name="V8.Main.Heap.NewSpace">
- <summary>
- Measure of memory consumed by the new space of the main heap of V8.
- </summary>
- </metric>
- <metric name="V8.Main.Heap.NewSpace.AllocatedObjects">
- <summary>
- Measure of memory consumed by live objects in the new space of the main
- heap of V8.
- </summary>
- </metric>
- <metric name="V8.Main.Heap.OldSpace">
- <summary>
- Measure of memory consumed by the old space of the main heap of V8.
- </summary>
- </metric>
- <metric name="V8.Main.Heap.OldSpace.AllocatedObjects">
- <summary>
- Measure of memory consumed by live objects in the old space of the main
- heap of V8.
- </summary>
- </metric>
- <metric name="V8.Main.Heap.ReadOnlySpace">
- <summary>
- Measure of memory consumed by the read-only space of the main heap of V8.
- </summary>
- </metric>
- <metric name="V8.Main.Heap.ReadOnlySpace.AllocatedObjects">
- <summary>
- Measure of memory consumed by live objects in the read-only space of the
- main heap of V8.
- </summary>
- </metric>
- <metric name="V8.Main.Malloc">
- <summary>
- Measure of memory allocated by malloc in the main isolate of V8.
- </summary>
- </metric>
- <metric name="V8.Workers">
- <summary>
- Measure of memory consumed by worker isolates of V8.
- </summary>
- </metric>
- <metric name="V8.Workers.AllocatedObjects">
- <summary>
- Measure of memory consumed by live objects in worker isolates of V8.
- </summary>
- </metric>
- <metric name="WebCache">
- <summary>
- Measure of memory consumed by all resources in Blink Web Cache.
- </summary>
- </metric>
- <metric name="WebCache.CSSStylesheetResources">
- <summary>
- Measure of memory consumed by CSS Stylesheet resources in Blink Web Cache.
- </summary>
- </metric>
- <metric name="WebCache.EncodedSizeDuplicatedInDataUrls">
- <summary>
- Measure of memory consumed by data URLs of Image resources in Blink Web
- Cache.
- </summary>
- </metric>
- <metric name="WebCache.FontResources">
- <summary>
- Measure of memory consumed by Font resources in Blink Web Cache.
- </summary>
- </metric>
- <metric name="WebCache.ImageResources">
- <summary>
- Measure of memory consumed by Image resources in Blink Web Cache.
- </summary>
- </metric>
- <metric name="WebCache.OtherResources">
- <summary>
- Measure of memory consumed by other resources in Blink Web Cache.
- </summary>
- </metric>
- <metric name="WebCache.ScriptResources">
- <summary>
- Measure of memory consumed by Script resources in Blink Web Cache.
- </summary>
- </metric>
- <metric name="WebCache.V8CodeCache">
- <summary>
- Measure of memory consumed by V8 code cache held by Script resources in
- Blink Web Cache.
- </summary>
- </metric>
- <metric name="WebCache.XSLStylesheetResources">
- <summary>
- Measure of memory consumed by XSL Stylesheet resources in Blink Web Cache.
- </summary>
- </metric>
- <metric name="WebMediaPlayer.Audio">
- <summary>
- Measure of total memory used by media/webmediaplayer/audio.
- </summary>
- </metric>
- <metric name="WebMediaPlayer.DataSource">
- <summary>
- Measure of total memory used by media/webmediaplayer/data_source.
- </summary>
- </metric>
- <metric name="WebMediaPlayer.Demuxer">
- <summary>
- Measure of total memory used by media/webmediaplayer/demuxer.
- </summary>
- </metric>
- <metric name="WebMediaPlayer.Video">
- <summary>
- Measure of total memory used by media/webmediaplayer/video.
- </summary>
- </metric>
- </event>
- <event name="Memory.TabFootprint">
- <owner>tommckee@chromium.org</owner>
- <summary>
- Measure of memory used by the processes that host an instance of a tab.
- Intended as a high-level metric for analyzing effective memory use of
- individual sites.
- </summary>
- <metric name="MainFrameProcessPMF">
- <summary>
- Measure of private memory, in MB, consumed by the render process dedicated
- to hosting the main frame. Undefined if the main frame is hosted by a
- render process used by other tabs. If this is undefined, TabPMF will be
- undefined.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SubFrameProcessPMF.Excluded">
- <summary>
- Number of render processes that were blocked from contributing to
- SubFrameProcessPMF.Total. A process can have its contribution blocked if
- the process has responsiblities outside the scope of the relevant tab. If
- this is non-zero, TabPMF will be undefined.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SubFrameProcessPMF.Included">
- <summary>
- Number of render processes that contributed to SubFrameProcessPMF.Total.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SubFrameProcessPMF.Total">
- <summary>
- Measure of total private memory, in MB, consumed by the render processes
- dedicated to hosting sub-frames of the tab. Note that, if a render process
- hosts frames of other tabs, it isn't considered to be 'dedicated' and so
- it doesn't contribute to this total.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="TabPMF">
- <summary>
- Measure of private memory, in MB, consumed by all render processes
- dedicated to hosting some part of a tab. Undefined if there are processes
- responsible for hosting parts of this tab while hosting parts of other
- tabs.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="MixedContentAutoupgrade.ResourceRequest">
- <owner>carlosil@chromium.org</owner>
- <summary>
- Status and Network error or HTTP response code for a resource request that
- was autoupgraded to HTTPS as part of the mixed content autoupgrade
- experiment.
- </summary>
- <metric name="Code">
- <summary>
- The HTTP response or network error code for an autoupgraded request.
- </summary>
- </metric>
- <metric name="Status">
- <summary>
- An enum with 0 representing started, 1 failed, and 2 response received.
- </summary>
- </metric>
- </event>
- <event name="MobileFriendliness" singular="True">
- <owner>kumagi@google.com</owner>
- <owner>gaul@google.com</owner>
- <metric name="AllowUserZoom" enum="Boolean">
- <summary>
- Whether the page allows the user to zoom in/out.
- </summary>
- </metric>
- <metric name="BadTapTargetsRatio">
- <summary>
- Percentage of tap targets whose center position is within another tap
- target (expanded by a margin). The detail of the algorithm is
- go/bad-tap-target-ukm. If evaluation time budget exceeded, this will be is
- -2.
- </summary>
- </metric>
- <metric name="SmallTextRatio">
- <summary>
- Percentage of small font text area in total text area.
- </summary>
- </metric>
- <metric name="TextContentOutsideViewportPercentage">
- <summary>
- Percentage of pixels of text and images horizontally outside the viewport,
- relative to the frame width.
- </summary>
- </metric>
- <metric name="ViewportDeviceWidth" enum="Boolean">
- <summary>
- Whether the width of the viewport specified as device-width or not.
- </summary>
- </metric>
- <metric name="ViewportHardcodedWidth">
- <summary>
- Specified hardcoded viewport width in CSS pixels.
- </summary>
- </metric>
- <metric name="ViewportInitialScaleX10">
- <summary>
- Specified initial viewport scaling multipled by 10. 1 means 0.1, 100 means
- 10. [1-100].
- </summary>
- </metric>
- </event>
- <event name="MobileMenu.DirectShare">
- <owner>sayman@chromium.org</owner>
- <summary>
- User pressed 'Share' in the app menu. The intent most recently used to share
- was invoked directly. See also MobileMenu.Share.
- </summary>
- <metric name="HasOccurred" enum="Boolean">
- <summary>
- A boolean signaling that the event has occurred; only records true values.
- </summary>
- </metric>
- </event>
- <event name="MobileMenu.FindInPage">
- <owner>frechette@chromium.org</owner>
- <summary>
- User pressed 'Find in page' in the app menu.
- </summary>
- <metric name="HasOccurred" enum="Boolean">
- <summary>
- A boolean signaling that the event has occurred (typically only records
- true values).
- </summary>
- </metric>
- </event>
- <event name="MobileMenu.Share">
- <owner>sayman@chromium.org</owner>
- <summary>
- User pressed 'Share' in the app menu. A picker was shown. See also
- MobileMenu.DirectShare.
- </summary>
- <metric name="HasOccurred" enum="Boolean">
- <summary>
- A boolean signaling that the event has occurred; only records true values.
- </summary>
- </metric>
- </event>
- <event name="Navigation.ReceivedResponse">
- <owner>miketaylr@chromium.org</owner>
- <owner>potassium-katabolism@google.com</owner>
- <summary>
- Recorded when the navigation receives a response from the networking layer.
- Only recorded for main frames (i.e. top-level frames).
- </summary>
- <metric name="HasAcceptCHFrame">
- <summary>
- A boolean value representing whether the navigation included the
- processing of an ACCEPT_CH ALPS frame.
- </summary>
- </metric>
- <metric name="NavigationFirstResponseLatency">
- <summary>
- The duration (in milliseconds) for how long it took from the time the
- navigation loader is created to the time the navigation loader receives
- the response from the networking layer.
- </summary>
- </metric>
- </event>
- <event name="NavigationPredictorAnchorElementMetrics">
- <owner>ryansturm@chromium.org</owner>
- <summary>
- Metrics that describe an anchor element's data. This event is emitted at
- most 10 times per page load, once for each of the top n URLs on a page, and
- the order of the events is randomized. If there is no nth anchor element, no
- value is returned.
- </summary>
- <metric name="AnchorIndex">
- <summary>
- The index of the clicked-on anchor element in NavigationPredictor's
- |top_urls_|.
- </summary>
- </metric>
- <metric name="BucketedPathHash">
- <summary>
- The anchor element's href URL path is hashed, then bucketed using 10
- different buckets. The bucket ({0, 1, ..., 9}) the hash falls into is
- logged in this field.
- </summary>
- </metric>
- <metric name="ContainsImage">
- <summary>
- 1 if the anchor element contains an image.
- </summary>
- </metric>
- <metric name="FontSize">
- <summary>
- The bucketed font size of the anchor element, according to its computed
- style. 1 corresponds to a pixel font size in [0, 10), 2 corresponds to a
- fonts size in [10, 18) and 3 is logged when the font size is 18 pixels or
- larger.
- </summary>
- </metric>
- <metric name="HasTextSibling">
- <summary>
- 1 if the anchor element has an immediate text sibling, 0 otherwise.
- </summary>
- </metric>
- <metric name="IsBold">
- <summary>
- 1 if the anchor's computed style's font-weight is greater than 500, 0
- otherwise.
- </summary>
- </metric>
- <metric name="IsInIframe">
- <summary>
- 1 if the anchor element is in an iframe.
- </summary>
- </metric>
- <metric name="IsURLIncrementedByOne">
- <summary>
- 1 if the anchor element's target URL and the document's source URL only
- differ by one number, and the target URL increments that number in the
- source URL by 1.
- </summary>
- </metric>
- <metric name="NavigationStartToLinkLoggedMs">
- <summary>
- The time in ms between navigation start and the moment this entry was
- logged. Exponentially bucketed using GetExponentialBucketMin a value of
- 1.3.
- </summary>
- </metric>
- <metric name="PathDepth">
- <summary>
- The number of slashes in the anchor element's href URL path. Truncated at
- 5.
- </summary>
- </metric>
- <metric name="PathLength">
- <summary>
- The number of characters in the anchor element's href URL path. Buckets of
- size 10, truncated at 100.
- </summary>
- </metric>
- <metric name="PercentClickableArea">
- <summary>
- The percent of the total document area that this anchor element's
- clickable area occupies.
- </summary>
- </metric>
- <metric name="PercentVerticalDistance">
- <summary>
- How far down the document the top of the anchor element is, expressed as a
- ratio with the total document height.
- </summary>
- </metric>
- <metric name="SameOrigin">
- <summary>
- 1 if the anchor element's target URL and the document's source URL are the
- same origin.
- </summary>
- </metric>
- </event>
- <event name="NavigationPredictorPageLinkClick">
- <owner>ryansturm@chromium.org</owner>
- <summary>
- Sent on an in-page link click.
- </summary>
- <metric name="AnchorElementIndex">
- <summary>
- An integer (0-indexed), corresponding to the index of that anchor element
- in the list of top ten anchor elements on that page, sorted by their
- navigation scores. If an anchor element is clicked that is not in
- NavigationPredictorAnchorElementMetrics, -1 is returned.
- </summary>
- </metric>
- <metric name="HrefUnchanged">
- <summary>
- 1 if the href of the anchor element at the time the click is handled is
- the same as the href when the element was created. 0 if the href changed.
- </summary>
- </metric>
- </event>
- <event name="NavigationPredictorPageLinkMetrics" singular="True">
- <owner>ryansturm@chromium.org</owner>
- <summary>
- Metrics that describe aggregate information about the links within a page.
- Some anchor elements present on a page may not be represented in these
- metrics, if they are outside the viewport or if their placement in the page
- is after the 40th anchor element. This event is emitted at most once per
- page load. Unless otherwise specified, each of the aggregate metrics is
- bucketted with exponential buckets of size 1.3.
- </summary>
- <metric name="MedianLinkLocation">
- <summary>
- The median vertical link location in the viewport, as a ratio of the
- distance from the top of the link to the visible top of the page.
- Bucketted with a linear bucket size of 10.
- </summary>
- </metric>
- <metric name="NumberOfAnchors.ContainsImage">
- <summary>
- The total number of links in the page that are images.
- </summary>
- </metric>
- <metric name="NumberOfAnchors.InIframe">
- <summary>
- The total number of links in the page in any iframe.
- </summary>
- </metric>
- <metric name="NumberOfAnchors.SameHost">
- <summary>
- The total number of links in the page that point to the same origin as the
- current page's origin.
- </summary>
- </metric>
- <metric name="NumberOfAnchors.Total">
- <summary>
- The total number of links within a page.
- </summary>
- </metric>
- <metric name="NumberOfAnchors.URLIncremented">
- <summary>
- The total number of links on the page, where each link only differs from
- the current page's URL by a number, and that number is incremented by 1 in
- the link.
- </summary>
- </metric>
- <metric name="TotalClickableSpace">
- <summary>
- The total clickable space in the entire page, expressed as a ratio of the
- visible clickable region to the entire viewport region.
- </summary>
- </metric>
- <metric name="Viewport.Height">
- <summary>
- The height of the viewport, in pixels.
- </summary>
- </metric>
- <metric name="Viewport.Width">
- <summary>
- The width of the viewport, in pixels.
- </summary>
- </metric>
- </event>
- <event name="NavigationPredictorRendererWarmup">
- <obsolete>
- Removed in M91.
- </obsolete>
- <owner>robertogden@chromium.org</owner>
- <owner>tbansal@chromium.org</owner>
- <summary>
- Internal feature metrics for a feature that decides whether to start a spare
- renderer on pages where Chrome heuristically determines that a cross-origin
- page load is likely to occur based on the anchor elements on the page being
- cross-origin and/or whether the current page is a search engine result page.
- </summary>
- <metric name="CrossOriginLinksRatio">
- <summary>
- An int in the range [0, 100] to represent a percentage of the ratio of the
- links on a page that are cross-origin to the source document. Recorded
- when there are 1 or more links on a page.
- </summary>
- </metric>
- <metric name="DidWarmup" enum="Boolean">
- <summary>
- A bool that is set if a spare renderer was started. Also set on
- counter-factual arms when the same criteria were met.
- </summary>
- </metric>
- <metric name="PageIndependentStatusBitMask">
- <summary>
- A bitmask, recorded on every page when the feature flag is enabled. 0b0001
- - Set if the feature is in a cooldown period following the last renderer
- warmup. 0b0010 - Set if the browser already had a spare renderer. 0b0100 -
- Set if the device memory is below the experiment threshold.
- </summary>
- </metric>
- <metric name="WasDSESRP" enum="Boolean">
- <summary>
- A bool that is set if the page is a search result page for the browser's
- default search engine
- </summary>
- </metric>
- </event>
- <event name="NavigationThrottleDeferredTime" singular="False">
- <owner>ryansturm@chromium.org</owner>
- <owner>chrome-brapp-loading@google.com</owner>
- <summary>
- Information recorded about a navigation throttle when a navigation is
- deferred at any stage of the navigation. Only recorded for main frame
- navigations that were deferred and later resumed.
- </summary>
- <metric name="DurationOfNavigationDeferralMs">
- <summary>
- The duration from the start of the navigation deferral until the throttle
- resumes the navigation recorded in milliseconds.
- </summary>
- </metric>
- <metric name="NavigationThrottleEventType">
- <summary>
- An enum representing each event that can cause deferral method
- (WillFailRequest, WillProcessResponse, WillRedirectRequest,
- WillStartRequest). See NavigationThrottleRunner::Event for enum details.
- </summary>
- </metric>
- <metric name="NavigationThrottleNameHash">
- <summary>
- A (MD5) hash of the logging name string which represents a unique
- navigation throttle class (subclass of NavigationThrottle). See
- NavigationThrottle::GetNameForLogging().
- </summary>
- </metric>
- </event>
- <event name="NavigationTiming" singular="True">
- <owner>nhiroki@chromium.org</owner>
- <owner>chrome-loading@google.com</owner>
- <summary>
- Metrics associated with main frame navigation.
- </summary>
- <metric name="EarlyHintsForFinalRequest">
- <obsolete>
- Deprecated 09/2021
- </obsolete>
- <owner>nhiroki@chromium.org</owner>
- <owner>chrome-loading@google.com</owner>
- <summary>
- The time relative to navigation start that the headers of the 103 Early
- Hints response are received in reply to the final HTTP request for the
- main resource of a main frame navigation.
- </summary>
- </metric>
- <metric name="EarlyHintsForFirstRequest">
- <obsolete>
- Deprecated 09/2021
- </obsolete>
- <owner>nhiroki@chromium.org</owner>
- <owner>chrome-loading@google.com</owner>
- <summary>
- The time relative to navigation start that the headers of the 103 Early
- Hints response are received in reply to the first HTTP request for the
- main resource of a main frame navigation.
- </summary>
- </metric>
- <metric name="FinalLoaderCallback">
- <summary>
- The time relative to navigation start that a callback for the navigation
- loader is last invoked for the main resource of a main frame navigation.
- </summary>
- </metric>
- <metric name="FinalRequestStart">
- <summary>
- The time relative to navigation start that the final HTTP request is sent
- for the main resource of a main frame navigation.
- </summary>
- </metric>
- <metric name="FinalResponseStart">
- <summary>
- The time relative to navigation start that the headers of the final HTTP
- response are received for the main resource of a main frame navigation.
- </summary>
- </metric>
- <metric name="FirstLoaderCallback">
- <summary>
- The time relative to navigation start that a callback for the navigation
- loader is first invoked for the main resource of a main frame navigation.
- </summary>
- </metric>
- <metric name="FirstRequestStart">
- <summary>
- The time relative to navigation start that the first HTTP request is sent
- for the main resource of a main frame navigation.
- </summary>
- </metric>
- <metric name="FirstResponseStart">
- <summary>
- The time relative to navigation start that the headers of the first HTTP
- response are received for the main resource of a main frame navigation.
- </summary>
- </metric>
- <metric name="NavigationCommitSent">
- <summary>
- The time relative to navigation start that navigation commit message for a
- main frame navigation is sent to a renderer process.
- </summary>
- </metric>
- </event>
- <event name="Net.LegacyTLSVersion">
- <owner>davidben@chromium.org</owner>
- <summary>
- Recorded when a resource is loaded using TLS 1.0 or TLS 1.1.
- </summary>
- <metric name="IsAdResource">
- <summary>
- Boolean value representing whether the request is for an ad resource. Only
- set if IsSubresource is true.
- </summary>
- </metric>
- <metric name="IsMainFrame">
- <summary>
- Boolean value representing whether the request is in the main frame or not
- (if false, the request is from a subframe).
- </summary>
- </metric>
- <metric name="IsSubresource">
- <summary>
- Boolean value representing whether the request is for a subresource. If
- false, then the request was a main frame page load.
- </summary>
- </metric>
- </event>
- <event name="Network.CacheTransparency">
- <owner>nidhijaju@chromium.org</owner>
- <owner>ricea@chromium.org</owner>
- <summary>
- Metrics for Cache Transparency which aims to allow a list of pervasive
- payloads to be specified and cached in a single-keyed cache to improve
- loading performance. Recorded for each navigation and subresource load.
- </summary>
- <metric name="FoundPervasivePayload" enum="Boolean">
- <summary>
- Records whether a requested resource's URL matched with any of the URLs in
- the Cache Transparency Pervasive Payloads List.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="TotalBytesFetched">
- <summary>
- Records the total bytes fetched by the network.
- </summary>
- </metric>
- </event>
- <event name="NoStatePrefetch" singular="True">
- <owner>tbansal@chromium.org</owner>
- <summary>
- Metrics related to NoStatePrefetch that are recorded using the same UKM IDs
- as PageLoad.
- </summary>
- <metric name="PrefetchedRecently.FinalStatus">
- <summary>
- Final status of the nostate prefetch if one was recently attempted for
- either the committed URL of this navigation or for any URL in the redirect
- chain for the main frame resource for this navigation. page. Recorded as
- enum PrerenderFinalStatus in //tools/metrics/histograms/enums.xml.
- </summary>
- </metric>
- <metric name="PrefetchedRecently.Origin">
- <summary>
- Triggering origin of the nostate prefetch if one was recently attempted
- for either the committed URL of this navigation or for any URL in the
- redirect chain for the main frame resource for this navigation. Recorded
- as enum PrerenderOrigin in //tools/metrics/histograms/enums.xml.
- </summary>
- </metric>
- <metric name="PrefetchedRecently.PrefetchAge">
- <summary>
- Records the time (in milliseconds) from the start of the nostate prefetch
- to the time of commit of this navigation. Metric is recorded down to the
- nearest power of 2. Recorded only if a nostate prefetch was recently
- attempted for either the committed URL of this navigation or for any URL
- in the redirect chain for the main frame resource for this navigation.
- </summary>
- </metric>
- </event>
- <event name="Notification">
- <owner>peter@chromium.org</owner>
- <summary>
- A notification event corresponds with the entire lifespan of a single
- notification, and will be logged to UKM when the notification is deleted
- from the notification database.
- </summary>
- <metric name="ClosedReason">
- <summary>
- Enum for how the notification was closed. {user, developer, unknown}
- </summary>
- </metric>
- <metric name="DidReplaceAnotherNotification">
- <summary>
- Boolean value representing whether a tag is present and a previously shown
- notification has been replaced. For UKM logging, we treat a replacement
- notification as a new notification.
- </summary>
- </metric>
- <metric name="DidUserOpenSettings">
- <summary>
- Boolean value indicating whether the user accessed the Chrome provided
- settings from the notification.
- </summary>
- </metric>
- <metric name="HasBadge">
- <summary>
- Boolean value representing if a badge URL was included.
- </summary>
- </metric>
- <metric name="HasIcon">
- <summary>
- Boolean value representing if an icon URL was included.
- </summary>
- </metric>
- <metric name="HasImage">
- <summary>
- Boolean value representing if an image URL was included.
- </summary>
- </metric>
- <metric name="HasRenotify">
- <summary>
- Boolean value representing whether default notification indicators (sound,
- vibration, light) should be played again if the notification is replacing
- an older notification.
- </summary>
- </metric>
- <metric name="HasTag">
- <summary>
- Boolean value representing if a tag is present.
- </summary>
- </metric>
- <metric name="IsSilent">
- <summary>
- Boolean value representing whether default notification indicators (sound,
- vibration, light) should be suppressed.
- </summary>
- </metric>
- <metric name="NumActionButtonClicks">
- <summary>
- Number of clicks on developer provided action buttons.
- </summary>
- </metric>
- <metric name="NumActions">
- <summary>
- Number of developer specified actions that can be taken.
- </summary>
- </metric>
- <metric name="NumClicks">
- <summary>
- Number of clicks, excluding action buttons. I.e. clicks on the
- notification itself.
- </summary>
- </metric>
- <metric name="RequireInteraction">
- <summary>
- Boolean value representing whether the notification should remain onscreen
- indefinitely, rather than being auto-minimized to the notification center
- (if allowed by platform).
- </summary>
- </metric>
- <metric name="TimeUntilClose">
- <summary>
- The length of time, in ms, between when the notification was triggered and
- when it was closed.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="TimeUntilFirstClick">
- <summary>
- Time, in ms, between when the notification is shown and the first click.
- </summary>
- </metric>
- <metric name="TimeUntilLastClick">
- <summary>
- Time, in ms, between when the notification is shown and the last click.
- </summary>
- </metric>
- </event>
- <event name="OfflineMeasurements">
- <obsolete>
- Removed M100. No longer used.
- </obsolete>
- <owner>curranmax@chromium.org</owner>
- <summary>
- Data collected by the OfflineMeasurementsBackgroundTask. At a regular
- interval the background task checks the state of the system including how
- the user is interacting with the system and whether the system is online or
- offline. The data for each run of the background task is persisted to prefs.
- Upon a sucessful navigation in Chrome, all data in prefs are logged to UKM
- and then cleared. This means that the first page load of a session will have
- a burst of events being recorded, but subsequent page loads will likely have
- no events. The background task is scheduled when Chrome opens, and it will
- continue to run even if Chrome is not running.
- </summary>
- <metric name="DurationMillis">
- <summary>
- The time, in milliseconds, since the last background task ran. This value
- is bucketed using ukm::GetExponentialBucketMinForUserTiming.
- </summary>
- </metric>
- <metric name="IsAirplaneModeEnabled" enum="BooleanEnabled">
- <summary>
- Whether airplane mode was enabled when the background task ran.
- </summary>
- </metric>
- <metric name="IsRoaming" enum="Boolean">
- <summary>
- Whether the device was roaming when the background task ran. This field is
- only set if we can determine whether the network was roaming or not. This
- means in cases where the HTTP probe was cancelled or we ecountered an
- error while getting whether the network is roaming or not that this field
- will be null.
- </summary>
- </metric>
- <metric name="LocalHourOfDayStart">
- <summary>
- The local hour when the background task ran. In the range of 0 to 23
- inclusive.
- </summary>
- </metric>
- <metric name="ProbeResult" enum="OfflineMeasurementsHttpProbeResult">
- <summary>
- The result of the HTTP probe when the background task ran.
- </summary>
- </metric>
- <metric name="UserState" enum="OfflineMeasurementsUserState">
- <summary>
- How the user is interacting with the device when the background task ran.
- </summary>
- </metric>
- </event>
- <event name="OfflinePages.SavePageRequested">
- <obsolete>
- Deprecated 03/2019
- </obsolete>
- <owner>petewil@chromium.org</owner>
- <metric name="RequestedFromForeground">
- <summary>
- Metrics that measure which URLs the user is requesting offline page copies
- of, and whether they were requested from the foreground or background UI.
- The value is 1 if requested from the foreground, 0 from background.
- </summary>
- </metric>
- </event>
- <event name="Omnibox.EditUrlSuggestion.Share">
- <owner>nyquist@chromium.org</owner>
- <owner>ssid@chromium.org</owner>
- <summary>
- User pressed 'Share' while viewing edit URL suggestions which shares the
- current URL.
- </summary>
- <metric name="HasOccurred" enum="Boolean">
- <summary>
- A boolean signaling that the event has occurred; only records true values.
- </summary>
- </metric>
- </event>
- <event name="OmniboxSecurityIndicator.FormSubmission">
- <owner>meacer@chromium.org</owner>
- <summary>
- Recorded when a form is submitted on an HTTPS page. Used to understand any
- regression introduced by updated omnibox security indicators.
- </summary>
- <metric name="Submitted">
- <summary>
- Placeholder metric, always true.
- </summary>
- </metric>
- </event>
- <event name="OptimizationGuide" singular="True">
- <owner>sophiechang@chromium.org</owner>
- <summary>
- Optimization guide metrics associated with a page load. It is recorded when
- the optimization guide was consulted in making a decision for the page load.
- See //components/optimization_guide/.
- </summary>
- <metric name="HintGenerationTimestamp">
- <obsolete>
- Obsolete as of 04/2020.
- </obsolete>
- <summary>
- The timestamp, in seconds from epoch, that the server generated the hint
- for the optimization applied on the page load.
- </summary>
- </metric>
- <metric name="HintSource">
- <obsolete>
- Obsolete as of 04/2020.
- </obsolete>
- <summary>
- The |optimization_guide::proto::HintSource| for the optimization that was
- applied on the page load.
- </summary>
- </metric>
- <metric name="NavigationHintsFetchAttemptStatus"
- enum="OptimizationGuideRaceNavigationFetchAttemptStatus">
- <summary>
- An enum value representing the status of a fetch attempt for the page load
- and what it contains (i.e. hosts or URLs). Captured at the start of the
- navigation.
- </summary>
- </metric>
- <metric name="NavigationHintsFetchRequestLatency">
- <summary>
- The duration (in milliseconds) for how long it took from the request to go
- out to when it was usable on the client. Only recorded if a fetch was
- initiated for the navigation. Will be recorded as INT64_MAX if the request
- did not complete successfully.
- </summary>
- </metric>
- <metric name="NavigationHostCovered"
- enum="OptimizationGuideNavigationHostCoveredStatus">
- <obsolete>
- Obsolete as of 04/2020.
- </obsolete>
- <summary>
- An enum value representing whether Chrome had a hint cached for the
- navigation or had attempted to fetch a hint from the remote Optimization
- Guide Service in the last 7 days. The enum is defined in
- |optimization_guide::NavigationHostCoveredStatus|.
- </summary>
- </metric>
- <metric name="PainfulPageLoadModelPredictionScore">
- <obsolete>
- Obsolete as of 04/2021.
- </obsolete>
- <summary>
- The score output after evaluating the painful page load model. If
- populated, this is 100x the fractional value output by the model
- evaluation. This will be a value between 0 and 100.
- </summary>
- </metric>
- <metric name="PainfulPageLoadModelVersion">
- <obsolete>
- Obsolete as of 04/2021.
- </obsolete>
- <summary>
- The server-generated version of the painful page load model that was
- evaluated for the page load.
- </summary>
- </metric>
- <metric name="PredictionModelFeatureEffectiveConnectionType">
- <obsolete>
- Obsolete as of 04/2021.
- </obsolete>
- <summary>
- The |net::EffectiveConnectionType| at the time a prediction was requested.
- Recorded once per page load.
- </summary>
- </metric>
- <metric name="PredictionModelFeatureIsSameOriginNavigation">
- <obsolete>
- Obsolete as of 04/2021.
- </obsolete>
- <summary>
- Whether the current navigatation is the same origin as the previous one at
- the time a prediction was requested. Recorded once per page load.
- </summary>
- </metric>
- <metric name="PredictionModelFeatureNavigationToFCPSessionMean">
- <obsolete>
- Obsolete as of 04/2021.
- </obsolete>
- <summary>
- The average navigation to first contentful paint for the current session
- at the time a prediction was requested. Recorded once per page load.
- </summary>
- </metric>
- <metric name="PredictionModelFeatureNavigationToFCPSessionStdDev">
- <obsolete>
- Obsolete as of 04/2021.
- </obsolete>
- <summary>
- The standard deviation of navigation to first contentful paint for page
- loads in the current session at the time a prediction was requested.
- Recorded once per page load.
- </summary>
- </metric>
- <metric name="PredictionModelFeaturePageTransition">
- <obsolete>
- Obsolete as of 04/2021.
- </obsolete>
- <summary>
- The |ui::PageTransition| of the current navigation at the time a
- prediction was requested. Recorded once per page load.
- </summary>
- </metric>
- <metric name="PredictionModelFeaturePreviousPageLoadNavigationToFCP">
- <obsolete>
- Obsolete as of 04/2021.
- </obsolete>
- <summary>
- The navigation to to first contentful paint for the previous page load at
- the time a prediction was requested. Recorded once per page load.
- </summary>
- </metric>
- <metric name="PredictionModelFeatureSiteEngagementScore">
- <obsolete>
- Obsolete as of 04/2021.
- </obsolete>
- <summary>
- The site engagement score of the host of the current navigation at the
- time a prediction was requested. Recorded once per page load.
- </summary>
- </metric>
- <metric name="RegisteredOptimizationTargets">
- <summary>
- A bitmask of the optimization targets that were registered at the start of
- the page load where each flipped bit corresponds to its int value in
- |optimization_guide::proto::OptimizationTarget|.
- </summary>
- </metric>
- <metric name="RegisteredOptimizationTypes">
- <summary>
- A bitmask of the optimization types that were registered at the start of
- the page load where each flipped bit corresponds to its int value in
- |optimization_guide::proto::OptimizationTarget|.
- </summary>
- </metric>
- </event>
- <event name="OptimizationGuideAutotuning">
- <obsolete>
- Removed 8/2021.
- </obsolete>
- <owner>sophiechang@chromium.org</owner>
- <owner>mcrouse@chromium.org</owner>
- <summary>
- Metrics associated with an autotuning event initiated by the Optimization
- Guide.
- </summary>
- <metric name="OptimizationType">
- <summary>
- The |optimization_guide::proto::OptimizationType| that is being tuned.
- </summary>
- </metric>
- <metric name="TuningVersion">
- <summary>
- The version of the tuning group for the optimization type that was served.
- </summary>
- </metric>
- </event>
- <event name="PageContentAnnotations" singular="True">
- <owner>chrome-intelligence-core@google.com</owner>
- <owner>mcrouse@chromium.org</owner>
- <summary>
- Metrics on the content annotations of the page, one record per page load
- commit and has an annotation calculated on it. The metrics are recorded in a
- RAPPOR-style with low-entropy so only aggregate analysis can be performed.
- </summary>
- <metric name="VisibilityScore">
- <summary>
- Records a low entropy respresentation of the visibility score output by a
- content annotations model. The low entropy value is calculated using a
- RAPPOR-style calculation to enable analysis only on aggregated results.
- The raw score is between 0 and 1, scaled to between 0 and 100. The score
- is then placed into one of 16 linearly spaced buckets by dividing the
- score by the bucket size and taking the floor. The resulting bucket value
- has noise added with a probability of .5 where the noise is randomly
- applied to each individual bit.
- </summary>
- </metric>
- </event>
- <event name="PageDomainInfo">
- <owner>uthakore@chromium.org</owner>
- <owner>invernizzi@chromium.org</owner>
- <summary>
- Metrics that describe the domain of pages that successfully commit. One
- event is generated per page load that commits. Currently associated with
- LocalNetworkRequests UKM metric collection.
- </summary>
- <metric name="DomainType">
- <summary>
- An enum value representing the type of domain of the loaded page. The enum
- is defined in |LocalNetworkRequestsPageLoadMetricsObserver|. Possible
- values are 0 for unknown (should never be logged), 1 for pages with public
- domains, 2 for pages with private domains (IP addresses that are part of a
- reserved IP space not including localhost), or 4 for localhost.
- </summary>
- </metric>
- </event>
- <event name="PageForegroundSession">
- <owner>sullivan@chromium.org</owner>
- <summary>
- Total time in foreground in milliseconds, recorded each time the page is
- backgrounded. May be recorded multiple times for a single page visit.
- </summary>
- <metric name="ForegroundDuration">
- <summary>
- Total time in foreground in milliseconds, recorded each time the page is
- backgrounded.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="ForegroundNumInputEvents">
- <summary>
- The number of Input Events, including click, tap, key press, cancellable
- touchstart, or pointer down followed by apointer up. This metric gets
- recorded each time the page is backgrounded.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.country,profile.system_ram"/>
- <index fields="profile.is_dominant_version"/>
- <index fields="profile.is_latest_version"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="ForegroundTotalAdjustedInputDelay">
- <summary>
- sum(max(Input Delay - 50, 0)), recorded each time the page is
- backgrounded. The Input Delay refers to the duration between the hardware
- timestamp and the start of event processing on the main thread for the
- meaningful input. In ms.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.country,profile.system_ram"/>
- <index fields="profile.is_dominant_version"/>
- <index fields="profile.is_latest_version"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="ForegroundTotalInputDelay">
- <summary>
- sum(Input Delay), recorded each time the page is backgrounded. The Input
- Delay refers to the duration between the hardware timestamp and the start
- of event processing on the main thread for the meaningful input. In ms.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.country,profile.system_ram"/>
- <index fields="profile.is_dominant_version"/>
- <index fields="profile.is_latest_version"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="PageInfoBubble">
- <owner>dullweber@chromium.org</owner>
- <owner>chrome-privacy-core@google.com</owner>
- <summary>
- Recorded when an action on the Page Info Bubble (aka Origin Info Bubble or
- WebsiteSettings Bubble) is taken. May be recorded multiple times for a
- single page visit.
- </summary>
- <metric name="ActionTaken" enum="WebsiteSettingsAction">
- <summary>
- Records an enum value representing which action on the Page Info Bubble
- was taken.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="PageLoad" singular="True">
- <owner>sullivan@chromium.org</owner>
- <owner>chrome-metrics-team@google.com</owner>
- <summary>
- Core metrics associated with web page loads.
- </summary>
- <metric name="CpuTime">
- <summary>
- Amount of CPU wall time over the duration of a page load, while the page
- is in the foreground. Measured in milliseconds.
- </summary>
- </metric>
- <metric name="DayOfWeek">
- <summary>
- The day of the week when the page load was initiated. The time is measured
- in the local time zone according to the system clock. Only collected for
- page loads that start while on foreground.
- </summary>
- </metric>
- <metric name="DocumentTiming.NavigationToDOMContentLoadedEventFired">
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time the DOMContentLoaded event is fired, for main frame
- documents.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="DocumentTiming.NavigationToLoadEventFired">
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time the load event is fired, for main frame documents.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="DurationSinceLastVisitSeconds">
- <summary>
- The duration since the last visit to this URL in seconds, if the user has
- visited the URL before. Recorded as -1 if the user has not visited the URL
- before, or if the History service is unavailable or slow to respond. Any
- duration that exceeds 30 days will be recorded as 30 days, so in practice,
- if this duration indicates 30 days, it can be anything from 30 to the
- maximum duration that local history is stored.
- </summary>
- </metric>
- <metric name="Experimental.InputToNavigationStart">
- <summary>
- Measures the time in milliseconds from when the OS level input event
- occurred which triggered a navigation, until the navigation was started.
- Only set if the code can trace back to the original input event. Some
- known cases where it is missing: crbug.com/889223 crbug.com/893162
- crbug.com/897837 crbug.com/897840
- </summary>
- </metric>
- <metric
- name="Experimental.LayoutInstability.CumulativeShiftScoreAtFirstOnHidden">
- <summary>
- Measures the cumulative layout shift (bit.ly/lsm-explainer) that has
- occurred on the page (including all subframes) until the first time the
- page moves from the foreground to the background. This metric's integral
- value is 100x the fractional cumulative layout shift score described in
- the explainer. Stable since M98. Log of major changes:
- http://bit.ly/chrome-speed-metrics-changelog. This metric is trying to
- record the layout shift values which are not able to be recorded in
- LayoutInstability.CumulativeShiftScore for some reasons.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.country,profile.system_ram"/>
- <index fields="profile.is_dominant_version"/>
- <index fields="profile.is_latest_version"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="Experimental.LayoutInstability.MaxCumulativeShiftScoreAtFirstOnHidden.SessionWindow.Gap1000ms.Max5000ms">
- <summary>
- Measures the maximum cumulative layout shift (bit.ly/cls-explainer) that
- has occurred in a session window until the first time the page moves from
- the foreground to the background. The gap between two consecutive shifts
- in a window is not bigger than 1000ms and the maximum window size is
- 5000ms. This metric's integral value is 100x the fractional cumulative
- layout shift score described in the explainer. This metric is trying to
- record the layout shift values which are not able to be recorded in
- LayoutInstability.MaxCumulativeShiftScore.SessionWindow.Gap1000ms.Max5000ms
- for some reasons.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Experimental.Navigation.UserInitiated">
- <summary>
- True if this navigation was initiated by user input. For renderer
- navigations, only true if the code can trace back to the original input
- event. Some known cases where it is missing: crbug.com/889223
- crbug.com/897837 crbug.com/897840
- </summary>
- </metric>
- <metric name="Experimental.NavigationToInteractive">
- <obsolete>
- Removed 2/2020. Do not use Time to Interactive as a RUM metric.
- </obsolete>
- <summary>
- Measures Time to Interactive, a metric based on main thread and network
- heuristics to approximate the point in time when the page feels
- interactive to the user. See https://goo.gl/TFw6xz for detailed
- explanation. This histogram uses First Meaningful Paint as the lower bound
- for quiescent windows. The unit of time is ms.
- </summary>
- </metric>
- <metric name="Experimental.PageLoadType" enum="PageVisitFinalStatus">
- <obsolete>
- Renamed in 11/2021, use PageVisitFinalStatus instead.
- </obsolete>
- <summary>
- Determines the PageLoadType for this page load. That is, records whether
- the page was never foregrounded, was foregrounded but did not reach FCP,
- or did reach FCP. The metric is recorded at the end of each page load. As
- usual with PageLoad metrics, we consider app backgrounding on Android to
- be the end of page load as well as the app could be evicted by Android
- anytime after that happens.
- </summary>
- </metric>
- <metric name="Experimental.PaintTiming.NavigationToFirstMeaningfulPaint">
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the first meaningful paint (http://bit.ly/ttfmp-doc), for main
- frame documents.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Experimental.PaintTiming.NavigationToLargestContentPaint">
- <obsolete>
- Deprecated 7/2019, replaced by
- PaintTiming.NavigationToLargestContentfulPaint.MainFrame.
- </obsolete>
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time when the page first paints the largest content (text or
- image) within viewport. See http://bit.ly/fcp_plus_plus for more details.
- </summary>
- </metric>
- <metric
- name="Experimental.PaintTiming.NavigationToLargestContentPaintAllFrames">
- <obsolete>
- Deprecated 7/2019, replaced by
- PaintTiming.NavigationToLargestContentfulPaint
- </obsolete>
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time when the page first paints the largest content (text or
- image) within viewport. Compared with NavigationToLargestContentPaint,
- this is the aggregate results from all frames, while
- NavigationToLargestContentPaint is only for main frame. See
- http://bit.ly/fcp_plus_plus for more details.
- </summary>
- </metric>
- <metric name="Experimental.PaintTiming.NavigationToLargestImagePaint">
- <obsolete>
- Removed on 01/2020
- </obsolete>
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time when the page first paints the largest image within
- viewport after the image finishes loading. The value is recorded at the
- end of each page load. See http://bit.ly/fcp_plus_plus for more details.
- </summary>
- </metric>
- <metric
- name="Experimental.PaintTiming.NavigationToLargestImagePaint.BeforeUserInput">
- <obsolete>
- Deprecated 01/2019
- </obsolete>
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time when the page first paints the largest image within
- viewport after the image finishes loading, before user input. See
- http://bit.ly/fcp_plus_plus for more details.
- </summary>
- </metric>
- <metric name="Experimental.PaintTiming.NavigationToLargestTextPaint">
- <obsolete>
- Removed on 01/2020
- </obsolete>
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time when the page first paints the largest text within
- viewport. The value is recorded at the end of each page load. See
- http://bit.ly/fcp_plus_plus for more details.
- </summary>
- </metric>
- <metric
- name="Experimental.PaintTiming.NavigationToLargestTextPaint.BeforeUserInput">
- <obsolete>
- Deprecated 01/2019
- </obsolete>
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time when the page first paints the largest text within
- viewport, before user input. See http://bit.ly/fcp_plus_plus for more
- details.
- </summary>
- </metric>
- <metric name="Experimental.PaintTiming.NavigationToLastImagePaint">
- <obsolete>
- Deprecated on March 2019. This metric as a page load metric hasn't shown a
- good correlation with user experience.
- </obsolete>
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time when the page first paints the last image within
- viewport after the image finishes loading. The value is recorded at the
- end of each page load. See http://bit.ly/fcp_plus_plus for more details.
- </summary>
- </metric>
- <metric name="Experimental.PaintTiming.NavigationToLastTextPaint">
- <obsolete>
- Deprecated on March 2019. This metric as a page load metric hasn't shown a
- good correlation with user experience.
- </obsolete>
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time when the page first paints the last Text within
- viewport. The value is recorded at the end of each page load. See
- http://bit.ly/fcp_plus_plus for more details.
- </summary>
- </metric>
- <metric name="Experimental.TotalForegroundDuration">
- <obsolete>
- Deprecated on November 2021, replaced by
- PageTiming.TotalForegroundDuration.
- </obsolete>
- <summary>
- The total amount of time the page spent in the foreground, in
- milliseconds. Note that this metric adds all foreground durations
- occurring for the page. For example: if the page starts foregrounded
- during 1 second, then goes to the background for a while, then is
- foregrounded again for 2 seconds, and then is unloaded, this metric
- reports 3 seconds. To see metrics about consecutive foreground sessions,
- see the PageForegroundSession event instead. This metric is recorded at
- the end of each page load. As usual with PageLoad metrics, we consider app
- backgrounding on Android to be the end of page load as well as the app
- could be evicted by Android anytime after that happens.
- </summary>
- </metric>
- <metric name="HourOfDay">
- <summary>
- The hour of the day when the page load was initiated. The time is measured
- in the local time zone according to the system clock. Only collected for
- page loads that start while on foreground.
- </summary>
- </metric>
- <metric
- name="InteractiveTiming.AverageUserInteractionLatencyOverBudget.MaxEventDuration">
- <summary>
- The average value of user interaction latency above budget of a page load,
- in ms. For this metric, we measure the latency of user interactions by
- Responsiveness.UserInteraction.MaxEventDuration and we deduct a budget
- from the original value. If the latency value is below the budget, it will
- be treated as 0 ms. Each type of interaction has its own budget.
- </summary>
- </metric>
- <metric
- name="InteractiveTiming.AverageUserInteractionLatencyOverBudget.TotalEventDuration">
- <obsolete>
- Deprecated March 2022 for
- SlowUserInteractionLatency.HighPercentile2.MaxEventDuration
- </obsolete>
- <summary>
- The average value of user interaction latency above budget of a page load,
- in ms. For this metric, we measure the latency of user interactions by
- Responsiveness.UserInteraction.TotalEventDuration and we deduct a budget
- from the original value. If the latency value is below the budget, it will
- be treated as 0 ms. Each type of interaction has its own budget.
- </summary>
- </metric>
- <metric name="InteractiveTiming.FirstInputDelay">
- <obsolete>
- Deprecated on January 2019 in favor of InteractiveTiming.FirstInputDelay2,
- which correctly excludes some scrolling cases that were previously not
- excluded from this metric.
- </obsolete>
- <summary>
- Measures First Input Delay, the duration between the hardware timestamp
- and the start of event processing on the main thread for the first
- meaningful input per navigation. See https://goo.gl/tr1oTZ for a detailed
- explanation. In ms.
- </summary>
- </metric>
- <metric name="InteractiveTiming.FirstInputDelay.SkipFilteringComparison">
- <obsolete>
- Removed in January 2020 as the experiment is launched.
- </obsolete>
- <summary>
- For comparing FirstInputDelay metrics in the SkipTouchEventFilter
- experiment. Measures First Input Delay, the duration between the hardware
- timestamp and the start of event processing on the main thread for the
- first meaningful input per navigation. See https://goo.gl/tr1oTZ for a
- detailed explanation. In ms.
- </summary>
- </metric>
- <metric name="InteractiveTiming.FirstInputDelay2">
- <obsolete>
- Removed on February 2019 in favor of InteractiveTiming.FirstInputDelay3
- which brings the metric more in line with the EventTiming API.
- </obsolete>
- <summary>
- Measures First Input Delay, the duration between the hardware timestamp
- and the start of event processing on the main thread for the first
- meaningful input per navigation. See https://goo.gl/tr1oTZ for a detailed
- explanation. In ms.
- </summary>
- </metric>
- <metric name="InteractiveTiming.FirstInputDelay3">
- <obsolete>
- Removed in July 2019 in favor of InteractiveTiming.FirstInputDelay4 which
- includes events which were previously filtered.
- </obsolete>
- <summary>
- Measures First Input Delay, the duration between the hardware timestamp
- and the start of event processing on the main thread for the first
- meaningful input per navigation. See https://goo.gl/tr1oTZ for a detailed
- explanation. In ms.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="InteractiveTiming.FirstInputDelay4">
- <summary>
- Measures First Input Delay, the duration between the hardware timestamp
- and the start of event processing on the main thread for the first
- meaningful input per navigation. See https://goo.gl/tr1oTZ for a detailed
- explanation. In ms. Log of major changes:
- http://bit.ly/chrome-speed-metrics-changelog
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.country,profile.system_ram"/>
- <index fields="profile.is_dominant_version"/>
- <index fields="profile.is_latest_version"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="InteractiveTiming.FirstInputProcessingTimes">
- <summary>
- Measures First Input Processing Time, the duration of event handlers
- processing the first input event. In ms.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.country,profile.system_ram"/>
- <index fields="profile.is_dominant_version"/>
- <index fields="profile.is_latest_version"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="InteractiveTiming.FirstInputTimestamp">
- <obsolete>
- Deprecated on January 2019 in favor of
- InteractiveTiming.FirstInputTimestamp2, which correctly excludes some
- scrolling cases that were previously not excluded from this metric.
- </obsolete>
- <summary>
- The duration between navigation start and the hardware timestamp of the
- first meaningful input per navigation. See https://goo.gl/tr1oTZ for a
- detailed explanation. In ms.
- </summary>
- </metric>
- <metric name="InteractiveTiming.FirstInputTimestamp.SkipFilteringComparison">
- <obsolete>
- Removed in Jaunary 2020 as the experiment is launched.
- </obsolete>
- <summary>
- The duration between navigation start and the hardware timestamp of the
- first meaningful input per navigation. See https://goo.gl/tr1oTZ for a
- detailed explanation. In ms.
- This metric is used for comparing FirstInputTimestamp metrics in the
- SkipTouchEventFilter experiment.
- </summary>
- </metric>
- <metric name="InteractiveTiming.FirstInputTimestamp2">
- <obsolete>
- Removed on February 2019 in favor of
- InteractiveTiming.FirstInputTimestamp3 which brings the metric more in
- line with the EventTiming API.
- </obsolete>
- <summary>
- The duration between navigation start and the hardware timestamp of the
- first meaningful input per navigation. See https://goo.gl/tr1oTZ for a
- detailed explanation. In ms.
- </summary>
- </metric>
- <metric name="InteractiveTiming.FirstInputTimestamp3">
- <obsolete>
- Removed in July 2019 in favor of InteractiveTiming.FirstInputTimestamp4
- which includes events which were previously filtered.
- </obsolete>
- <summary>
- The duration between navigation start and the hardware timestamp of the
- first meaningful input per navigation. See https://goo.gl/tr1oTZ for a
- detailed explanation. In ms.
- </summary>
- </metric>
- <metric name="InteractiveTiming.FirstInputTimestamp4">
- <summary>
- The duration between navigation start and the hardware timestamp of the
- first meaningful input per navigation. See https://goo.gl/tr1oTZ for a
- detailed explanation. In ms.
- </summary>
- </metric>
- <metric name="InteractiveTiming.FirstScrollDelay">
- <summary>
- Measures the time, in milliseconds, from when a user starts scrolling
- until the result shows up on screen if the scroll was the first scroll
- since navigation.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.country,profile.system_ram"/>
- <index fields="profile.is_dominant_version"/>
- <index fields="profile.is_latest_version"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="InteractiveTiming.FirstScrollTimestamp">
- <summary>
- The duration between navigation start and the timestamp of the first
- scroll per navigation. In ms. This is rounded down to the nearest
- exponential bucket.
- </summary>
- </metric>
- <metric name="InteractiveTiming.LongestInputDelay">
- <obsolete>
- Deprecated on January 2019 in favor of
- InteractiveTiming.LongestInputDelay2, which correctly excludes some
- scrolling cases that were previously not excluded from this metric.
- </obsolete>
- <summary>
- Measures longest Input Delay, the longest duration between the hardware
- timestamp and the start of event processing on the main thread for the
- meaningful input per navigation. In ms.
- </summary>
- </metric>
- <metric name="InteractiveTiming.LongestInputDelay2">
- <obsolete>
- Removed on February 2019 in favor of InteractiveTiming.LongestInputDelay3
- which brings the metric more in line with the EventTiming API.
- </obsolete>
- <summary>
- Measures longest Input Delay, the longest duration between the hardware
- timestamp and the start of event processing on the main thread for the
- meaningful input per navigation. In ms.
- </summary>
- </metric>
- <metric name="InteractiveTiming.LongestInputDelay3">
- <obsolete>
- Removed on September 2019 in favor of InteractiveTiming.LongestInputDelay4
- which includes events which otherwise would have been filtered.
- </obsolete>
- <summary>
- Measures longest Input Delay, the longest duration between the hardware
- timestamp and the start of event processing on the main thread for the
- meaningful input per navigation. In ms.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="InteractiveTiming.LongestInputDelay4">
- <summary>
- Measures longest Input Delay, the longest duration between the hardware
- timestamp and the start of event processing on the main thread for the
- meaningful input per navigation. In ms.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="InteractiveTiming.LongestInputTimestamp">
- <obsolete>
- Deprecated on January 2019 in favor of
- InteractiveTiming.LongestInputTimestamp2, which correctly excludes some
- scrolling cases that were previously not excluded from this metric.
- </obsolete>
- <summary>
- The duration between navigation start and the hardware timestamp of the
- meaningful input with longest queuing delay per navigation. In ms.
- </summary>
- </metric>
- <metric name="InteractiveTiming.LongestInputTimestamp2">
- <obsolete>
- Removed on February 2019 in favor of
- InteractiveTiming.LongestInputTimestamp3 which brings the metric more in
- line with the EventTiming API.
- </obsolete>
- <summary>
- The duration between navigation start and the hardware timestamp of the
- meaningful input with longest queuing delay per navigation. In ms.
- </summary>
- </metric>
- <metric name="InteractiveTiming.LongestInputTimestamp3">
- <obsolete>
- Removed on February 2019 in favor of
- InteractiveTiming.LongestInputTimestamp4 which includes inputs which would
- have previously been filtered.
- </obsolete>
- <summary>
- The duration between navigation start and the hardware timestamp of the
- meaningful input with longest queuing delay per navigation. In ms.
- </summary>
- </metric>
- <metric name="InteractiveTiming.LongestInputTimestamp4">
- <summary>
- The duration between navigation start and the hardware timestamp of the
- meaningful input with longest queuing delay per navigation. In ms.
- </summary>
- </metric>
- <metric name="InteractiveTiming.NumInputEvents">
- <summary>
- The number of Input Events, including click, tap, key press, cancellable
- touchstart, or pointer down followed by a pointer up.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="InteractiveTiming.NumInteractions">
- <summary>
- The number of distinct user interactions. See definition of user
- interaction:
- https://web.dev/better-responsiveness-metric/#group-events-into-interactions
- </summary>
- </metric>
- <metric
- name="InteractiveTiming.SlowUserInteractionLatencyOverBudget.HighPercentile.MaxEventDuration">
- <obsolete>
- Deprecated March 2022 for
- SlowUserInteractionLatency.HighPercentile2.MaxEventDuration
- </obsolete>
- <summary>
- An approximation of a high percentile of user interaction latency above
- budget of a page load, in ms. For this metric, we measure the latency of
- user interactions by Responsiveness.UserInteraction.MaxEventDuration and
- we deduct a budget from the original value. If the latency value is below
- the budget, it will be treated as 0 ms. Each type of interaction has its
- own budget.
- </summary>
- </metric>
- <metric
- name="InteractiveTiming.SlowUserInteractionLatencyOverBudget.HighPercentile.TotalEventDuration">
- <obsolete>
- Deprecated March 2022 for
- SlowUserInteractionLatency.HighPercentile2.MaxEventDuration
- </obsolete>
- <summary>
- An approximation of a high percentile of user interaction latency above
- budget of a page load, in ms. For this metric, we measure the latency of
- user interactions by Responsiveness.UserInteraction.TotalEventDuration and
- we deduct a budget from the original value. If the latency value is below
- the budget, it will be treated as 0 ms. Each type of interaction has its
- own budget.
- </summary>
- </metric>
- <metric
- name="InteractiveTiming.SlowUserInteractionLatencyOverBudget.HighPercentile2.MaxEventDuration">
- <summary>
- An approximation of a high percentile of user interaction latency above
- budget of a page load, in ms. For this metric, we measure the latency of
- user interactions by Responsiveness.UserInteraction.MaxEventDuration and
- we deduct a budget from the original value. If the latency value is below
- the budget, it will be treated as 0 ms. Each type of interaction has its
- own budget.
- </summary>
- </metric>
- <metric
- name="InteractiveTiming.SlowUserInteractionLatencyOverBudget.HighPercentile2.TotalEventDuration">
- <obsolete>
- Deprecated March 2022 for
- SlowUserInteractionLatency.HighPercentile2.MaxEventDuration
- </obsolete>
- <summary>
- An approximation of a high percentile of user interaction latency above
- budget of a page load, in ms. For this metric, we measure the latency of
- user interactions by Responsiveness.UserInteraction.TotalEventDuration and
- we deduct a budget from the original value. If the latency value is below
- the budget, it will be treated as 0 ms. Each type of interaction has its
- own budget.
- </summary>
- </metric>
- <metric
- name="InteractiveTiming.SumOfUserInteractionLatencyOverBudget.MaxEventDuration">
- <summary>
- The sum of user interaction latency above budget of a page load, in ms.
- For this metric, we measure the latency of user interactions by
- Responsiveness.UserInteraction.MaxEventDuration and we deduct a budget
- from the original value. If the latency value is below the budget, it will
- be treated as 0 ms. Each type of interaction has its own budget.
- </summary>
- </metric>
- <metric
- name="InteractiveTiming.SumOfUserInteractionLatencyOverBudget.TotalEventDuration">
- <obsolete>
- Deprecated March 2022 for
- SlowUserInteractionLatency.HighPercentile2.MaxEventDuration
- </obsolete>
- <summary>
- The sum of user interaction latency above budget of a page load, in ms.
- For this metric, we measure the latency of user interactions by
- Responsiveness.UserInteraction.TotalEventDuration and we deduct a budget
- from the original value. If the latency value is below the budget, it will
- be treated as 0 ms. Each type of interaction has its own budget.
- </summary>
- </metric>
- <metric name="InteractiveTiming.TotalAdjustedInputDelay">
- <summary>
- sum(max(Input Delay - 50, 0)). The Input Delay refers to the duration
- between the hardware timestamp and the start of event processing on the
- main thread for the meaningful input. In ms.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="InteractiveTiming.TotalInputDelay">
- <summary>
- sum(Input Delay). The Input Delay refers to the duration between the
- hardware timestamp and the start of event processing on the main thread
- for the meaningful input. In ms.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="InteractiveTiming.TotalUserInteractionLatencyOverBudget.MaxEventDuration">
- <obsolete>
- Deprecated 10/2021. Replaced by
- "InteractiveTiming.SumOfUserInteractionLatencyOverBudget.MaxEventDuration".
- </obsolete>
- <summary>
- The sum of user interaction latency above budget of a page load, in ms.
- For this metric, we measure the latency of user interactions by
- Responsiveness.UserInteraction.MaxEventDuration and we deduct a budget
- from the original value. If the latency value is below the budget, it will
- be treated as 0 ms. Each type of interaction has its own budget.
- </summary>
- </metric>
- <metric
- name="InteractiveTiming.TotalUserInteractionLatencyOverBudget.TotalEventDuration">
- <obsolete>
- Deprecated 10/2021. Replaced by
- "InteractiveTiming.SumOfUserInteractionLatencyOverBudget.TotalEventDuration".
- </obsolete>
- <summary>
- The sum of user interaction latency above budget of a page load, in ms.
- For this metric, we measure the latency of user interactions by
- Responsiveness.UserInteraction.TotalEventDuration and we deduct a budget
- from the original value. If the latency value is below the budget, it will
- be treated as 0 ms. Each type of interaction has its own budget.
- </summary>
- </metric>
- <metric
- name="InteractiveTiming.UserInteractionLatency.HighPercentile2.MaxEventDuration">
- <summary>
- An approximation of a high percentile of user interaction latency of a
- page load, in ms. For this metric, we measure the latency of user
- interactions by Responsiveness.UserInteraction.MaxEventDuration.
- </summary>
- </metric>
- <metric name="InteractiveTiming.WorstUserInteractionLatency.MaxEventDuration">
- <summary>
- The maximum value of user interaction latency of a page load, in ms. For
- this metric, we measure the latency of user interactions by
- Responsiveness.UserInteraction.MaxEventDuration. Each type of interaction
- has its own budget.
- </summary>
- </metric>
- <metric
- name="InteractiveTiming.WorstUserInteractionLatency.TotalEventDuration">
- <obsolete>
- Deprecated March 2022 for
- SlowUserInteractionLatency.HighPercentile2.MaxEventDuration
- </obsolete>
- <summary>
- The maximum value of user interaction latency of a page load, in ms. For
- this metric, we measure the latency of user interactions by
- Responsiveness.UserInteraction.TotalEventDuration. Each type of
- interaction has its own budget.
- </summary>
- </metric>
- <metric
- name="InteractiveTiming.WorstUserInteractionLatencyOverBudget.MaxEventDuration">
- <obsolete>
- Deprecated March 2022 for
- SlowUserInteractionLatency.HighPercentile2.MaxEventDuration
- </obsolete>
- <summary>
- The maximum value of user interaction latency above budget of a page load,
- in ms. For this metric, we measure the latency of user interactions by
- Responsiveness.UserInteraction.MaxEventDuration and we deduct a budget
- from the original value. If the latency value is below the budget, it will
- be treated as 0 ms. Each type of interaction has its own budget.
- </summary>
- </metric>
- <metric
- name="InteractiveTiming.WorstUserInteractionLatencyOverBudget.TotalEventDuration">
- <obsolete>
- Deprecated March 2022 for
- SlowUserInteractionLatency.HighPercentile2.MaxEventDuration
- </obsolete>
- <summary>
- The maximum value of user interaction latency above budget of a page load,
- in ms. For this metric, we measure the latency of user interactions by
- Responsiveness.UserInteraction.TotalEventDuration and we reduct a budget
- from the original value. If the latency value is below the budget, it will
- be treated as 0 ms. Each type of interaction has its own budget.
- </summary>
- </metric>
- <metric name="IsCrossProcessNavigation">
- <owner>altimin@chromium.org</owner>
- <owner>arthursonzogni@chromium.org</owner>
- <summary>
- Whether the navigation resulted in the main frame being hosted in a
- different renderer process than the current document or not.
- </summary>
- </metric>
- <metric name="IsExistingBookmark" enum="Boolean">
- <summary>
- Marked true if the page was already bookmarked when the navigation
- committed.
- </summary>
- </metric>
- <metric name="IsExistingPartOfTabGroup" enum="Boolean">
- <summary>
- Marked true if the page was already part of a tab group when the
- navigation committed.
- </summary>
- </metric>
- <metric name="IsNewBookmark" enum="Boolean">
- <summary>
- Roughly: measures if the page was newly bookmarked. Specifically: this is
- marked true if the page was not bookmarked when the navigation committed,
- and is bookmarked at the end of the page lifetime.
- Note, this means this boolean is mutually exclusive with
- IsExistingBookmark.
- Also note, this means that a page that is bookmarked, and then
- sebsequently un-bookmarked is counted as false.
- </summary>
- </metric>
- <metric name="IsNTPCustomLink" enum="Boolean">
- <summary>
- Marked true if the page has been explicitly added (by the user) to the
- list of custom links displayed in the NTP. Links added to the NTP by
- History TopSites don't count for this. Always false on Android, because
- Android does not have NTP custom links.
- </summary>
- </metric>
- <metric name="IsPlacedInTabGroup" enum="Boolean">
- <summary>
- Roughly: measures if the page was added to a tab group. Specifically: this
- is marked true if the page was not part of a tab group when the navigation
- committed, and is part of a tab group at the end of the page lifetime.
- Note, this means this boolean is mutually exclusive with
- IsExistingPartOfTabGroup.
- Also note, this means that a page that is added, and then sebsequently
- removed from a tab group is counted as false.
- </summary>
- </metric>
- <metric name="IsScopedSearchLikeNavigation" enum="Boolean">
- <summary>
- Marked true if the page was eligible for a scoped search when the
- navigation committed.
- </summary>
- </metric>
- <metric name="IsSignedExchangeInnerResponse">
- <obsolete>
- Migrated to the PageLoad.SignedExchange event. The presence of that event
- indicates the associated source was served via signed exchange.
- </obsolete>
- <summary>
- Set to 1 if the main resource is an inner response of a signed exchange.
- </summary>
- </metric>
- <metric
- name="LayoutInstability.AverageCumulativeShiftScore.SessionWindow.Gap5000ms">
- <obsolete>
- Deprecated 06/2021.
- </obsolete>
- <summary>
- Measures the average cumulative layout shift (bit.ly/cls-explainer) that
- has occurred in a session window. The gap between two consecutive shifts
- in a window is not bigger than 5000ms. This metric's integral value is
- 100x the fractional cumulative layout shift score described in the
- explainer.
- </summary>
- </metric>
- <metric name="LayoutInstability.CumulativeShiftScore">
- <summary>
- Measures the cumulative layout shift (bit.ly/lsm-explainer) that has
- occurred on the page (including all subframes) during the session. This
- metric's integral value is 100x the fractional cumulative layout shift
- score described in the explainer. Stable since M79; previous versions are
- expermental and subject to fluctuation between releases. Log of major
- changes: http://bit.ly/chrome-speed-metrics-changelog
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.country,profile.system_ram"/>
- <index fields="profile.is_dominant_version"/>
- <index fields="profile.is_latest_version"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="LayoutInstability.CumulativeShiftScore.BeforeInputOrScroll">
- <summary>
- Measures the cumulative layout shift (bit.ly/lsm-explainer) that has
- occurred on the page (including all subframes) during the session, before
- any user input or scroll (in any frame). This metric's integral value is
- 100x the fractional cumulative layout shift score described in the
- explainer.
- </summary>
- </metric>
- <metric name="LayoutInstability.CumulativeShiftScore.MainFrame">
- <summary>
- Measures the cumulative layout shift (bit.ly/lsm-explainer) that has
- occurred in the main frame during the session. This metric's integral
- value is 100x the fractional cumulative layout shift score described in
- the explainer.
- </summary>
- </metric>
- <metric
- name="LayoutInstability.CumulativeShiftScore.MainFrame.BeforeInputOrScroll">
- <summary>
- Measures the cumulative layout shift (bit.ly/lsm-explainer) that has
- occurred in the main frame during the session, before any user input or
- scroll. This metric's integral value is 100x the fractional cumulative
- layout shift score described in the explainer.
- </summary>
- </metric>
- <metric
- name="LayoutInstability.MaxCumulativeShiftScore.SessionWindow.Gap1000ms">
- <obsolete>
- Deprecated 06/2021.
- </obsolete>
- <summary>
- Measures the maximum cumulative layout shift (bit.ly/cls-explainer) that
- has occurred in a session window. The gap between two consecutive shifts
- in a window is not bigger than 1000ms. This metric's integral value is
- 100x the fractional cumulative layout shift score described in the
- explainer.
- </summary>
- </metric>
- <metric
- name="LayoutInstability.MaxCumulativeShiftScore.SessionWindow.Gap1000ms.Max5000ms">
- <summary>
- Measures the maximum cumulative layout shift (bit.ly/cls-explainer) that
- has occurred in a session window. The gap between two consecutive shifts
- in a window is not bigger than 1000ms and the maximum window size is
- 5000ms. This metric's integral value is 100x the fractional cumulative
- layout shift score described in the explainer.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="LayoutInstability.MaxCumulativeShiftScore.SessionWindowByInputs.Gap1000ms.Max5000ms">
- <obsolete>
- Deprecated 06/2021.
- </obsolete>
- <summary>
- Measures the maximum cumulative layout shift (bit.ly/cls-explainer) that
- has occurred in a session window. The gap between two consecutive shifts
- in a window is not bigger than 1000ms or segmented by a user input. The
- maximum window size is 5000ms. This metric's integral value is 100x the
- fractional cumulative layout shift score described in the explainer.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="LayoutInstability.MaxCumulativeShiftScore.SlidingWindow.Duration1000ms">
- <obsolete>
- Deprecated 06/2021.
- </obsolete>
- <summary>
- Measures the maximum cumulative layout shift (bit.ly/cls-explainer) that
- has occurred in a 1000ms sliding window. This metric's integral value is
- 100x the fractional cumulative layout shift score described in the
- explainer.
- </summary>
- </metric>
- <metric
- name="LayoutInstability.MaxCumulativeShiftScore.SlidingWindow.Duration300ms">
- <obsolete>
- Deprecated 06/2021.
- </obsolete>
- <summary>
- Measures the maximum cumulative layout shift (bit.ly/cls-explainer) that
- has occurred in a 300ms sliding window. This metric's integral value is
- 100x the fractional cumulative layout shift score described in the
- explainer.
- </summary>
- </metric>
- <metric name="LayoutStability.JankScore">
- <obsolete>
- Removed July 2019 in favor of LayoutInstability.CumulativeShiftScore.
- </obsolete>
- <summary>
- Measures the amount of layout jank (bit.ly/lsm-explainer) that has
- occurred on the page (including all subframes) during the session. This
- metric's integral value is 100x the fractional jank score described in the
- explainer.
- </summary>
- </metric>
- <metric name="LayoutStability.JankScore.MainFrame">
- <obsolete>
- Removed July 2019 in favor of
- LayoutInstability.CumulativeShiftScore.MainFrame.
- </obsolete>
- <summary>
- Measures the amount of layout jank (bit.ly/lsm-explainer) that has
- occurred in the main frame during the session. This metric's integral
- value is 100x the fractional jank score described in the explainer.
- </summary>
- </metric>
- <metric name="LayoutStability.JankScore.MainFrame.BeforeInputOrScroll">
- <obsolete>
- Removed July 2019 in favor of
- LayoutInstability.CumulativeShiftScore.MainFrame.BeforeInputOrScroll.
- </obsolete>
- <summary>
- Measures the amount of layout jank (bit.ly/lsm-explainer) that has
- occurred in the main frame during the session, before any user input or
- document scroll. This metric's integral value is 100x the fractional jank
- score described in the explainer.
- </summary>
- </metric>
- <metric name="MainDocumentSequenceNumber">
- <owner>altimin@chromium.org</owner>
- <owner>arthursonzogni@chromium.org</owner>
- <summary>
- An id for the main frame's document associated with the current
- navigation. It doesn't change for same-document navigations and when
- navigating back to the same document. Unique during the browsing session.
- </summary>
- </metric>
- <metric name="MainFrameResource.ConnectDelay">
- <summary>
- The duration between the start of the connection establishment to the end
- of the connection establishment to the origin of the main frame request.
- In ms.
- </summary>
- </metric>
- <metric name="MainFrameResource.DNSDelay">
- <summary>
- The duration between the start of the DNS resolution to the end for the
- origin of the main frame request. In ms.
- </summary>
- </metric>
- <metric name="MainFrameResource.HttpProtocolScheme">
- <summary>
- HTTP Protocol scheme of the connection using which the main frame response
- was fetched. Recorded as HttpProtocolScheme enum in
- tools/metrics/histograms/enum.xml.
- </summary>
- </metric>
- <metric name="MainFrameResource.NavigationStartToReceiveHeadersStart">
- <summary>
- The duration from the start of the navigation to the start of the response
- headers being received. In ms.
- </summary>
- </metric>
- <metric name="MainFrameResource.NavigationStartToRequestStart">
- <summary>
- The duration from the start of the navigation to the start of the main
- frame request. This includes the time to process any redirects on the main
- frame request. In ms.
- </summary>
- </metric>
- <metric name="MainFrameResource.RedirectCount">
- <summary>
- The number of main frame redirects that occurred before commit. Unset if
- there were no redirects.
- </summary>
- </metric>
- <metric name="MainFrameResource.RequestHadCookies" enum="Boolean">
- <summary>
- A boolean indicating if any mainpage request in the redirect chain or
- committed request had cookies set on it. Only set when a query result was
- received from the cookie manager before event recording.
- </summary>
- </metric>
- <metric name="MainFrameResource.RequestStartToReceiveHeadersEnd">
- <summary>
- The duration from when the request was started to the time when its
- response headers were received. Recorded only for the main frame request.
- In ms.
- </summary>
- </metric>
- <metric name="MainFrameResource.RequestStartToSendStart">
- <summary>
- The duration from when the request was started to the time when its
- request headers were sent. Recorded only for the main frame request. In
- ms.
- </summary>
- </metric>
- <metric name="MainFrameResource.SendStartToReceiveHeadersEnd">
- <summary>
- The duration from when the request headers were sent to when its response
- headers were received. Recorded only for the main frame request. In ms.
- </summary>
- </metric>
- <metric name="MainFrameResource.SocketReused">
- <summary>
- True if the socket was reused when establishing connection to the origin
- of the main frame request.
- </summary>
- </metric>
- <metric name="Navigation.PageEndReason">
- <obsolete>
- Deprecated May 2020 in favor of Navigation.PageEndReason2.
- </obsolete>
- <summary>
- The |page_load_metrics::PageEndReason| for the main frame navigation of
- this page load.
- </summary>
- </metric>
- <metric name="Navigation.PageEndReason2" enum="PageEndReason">
- <obsolete>
- Deprecated Jan 2021 in favor of Navigation.PageEndReason3.
- </obsolete>
- <summary>
- The |page_load_metrics::PageEndReason| for the main frame navigation of
- this page load. Replaced Navigation.PageEndReason at the end of May 2020
- to reduce occurrences of page_load_metrics::PageEndReason::END_NONE by
- setting the value to page_load_metrics::PageEndReason::END_HIDDEN when the
- metric is recorded after the page became hidden.
- </summary>
- </metric>
- <metric name="Navigation.PageEndReason3" enum="PageEndReason">
- <summary>
- The |page_load_metrics::PageEndReason| for the main frame navigation of
- this page load. Replaced Navigation.PageEndReason2 on January 2021 to get
- rid of END_HIDDEN and use END_APP_BACKGROUND on cases where the metrics
- are flushed and the app enters the background.
- </summary>
- </metric>
- <metric name="Navigation.PageTransition">
- <summary>
- The |ui::PageTransition| for the main frame navigation of this page load.
- </summary>
- </metric>
- <metric name="NavigationEntryOffset">
- <owner>altimin@chromium.org</owner>
- <owner>arthursonzogni@chromium.org</owner>
- <summary>
- Difference between the last committed navigation entry index before and
- after the commit of this navigation.
- </summary>
- </metric>
- <metric name="Net.CacheBytes">
- <obsolete>
- Deprecated 06/2019 in favor of Net.CacheBytes2.
- </obsolete>
- <summary>
- The total number of body bytes loaded from cache for all resources on the
- page. This is rounded down to the nearest exponential bucket (with a
- bucket spacing factor of 1.3).
- </summary>
- </metric>
- <metric name="Net.CacheBytes2">
- <summary>
- The total number of body bytes loaded from cache for all resources on the
- page. This includes the http and memory cache. This is rounded down to the
- nearest exponential bucket (with a bucket spacing factor of 1.3).
- </summary>
- </metric>
- <metric name="Net.DownstreamKbpsEstimate.OnNavigationStart">
- <owner>tbansal@chromium.org</owner>
- <summary>
- The downstream throughput (in kilobits per second) for this page load, at
- the time the navigation for this page load was initiated.
- </summary>
- </metric>
- <metric name="Net.EffectiveConnectionType.OnNavigationStart">
- <obsolete>
- Deprecated 7/2017 in favor of
- Net.EffectiveConnectionType2.OnNavigationStart.
- </obsolete>
- <summary>
- The |net::EffectiveConnectionType| at the time the navigation for this
- page load was initiated.
- </summary>
- </metric>
- <metric name="Net.EffectiveConnectionType2.OnNavigationStart">
- <summary>
- The |SystemProfileProto::Network::EffectiveConnectionType| at the time the
- navigation for this page load was initiated.
- </summary>
- </metric>
- <metric name="Net.ErrorCode.OnFailedProvisionalLoad">
- <summary>
- The |net::Error| code for this page load. Only logged for failed
- provisional navigations.
- </summary>
- </metric>
- <metric name="Net.HttpResponseCode">
- <summary>
- The HTTP response code (e.g., 200, 404, etc.) associated with the main
- frame page load.
- </summary>
- </metric>
- <metric name="Net.HttpRttEstimate.OnNavigationStart">
- <summary>
- The HTTP round trip time estimate for this page load, at the time the
- navigation for this page load was initiated.
- </summary>
- </metric>
- <metric name="Net.ImageBytes">
- <obsolete>
- Deprecated 09/2021 in favor of Net.ImageBytes2.
- </obsolete>
- <summary>
- The total number of bytes loaded from the network for images on the page.
- This is rounded down to the nearest exponential bucket (with a bucket
- spacing factor of 1.3). On mobile this only records bytes up until the
- page/app is backgrounded.
- </summary>
- </metric>
- <metric name="Net.ImageBytes2">
- <summary>
- The total number of bytes loaded from the network for images on the page.
- This is rounded down to the nearest exponential bucket (with a bucket
- spacing factor of 1.3). On mobile this only records bytes up until the
- page/app is backgrounded.
- </summary>
- </metric>
- <metric name="Net.ImageSubframeBytes">
- <obsolete>
- Deprecated 09/2021 in favor of Net.ImageSubframeBytes2.
- </obsolete>
- <summary>
- The total number of bytes loaded from the network for images on the
- subframes of the page. This is rounded down to the nearest exponential
- bucket (with a bucket spacing factor of 1.3). On mobile this only records
- bytes up until the page/app is backgrounded.
- </summary>
- </metric>
- <metric name="Net.ImageSubframeBytes2">
- <summary>
- The total number of bytes loaded from the network for images on the
- subframes of the page. This is rounded down to the nearest exponential
- bucket (with a bucket spacing factor of 1.3). On mobile this only records
- bytes up until the page/app is backgrounded.
- </summary>
- </metric>
- <metric name="Net.JavaScriptBytes">
- <obsolete>
- Deprecated 09/2021 in favor of Net.JavaScriptBytes2.
- </obsolete>
- <summary>
- The sum of decoded body lengths of all JavaScript resouces that completed
- loading on the page. This is rounded down to the nearest exponential
- bucket (with a bucket spacing factor of 10). On mobile this only records
- bytes up until the page/app is backgrounded.
- </summary>
- </metric>
- <metric name="Net.JavaScriptBytes2">
- <summary>
- The sum of decoded body lengths of all JavaScript resouces that completed
- loading on the page. This is rounded down to the nearest exponential
- bucket (with a bucket spacing factor of 1.3). On mobile this only records
- bytes up until the page/app is backgrounded.
- </summary>
- </metric>
- <metric name="Net.JavaScriptMaxBytes">
- <obsolete>
- Deprecated 09/2021 in favor of Net.JavaScriptMaxBytes2.
- </obsolete>
- <summary>
- The max of decoded body lengths of all JavaScript resouces that completed
- loading on the page. This is rounded down to the nearest exponential
- bucket (with a bucket spacing factor of 10). On mobile this only records
- bytes up until the page/app is backgrounded.
- </summary>
- </metric>
- <metric name="Net.JavaScriptMaxBytes2">
- <summary>
- The max of decoded body lengths of all JavaScript resouces that completed
- loading on the page. This is rounded down to the nearest exponential
- bucket (with a bucket spacing factor of 1.3). On mobile this only records
- bytes up until the page/app is backgrounded.
- </summary>
- </metric>
- <metric name="Net.MediaBytes">
- <obsolete>
- Deprecated 09/2021 in favor of Net.MediaBytes2.
- </obsolete>
- <summary>
- The total number of bytes loaded from the network for media (video, audio)
- on the page. This is rounded down to the nearest exponential bucket (with
- a bucket spacing factor of 1.3). On mobile this only records bytes up
- until the page/app is backgrounded.
- </summary>
- </metric>
- <metric name="Net.MediaBytes2">
- <summary>
- The total number of bytes loaded from the network for media (video, audio)
- on the page. This is rounded down to the nearest exponential bucket (with
- a bucket spacing factor of 1.3). On mobile this only records bytes up
- until the page/app is backgrounded.
- </summary>
- </metric>
- <metric name="Net.NetworkBytes">
- <obsolete>
- Deprecated 03/2019 in favor of Net.NetworkBytes2.
- </obsolete>
- <summary>
- The total number of body bytes loaded from the network for all resources
- on the page. This is rounded down to the nearest exponential bucket (with
- a bucket spacing factor of 1.3).
- </summary>
- </metric>
- <metric name="Net.NetworkBytes2">
- <summary>
- The total number of bytes loaded from the network for all resources on the
- page, including incomplete resources and headers. This is rounded down to
- the nearest exponential bucket (with a bucket spacing factor of 1.3). On
- mobile this only records bytes up until the page/app is backgrounded.
- </summary>
- </metric>
- <metric name="Net.TransportRttEstimate.OnNavigationStart">
- <summary>
- The transport round trip time estimate for this page load, at the time the
- navigation for this page load was initiated.
- </summary>
- </metric>
- <metric name="OmniboxUrlCopied" enum="Boolean">
- <summary>
- Marked true if the user copied the page's URL from the omnibox at any time
- for this page load.
- </summary>
- </metric>
- <metric name="PageTiming.ForegroundDuration">
- <summary>
- For page loads that start in the foreground, measures the duration of time
- in milliseconds until one of the following events occurs: the load of the
- main resource fails, the page load is stopped, the tab hosting the page is
- closed, the render process hosting the page goes away, a new navigation
- which later commits is initiated in the same tab, or the tab hosting the
- page is backgrounded. This metric has a very long tail, for pages that
- spend a long period of time in the foreground. As such, use of the mean or
- tail values are not recommended.
- </summary>
- </metric>
- <metric name="PageTiming.NavigationToFailedProvisionalLoad">
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time the provisional load failed. Only measures provisional
- loads that failed in the foreground.
- </summary>
- </metric>
- <metric name="PageTiming.TotalForegroundDuration">
- <summary>
- The total amount of time the page spent in the foreground, in
- milliseconds. Note that this metric adds all foreground durations
- occurring for the page. For example: if the page starts foregrounded
- during 1 second, then goes to the background for a while, then is
- foregrounded again for 2 seconds, and then is unloaded, this metric
- reports 3 seconds. To see metrics about consecutive foreground sessions,
- see the PageForegroundSession event instead. This metric is recorded at
- the end of each page load. As usual with PageLoad metrics, we consider app
- backgrounding on Android to be the end of page load as well as the app
- could be evicted by Android anytime after that happens.
- </summary>
- </metric>
- <metric name="PageTiming.UserTimingMarkFullyLoaded">
- <summary>
- When the page UserTiming mark API is called with the standard
- 'mark_fully_loaded' name to mark that the page is fully loaded. If the
- mark is called more than once, the last is used.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="PageTiming.UserTimingMarkFullyVisible">
- <summary>
- When the page UserTiming mark API is called with the standard
- 'mark_fully_visible' name to mark that the page is fully visible. If the
- mark is called more than once, the last is used.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="PageTiming.UserTimingMarkInteractive">
- <summary>
- When the page UserTiming mark API is called with the standard
- 'mark_interactive' name to mark that the page is interactive. If the mark
- is called more than once, the last is used.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="PageVisitFinalStatus" enum="PageVisitFinalStatus">
- <summary>
- Determines the final status for this page load. That is, records whether
- the page was never foregrounded, was foregrounded but did not reach FCP,
- or did reach FCP. The metric is recorded at the end of each page load. As
- usual with PageLoad metrics, we consider app backgrounding on Android to
- be the end of page load as well as the app could be evicted by Android
- anytime after that happens.
- </summary>
- </metric>
- <metric name="PaintTiming.LargestContentfulPaintBPP"
- enum="BitsPerPixelExponential">
- <summary>
- Measures the ratio of image file size (in bits) to displayed pixels for
- the LCP candidate. Bucketed into roughly exponential intervals to account
- for the wide range of encountered values (less than 1:100000 to greater
- than 10000:1). This metric is recorded whenever the LCP candidate is an
- image, and omitted when it is text.
- </summary>
- </metric>
- <metric name="PaintTiming.LargestContentfulPaintType">
- <summary>
- Indicates that type of the LargestContentfulPaint candidate. This value is
- a packed set of flags, defined in
- third_party/blink/public/common/performance/largest_contentful_paint_type.h
- </summary>
- </metric>
- <metric name="PaintTiming.NavigationToExperimentalLargestContentfulPaint">
- <obsolete>
- Replaced by PaintTiming.NavigationToLargestContentfulPaint2 on Oct 2020.
- </obsolete>
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time when the page first paints the largest content (text or
- image) within viewport, across all frames. Differs from
- PaintTiming.NavigationToLargestContentfulPaint in that this experimental
- version includes content that has been removed.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.country,profile.system_ram"/>
- <index fields="profile.is_dominant_version"/>
- <index fields="profile.is_latest_version"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="PaintTiming.NavigationToExperimentalLargestContentfulPaint.MainFrame">
- <obsolete>
- Replaced by PaintTiming.NavigationToLargestContentfulPaint2.MainFrame on
- Oct 2020.
- </obsolete>
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time when the page first paints the largest content (text or
- image) within viewport, in the main frame. Differs from
- PaintTiming.NavigationToLargestContentfulPaint.MainFrame in that this
- experimental version includes content that has been removed.
- </summary>
- </metric>
- <metric name="PaintTiming.NavigationToFirstContentfulPaint">
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time when the page first paints content. A contentful paint
- includes a paint of text, image, SVG, or canvas. Log of major changes:
- http://bit.ly/chrome-speed-metrics-changelog
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.country,profile.system_ram"/>
- <index fields="profile.gender"/>
- <index fields="profile.gender,profile.generation"/>
- <index fields="profile.generation"/>
- <index fields="profile.is_dominant_version"/>
- <index fields="profile.is_latest_version"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="PaintTiming.NavigationToFirstPaint">
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time the first paint is performed.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="PaintTiming.NavigationToLargestContentfulPaint">
- <obsolete>
- Replaced by PaintTiming.NavigationToLargestContentfulPaint2. No longer
- reported from Nov 2021.
- </obsolete>
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time when the page first paints the largest content (text or
- image) within viewport, across all frames. See http://bit.ly/fcp_plus_plus
- for more details. Stable since M79; previous versions are experimental and
- subject to fluctuation between releases. Log of major changes:
- http://bit.ly/chrome-speed-metrics-changelog Note: Will be replaced by
- PaintTiming.NavigationToLargestContentfulPaint2.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.country,profile.system_ram"/>
- <index fields="profile.is_dominant_version"/>
- <index fields="profile.is_latest_version"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="PaintTiming.NavigationToLargestContentfulPaint.MainFrame">
- <obsolete>
- Replaced by PaintTiming.NavigationToLargestContentfulPaint2.MainFrame. No
- longer reported from Nov 2021.
- </obsolete>
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time when the page first paints the largest content (text or
- image) within viewport, in the main frame. See http://bit.ly/fcp_plus_plus
- for more details. Note: Will be replaced by
- PaintTiming.NavigationToLargestContentfulPaint2.MainFrame.
- </summary>
- </metric>
- <metric name="PaintTiming.NavigationToLargestContentfulPaint2">
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time when the page first paints the largest content (text or
- image) within viewport, across all frames. See http://bit.ly/fcp_plus_plus
- for more details. Log of major changes:
- http://bit.ly/chrome-speed-metrics-changelog. Version 2 differs from the
- first version in that it includes content that has been removed from the
- page.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.country,profile.system_ram"/>
- <index fields="profile.is_dominant_version"/>
- <index fields="profile.is_latest_version"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric
- name="PaintTiming.NavigationToLargestContentfulPaint2.CrossSiteSubFrame">
- <summary>
- Similar to PaintTiming.NavigationToLargestContentfulPaint2, this measures
- the time in milliseconds from the navigation start of the top-level frame
- to the time when the page first paints the largest content (text or image)
- in the cross-site subframe which is the top candidate of largest
- contentful paint. This metric is computed separately from the page-level
- LCP, it's recorded even in page loads where the page-level LCP is not that
- cross-site LCP.
- </summary>
- </metric>
- <metric name="PaintTiming.NavigationToLargestContentfulPaint2.MainFrame">
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time when the page first paints the largest content (text or
- image) within viewport, in the main frame. Includes content that has been
- removed from the page. See http://bit.ly/fcp_plus_plus for more details.
- </summary>
- </metric>
- <metric name="ParseTiming.NavigationToParseStart">
- <summary>
- Measures the time in milliseconds from navigation timing's navigation
- start to the time the parser started, for main frame documents.
- </summary>
- </metric>
- <metric name="SiteEngagementScore">
- <owner>mcrouse@chromium.org</owner>
- <owner>tbansal@chromium.org</owner>
- <summary>
- Measures the Site Engagement Score for the commited URL rounded to the
- nearest 10.
- </summary>
- </metric>
- <metric name="SiteInstanceRenderProcessAssignment"
- enum="SiteInstanceProcessAssignment">
- <summary>
- Records how the main frame's site instance was assigned to a renderer
- process.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SoftNavigationCount">
- <summary>
- Number of soft navigations detected by heuristics. See
- https://bit.ly/soft-navigation
- Soft navigations are JS-driven same-document navigations that are using
- the history API or the new Navigation API, triggered by a user gesture and
- meaningfully modify the DOM, replacing the previous content with new one.
- </summary>
- </metric>
- <metric name="ThirdPartyCookieBlockingEnabledForSite" enum="Boolean">
- <owner>dullweber@chromium.org</owner>
- <owner>huanzhong@chromium.org</owner>
- <summary>
- Records whether third party cookie blocking was enabled for a site. Only
- recorded for users who enabled the cookie controls ui.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="WasCached">
- <summary>
- Set to 1 if the main resource was served from cache.
- </summary>
- </metric>
- <metric name="WasDiscarded" enum="Boolean">
- <summary>
- Records whether the Page Load is the result of the page having previously
- been discarded because of performance interventions or critical memory
- pressure.
- </summary>
- </metric>
- </event>
- <event name="PageLoad.FromGoogleSearch" singular="True">
- <owner>sullivan@chromium.org</owner>
- <owner>mushan@chromium.org</owner>
- <summary>
- Recorded for page loads that were navigated to via Google Search.
- </summary>
- <metric name="GoogleSearchMode" enum="GoogleSearchMode">
- <summary>
- Google Search mode used by the user. This corresponds to the tab (e.g. web
- result, image results, video results, etc.) the user is on. This
- information is extracted from the tbm query parameter on the Search URL.
- </summary>
- </metric>
- </event>
- <event name="PageLoad.Internal" singular="True">
- <owner>npm@chromium.org</owner>
- <owner>speed-metrics-dev@chromium.org</owner>
- <summary>
- Debugging metrics for the PageLoad event that do not require the same amount
- of sampling.
- </summary>
- <metric name="PaintTiming.ExperimentalLargestContentfulPaint.ContentType"
- enum="LargestContentType">
- <obsolete>
- Replaced by PaintTiming.LargestContentfulPaint.ContentType. No longer
- reported from Nov 2021.
- </obsolete>
- <summary>
- Records whether the page's experimental version of largest contentful
- paint, whose timestamp is measured by
- PageLoad.PaintTiming.NavigationToLargestContentfulPaint, comes from text
- or image. This value is sampled and not on the PageLoad event, so it is
- not always recorded whenever
- PageLoad.PaintTiming.NavigationToLargestContentfulPaint is recorded.
- </summary>
- </metric>
- <metric
- name="PaintTiming.ExperimentalLargestContentfulPaint.TerminationState"
- enum="LargestContentfulPaint.TerminationState">
- <obsolete>
- Replaced by PaintTiming.LargestContentfulPaint.TerminationState. No longer
- reported from Nov 2021.
- </obsolete>
- <summary>
- Records the state of the experimental largest contentful paint algorithm
- at the time in which the browser attempts to record
- PageLoad.PaintTiming.NavigationToLargestContentfulPaint. This state
- depends on whether there was an experimental largest contentful paint
- candidate or not and the foreground state of the page. This value is
- sampled and not on the PageLoad event, so it is not always recorded
- whenever the browser attempts to record
- PageLoad.PaintTiming.NavigationToLargestContentfulPaint.
- </summary>
- </metric>
- <metric name="PaintTiming.LargestContentfulPaint.ContentType"
- enum="LargestContentType">
- <summary>
- Records whether the page's largest contentful paint, whose timestamp is
- measured by PageLoad.PaintTiming.NavigationToLargestContentfulPaint2,
- comes from text or image. This value is sampled and not on the PageLoad
- event, so it is not always recorded whenever
- PageLoad.PaintTiming.NavigationToLargestContentfulPaint2 is recorded.
- </summary>
- </metric>
- <metric name="PaintTiming.LargestContentfulPaint.TerminationState"
- enum="LargestContentfulPaint.TerminationState">
- <summary>
- Records the state of the largest contentful paint algorithm at the time in
- which the browser attempts to record
- PageLoad.PaintTiming.NavigationToLargestContentfulPaint2. This state
- depends on whether there was a largest contentful paint candidate or not
- and the foreground state of the page. This value is sampled and not on the
- PageLoad event, so it is not always recorded whenever the browser attempts
- to record PageLoad.PaintTiming.NavigationToLargestContentfulPaint2.
- </summary>
- </metric>
- </event>
- <event name="PageLoad.ServiceWorkerControlled" singular="True">
- <owner>wanderview@chromium.org</owner>
- <owner>asamidoi@chromium.org</owner>
- <summary>
- Recorded for page loads controlled by a service worker.
- </summary>
- </event>
- <event name="PageLoad.SignedExchange" singular="True">
- <owner>horo@chromium.org</owner>
- <summary>
- Recorded for page loads which main resource is an inner response of a signed
- exchange.
- </summary>
- <metric name="ServedFromGoogleCache">
- <summary>
- Set to 1 if the main resource was served from Google's cache server.
- </summary>
- </metric>
- </event>
- <event name="PageLoadCapping" singular="True">
- <obsolete>
- Deprecated as of 3/2019.
- </obsolete>
- <owner>ryansturm@chromium.org</owner>
- <summary>
- Metrics related to PageLoadCapping that are recorded using the same UKM IDs
- as PageLoad.
- </summary>
- <metric name="FinalState">
- <summary>
- Set to 1 when the InfoBar was shown, but not acted upon. Set to 2 when the
- page was paused, but not resumed. Set to 3 when the page was resumed. If
- the InfoBar was not shown, this metrics is not recorded.
- </summary>
- </metric>
- </event>
- <event name="PageWithPassword">
- <owner>battre@chromium.org</owner>
- <summary>
- Metrics about websites that contain password forms and the user's
- interactions with them. No events are created for pages that don't contain
- password forms.
- </summary>
- <metric name="FormManagerAvailable">
- <summary>
- Records whether Chrome was sufficiently aware of forms during various
- stages of saving a credential on the site, or whether saving was aborted
- due to absence of the corresponding form manager. Values correspond to the
- enum PasswordManagerMetricsRecorder::FormManagerAvailable.
- </summary>
- </metric>
- <metric name="PageLevelUserAction">
- <summary>
- Records if the user interacts with the password manager in a way that
- cannot (reliably) be attributed to a specific PasswordFormManager. Values
- correspond to the enum
- PasswordManagerMetricsRecorder::PageLevelUserAction.
- </summary>
- </metric>
- <metric name="ProvisionalSaveFailure">
- <summary>
- Records a provisional save failure in case the password manager cannot
- offer to save a credential. Recorded values correspond to the enum
- PasswordManagerMetricsRecorder::ProvisionalSaveFailure.
- </summary>
- </metric>
- <metric name="UserModifiedPasswordField">
- <summary>
- Records a 1 for every page on which a user has modified a password text
- field - regardless of how many password fields a page contains or the user
- modifies.
- </summary>
- </metric>
- </event>
- <event name="PaintPreviewCapture" singular="True">
- <owner>ckitagawa@chromium.org</owner>
- <owner>fredmello@chromium.org</owner>
- <owner>mahmoudi@chromium.org</owner>
- <owner>vollick@chromium.org</owner>
- <summary>
- Metrics related to the performance of capturing Paint Previews.
- </summary>
- <metric name="BlinkCaptureTime">
- <summary>
- The amount of time spent painting in Blink to record a Paint Preview of
- the main frame.
- </summary>
- </metric>
- <metric name="CompressedOnDiskSize">
- <summary>
- The compressed on-disk size in KB of the captured artifacts. This is
- rounded down to the nearest exponential bucket (with a bucket ratio of
- 1.3).
- </summary>
- </metric>
- </event>
- <event name="PasswordForm">
- <owner>battre@chromium.org</owner>
- <summary>
- Metrics about password forms on websites and the user's interactions with
- them. A separate event is generated for each password form discovered on a
- site.
- </summary>
- <metric name="Context.FormSignature">
- <summary>
- Records a low entropy hash of the form signature in order to be able to
- distinguish two forms on the same site.
- </summary>
- </metric>
- <metric name="DynamicFormChanges">
- <summary>
- Records a bitmask of password form changes after the first time this form
- is seen by Password Manager. Recorded once per a form when the form is
- removed from DOM. Bit 0 - changes in number of fields, bit 1 - changes in
- fields renderer ids, bit 2 - changes in autocomplete attributes, bit 3 -
- changes in form control types, bit 4 - changes in field names.
- </summary>
- </metric>
- <metric name="Fill.FirstFillingResultInRenderer"
- enum="PasswordManagerFirstRendererFillingResult">
- <summary>
- Records whether the PasswordAutofillAgent in the renderer manages to fill
- credentials as instructed by the browser or records a failure reason
- otherwise. Only the outcome of the first attempt to fill is recorded.
- This is replicated as PasswordManager.FirstFillingResultInRenderer in UMA.
- </summary>
- </metric>
- <metric name="Fill.FirstWaitForUsernameReason"
- enum="PasswordManagerFirstWaitForUsernameReason">
- <summary>
- This metric records why the browser instructs the renderer not to fill the
- credentials on page load but to wait for the user to confirm the
- credential to be filled. Only the value of the first decision to fill is
- recorded.
- This is replicated as PasswordManager.FirstWaitForUsernameReason in UMA.
- </summary>
- </metric>
- <metric name="FillOnLoad">
- <summary>
- Deprecated in November 2018, because the decision this metric supported
- was made. Records the comparison of the old and new decision about filling
- a form on load. Should only be logged for fillig with non-PSL matched
- credentials, in non-Incognito mode. Values are from
- password_manager::PasswordFormMetricsRecorder::FillOnLoad.
- </summary>
- </metric>
- <metric name="Generation.GeneratedPassword" enum="Boolean">
- <summary>
- Records '1' if the user has generated a password on this form.
- </summary>
- </metric>
- <metric name="Generation.GeneratedPasswordModified" enum="Boolean">
- <summary>
- Records '1' if the user has modified a generated a password on this form.
- </summary>
- </metric>
- <metric name="Generation.PopupShown" enum="PasswordGenerationPopupShown">
- <summary>
- Records an entry if (and only if) a popup was shown.
- </summary>
- </metric>
- <metric name="Generation.SpecPriority">
- <obsolete>
- Deprecated 09/2019.
- </obsolete>
- <summary>
- Reports the priority of a PasswordGenerationRequirementsSpec for a
- generated password. This can be used for debugging as a 0 means that no
- spec was used, a 10 means that the spec came from autofill and was crowd
- sourced, a 20 means that it was overridden per domain and a 30 means that
- is was overridden for the form.
- </summary>
- </metric>
- <metric name="ManagerFill.Action">
- <summary>
- Records for each password form (and HTTP auth), whether the password
- manager has filled/provided credentials. Recorded values correspond to the
- enum ManagerAutofillEvent.
- </summary>
- </metric>
- <metric name="ManagerFill.Assistance" enum="PasswordManagerFillingAssistance">
- <summary>
- Records for each successful submission the degree to which the user has
- been assisted by the password manager.
- This is replicated as PasswordManager.FillingAssistance in UMA.
- </summary>
- </metric>
- <metric name="ParsingComparison">
- <obsolete>
- Deprecated 09/2019.
- </obsolete>
- <summary>
- Records comparison result of old and new password form parsing algorithms.
- Metric is recorded on a password form detection. Recorded values
- correspond to the enum
- password_manager::PasswordFormMetricsRecorder::ParsingComparisonResult.
- </summary>
- </metric>
- <metric name="ParsingOnSavingDifference">
- <obsolete>
- Deprecated 09/2019.
- </obsolete>
- <summary>
- Records the comparison of the old and new password form parsing for
- saving. Multiple values from the
- password_manager::PasswordFormMetricsRecorder::ParsingOnSavingDifference
- bitmask can be combined.
- </summary>
- </metric>
- <metric name="ReadonlyWhenFilling">
- <summary>
- Records the readonly status encoded with parsing success after parsing for
- filling. The |value| is constructed as follows: The least significant bit
- says whether parsing succeeded (1) or not (0). The rest, shifted by one
- bit to the right is the FormDataParser::ReadonlyPasswordFields
- representation of the readonly status.
- </summary>
- </metric>
- <metric name="ReadonlyWhenSaving">
- <summary>
- Records the readonly status encoded with parsing success after parsing for
- creating pending credentials. The |value| is constructed the same way as
- for ReadonlyWhenFilling.
- </summary>
- </metric>
- <metric name="Saving.Prompt.Interaction" enum="PasswordBubbleDismissalReason">
- <summary>
- Records how the user interacted with a saving prompt.
- </summary>
- </metric>
- <metric name="Saving.Prompt.Shown" enum="Boolean">
- <summary>
- Records, for each password form seen by the password manager, whether the
- user was shown a prompt that asked for permission to save new credentials.
- In case a store() via the Credential Management API, a virtual password
- form is created, for which this metric is recorded.
- </summary>
- </metric>
- <metric name="Saving.Prompt.Trigger" enum="PasswordBubbleTrigger">
- <summary>
- Records the trigger of each password save bubble that was shown to the
- user to ask for permission to save new credentials.
- </summary>
- </metric>
- <metric name="Saving.ShowedManualFallbackForSaving">
- <summary>
- Records if a manual fallback for saving option was shown to the user (on
- Android this is recorded, even though the UI does not exist at the
- moment). This is a bit mask. 1 means a prompt was shown, 2 means the
- prompt was due to a generated password, 4 means the prompt was due to an
- update.
- </summary>
- </metric>
- <metric name="Submission.Indicator" enum="SubmissionIndicatorEvent">
- <summary>
- Records the event that led the password manager to believe the submission
- was successful. Metrics is recorded only when the password is saved.
- </summary>
- </metric>
- <metric name="Submission.Observed" enum="Boolean">
- <summary>
- Records whether a submission of a password form has been observered. The
- values 0 and 1 correspond to false and true respectively.
- </summary>
- </metric>
- <metric name="Submission.SubmissionResult"
- enum="PasswordFormSubmissionResult">
- <summary>
- Records the outcome of a password form submission.
- </summary>
- </metric>
- <metric name="Submission.SubmittedFormType" enum="PasswordFormType">
- <summary>
- Records the classification of a form at submission time.
- This is replicated as PasswordManager.SubmittedFormType in UMA.
- </summary>
- </metric>
- <metric name="SuppressedAccount.Generated.HTTPSNotHTTP">
- <obsolete>
- Deprecated 03/2019.
- </obsolete>
- <summary>
- Records, for each password form seen by the password manager, whether
- there were `suppressed` credentials, meaning stored credentials that were
- not filled, that were suppressed because they were stored for an HTTPS
- origin while the password form was seen on an HTTP origin. If there were
- such credentials, the histogram also records whether the username and
- password of such suppressed credentials matched those submitted. This
- recording happens only for credentials that were originally auto-generated
- (as opposed to user typed). Recorded values correspond to the enum
- SuppressedAccountExistence.
- </summary>
- </metric>
- <metric name="SuppressedAccount.Generated.PSLMatching">
- <obsolete>
- Deprecated 03/2019.
- </obsolete>
- <summary>
- Records, for each password form seen by the password manager, whether
- there were `suppressed` credentials, meaning stored credentials that were
- not filled, that were suppressed because they were for an origin that was
- only PSL-matching the origin of the observed form (see the suffix
- description for the possible classes of such near-matches). If there were
- such credentials, the histogram also records whether the username and
- password of such suppressed credentials matched those submitted. This
- recording happens only for credentials that were originally auto-generated
- (as opposed to user typed). Recorded values correspond to the enum
- SuppressedAccountExistence.
- </summary>
- </metric>
- <metric name="SuppressedAccount.Generated.SameOrganizationName">
- <obsolete>
- Deprecated 03/2019.
- </obsolete>
- <summary>
- Records, for each password form seen by the password manager, whether
- there were `suppressed` credentials, meaning stored credentials that were
- not filled, that were suppressed because they were for an origin that was
- only matching the visited origin if the TLD is stripped. If there were
- such credentials, the histogram also records whether the username and
- password of such suppressed credentials matched those submitted. This
- recording happens only for credentials that were originally auto-generated
- (as opposed to user typed). Recorded values correspond to the enum
- SuppressedAccountExistence.
- </summary>
- </metric>
- <metric name="SuppressedAccount.Manual.HTTPSNotHTTP">
- <obsolete>
- Deprecated 03/2019.
- </obsolete>
- <summary>
- Records, for each password form seen by the password manager, whether
- there were `suppressed` credentials, meaning stored credentials that were
- not filled, that were suppressed because they were stored for an HTTPS
- origin while the password form was seen on an HTTP origin. If there were
- such credentials, the histogram also records whether the username and
- password of such suppressed credentials matched those submitted. This
- recording happens only for credentials that were originally entered by the
- user (as opposed to auto-generated). Recorded values correspond to the
- enum SuppressedAccountExistence.
- </summary>
- </metric>
- <metric name="SuppressedAccount.Manual.PSLMatching">
- <obsolete>
- Deprecated 03/2019.
- </obsolete>
- <summary>
- Records, for each password form seen by the password manager, whether
- there were `suppressed` credentials, meaning stored credentials that were
- not filled, that were suppressed because they were for an origin that was
- only PSL-matching the origin of the observed form (see the suffix
- description for the possible classes of such near-matches). If there were
- such credentials, the histogram also records whether the username and
- password of such suppressed credentials matched those submitted. This
- recording happens only for credentials that were originally entered by the
- user (as opposed to auto-generated). Recorded values correspond to the
- enum SuppressedAccountExistence.
- </summary>
- </metric>
- <metric name="SuppressedAccount.Manual.SameOrganizationName">
- <obsolete>
- Deprecated 03/2019.
- </obsolete>
- <summary>
- Records, for each password form seen by the password manager, whether
- there were `suppressed` credentials, meaning stored credentials that were
- not filled, that were suppressed because they were for an origin that was
- only matching the visited origin if the TLD is stripped. If there were
- such credentials, the histogram also records whether the username and
- password of such suppressed credentials matched those submitted. This
- recording happens only for credentials that were originally entered by the
- user (as opposed to auto-generated). Recorded values correspond to the
- enum SuppressedAccountExistence.
- </summary>
- </metric>
- <metric name="Updating.Prompt.Interaction"
- enum="PasswordBubbleDismissalReason">
- <summary>
- Records how the user interacted with an updating prompt.
- </summary>
- </metric>
- <metric name="Updating.Prompt.Shown" enum="Boolean">
- <summary>
- Records, for each password form seen by the password manager, whether the
- user was shown a prompt that asked for permission to update existing
- credentials.
- </summary>
- </metric>
- <metric name="Updating.Prompt.Trigger" enum="PasswordBubbleTrigger">
- <summary>
- Records the trigger of each password update bubble that was shown to the
- user to ask for permission to update existing credentials.
- </summary>
- </metric>
- <metric name="User.Action">
- <obsolete>
- Deprecated. Use new user actions ("User.Action....") instead.
- </obsolete>
- <summary>
- Records what the user does with all UI entry points of the password
- manager UI, like bubbles, context menus, forms, form fields, etc. in
- relation to a given form. Recorded values correspond to the enum
- PasswordFormMetricsRecorder::DetailedUserAction. In contrast to
- User.ActionSimplified, this metric is intended to be extended over time.
- </summary>
- </metric>
- <metric name="User.Action.CorrectedUsernameInForm">
- <summary>
- Counts how many times the user corrected a username in a password form.
- This is only populated if events happened.
- </summary>
- </metric>
- <metric name="User.Action.EditedUsernameInBubble">
- <summary>
- Counts how many times the user edited a username in a password save/update
- bubble. This is only populated if events happened.
- </summary>
- </metric>
- <metric name="User.Action.SelectedDifferentPasswordInBubble">
- <summary>
- Counts how many times the user selected a different password in a
- save/update bubble. This is only populated if events happened.
- </summary>
- </metric>
- <metric name="User.Action.TriggeredManualFallbackForSaving">
- <summary>
- Counts how many times the user triggered the manual fallback for password
- saving. This is only populated if events happened.
- </summary>
- </metric>
- <metric name="User.Action.TriggeredManualFallbackForUpdating">
- <obsolete>
- Deprecated. Use TriggeredManualFallbackForSaving instead.
- </obsolete>
- <summary>
- Counts how many times the user triggered the manual fallback for password
- updating. This is only populated if events happened.
- </summary>
- </metric>
- <metric name="User.ActionSimplified">
- <obsolete>
- Deprecated as of 12/11/2019.
- </obsolete>
- <summary>
- Records what the user does with a form. Recorded values correspond to the
- enum password_manager::UserAction.
- </summary>
- </metric>
- </event>
- <event name="PasswordManager.LeakWarningDialog">
- <owner>jkeitel@google.com</owner>
- <owner>chrome-duplex@google.com</owner>
- <summary>
- Metrics related to leak warnings shown on login and password reset. Leak
- warning dialogs in Chrome aim to inform users about leaked credentials and
- advise to change them. We collect type of the dialog that is shown and the
- response of the user to it.
- </summary>
- <metric name="PasswordLeakDetectionDialogDismissalReason"
- enum="PasswordLeakDetectionDialogDismissalReason">
- <summary>
- Records the response to the password leak dialog.
- </summary>
- </metric>
- <metric name="PasswordLeakDetectionDialogType"
- enum="PasswordLeakDetectionDialogType">
- <summary>
- Records the type of the password leak dialog.
- </summary>
- </metric>
- </event>
- <event name="PasswordManager.PasswordChangeFlowDuration">
- <owner>kolos@chromium.org</owner>
- <owner>jkeitel@google.com</owner>
- <summary>
- Metrics related to password change flows. Chrome offers users several entry
- points for password change flows, e.g. from Password Checkup in Settings or
- on a leak warning dialog during sign in with compromised credentials. We
- collect the duration of and the success rate of such password change flows.
- </summary>
- <metric name="Duration">
- <summary>
- The time that passed during the start of the flow and the end of the flow
- in seconds.
- </summary>
- </metric>
- <metric name="EndEvent"
- enum="PasswordManager.PasswordChangeSuccessTracker.EndEvent">
- <summary>
- Records how the flow was ended, e.g. whether it ended with an generated
- password from an automated flow, a password reset link, etc.
- </summary>
- </metric>
- <metric name="EntryPoint"
- enum="PasswordManager.PasswordChangeSuccessTracker.EntryPoint">
- <summary>
- Records the entry point of the password change flow, e.g. whether it was
- from settings or during login.
- </summary>
- </metric>
- <metric name="StartEvent"
- enum="PasswordManager.PasswordChangeSuccessTracker.StartEvent">
- <summary>
- Records how the flow was started, e.g. whether it was an automated flow, a
- manual flow will a well-known/.change-password URL, etc.
- </summary>
- </metric>
- </event>
- <event name="PasswordManager.PasswordChangeTriggered">
- <owner>brunobraga@google.com</owner>
- <owner>chrome-duplex@google.com</owner>
- <summary>
- Metrics related to password change. The Password Checkup in Chrome Settings
- aims to help users find their leaked passwords. After getting list of
- compromised passwords, user can trigger password change. On some limited
- number of sites automated password change is available and on others only
- manual change is available. We collect what type of password change user
- triggered.
- </summary>
- <metric name="PasswordChangeType" enum="PasswordChangeType">
- <summary>
- Records what type of password change the user triggers.
- </summary>
- </metric>
- </event>
- <event name="PasswordManager.PasswordFillingIOS">
- <owner>theocristea@google.com</owner>
- <owner>kazinova@google.com</owner>
- <owner>vsemeniuk@google.com</owner>
- <summary>
- Records password filling for IOS. The metric records whether the password
- filling is successful upon suggestion click.
- </summary>
- <metric name="FillingSuccess" enum="BooleanSuccess">
- <summary>
- A boolean indicating success or failure.
- </summary>
- </metric>
- </event>
- <event name="PasswordManager.WellKnownChangePasswordResult">
- <owner>kazinova@google.com</owner>
- <owner>vasilii@chromium.org</owner>
- <summary>
- Metrics related to the usage and support of .well-known/change-password. The
- .well-known/change-password standard is defined to redirect to the sites
- change password form. We collect whether a site supports the standart or
- not. https://wicg.github.io/change-password-url/
- </summary>
- <metric name="WellKnownChangePasswordResult"
- enum="WellKnownChangePasswordResult">
- <summary>
- Records if a site supports .well-known/change-password and if a url
- override was used or not.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="PaymentApp.CheckoutEvents">
- <owner>rouslan@chromium.org</owner>
- <owner>web-payments-team@google.com</owner>
- <summary>
- Records checkout events as well as completion status for the invoked payment
- app when its origin is shown inside the payment handler modal window. This
- metric uses the specific PAYMENT_APP_ID ukm_source_id which is generated
- from the app's origin.
- </summary>
- <metric name="CompletionStatus" enum="PaymentRequestFlowCompletionStatus">
- <summary>
- How the Payment Request ended. This metric will only get recorded if a
- non-autofill payment app gets invoked to handle the request.
- </summary>
- </metric>
- <metric name="Events">
- <summary>
- Bitfield representing the events that occurred during the Payment Request.
- This metric will only get recorded if a non-autofill payment app gets
- invoked to handle the request. Values defined in the Event enum of
- components/payments/core/journey_logger.h.
- </summary>
- </metric>
- <metric name="Events2">
- <summary>
- The 2.0 version of Events. Bitfield representing the events that occurred
- during the Payment Request. This metric will only get recorded if a
- non-autofill payment app gets invoked to handle the request. Values
- defined in the Event2 enum of components/payments/core/journey_logger.h.
- </summary>
- </metric>
- </event>
- <event name="PaymentRequest.CheckoutEvents">
- <owner>rouslan@chromium.org</owner>
- <owner>web-payments-team@google.com</owner>
- <metric name="CompletionStatus">
- <summary>
- How the Payment Request ended. Values defined in the CompletionStatus enum
- of components/payments/core/journey_logger.h.
- </summary>
- </metric>
- <metric name="Events">
- <summary>
- Bitfield representing the events that occurred during the Payment Request.
- Values defined in the Event enum of
- components/payments/core/journey_logger.h.
- </summary>
- </metric>
- <metric name="Events2">
- <summary>
- The 2.0 version of Events. Bitfield representing the events that occurred
- during the Payment Request. Values defined in the Event2 enum of
- components/payments/core/journey_logger.h.
- </summary>
- </metric>
- </event>
- <event name="PaymentRequest.TransactionAmount">
- <owner>rouslan@chromium.org</owner>
- <owner>web-payments-team@google.com</owner>
- <metric name="Category">
- <summary>
- Tranaction size can be zero, micro, or regular. Values defined in the
- TransactionSize enum of components/payments/core/journey_logger.h.
- </summary>
- </metric>
- <metric name="CompletionStatus" enum="Boolean">
- <summary>
- Whether the transaction has been triggered or completed.
- </summary>
- </metric>
- </event>
- <event name="Pepper.Broker" singular="True">
- <owner>raymes@chromium.org</owner>
- <summary>
- Event recorded when a flash instance connects to the broker, resulting in a
- channel being opened to the broker process.
- </summary>
- </event>
- <event name="PerfectHeuristics" singular="True">
- <obsolete>
- Implementation for these experiments were removed in M94.
- </obsolete>
- <owner>dom@chromium.org</owner>
- <owner>chrome-loading@google.com</owner>
- <summary>
- Metrics recorded for the various Perfect Heuristics experiments being run.
- </summary>
- <metric name="delay_async_script_execution_before_finished_parsing"
- enum="Boolean">
- <summary>
- Set to 1 when blink::ScriptRunner sees an async script before the
- associated document has finished parsing.
- </summary>
- </metric>
- <metric name="DelayCompetingLowPriorityRequests" enum="Boolean">
- <summary>
- Set to 1 when blink::ResourceLoadScheduler delays competing low priority
- requests. See https://crbug.com/1112515 for details.
- </summary>
- </metric>
- </event>
- <event name="PerformanceAPI.LongTask">
- <owner>hpayer@chromium.org</owner>
- <owner>mlippautz@chromium.org</owner>
- <owner>ulan@chromium.org</owner>
- <summary>
- This event is associated with the LongTask Web Platform API. The metrics are
- recorded when a long task is detected and reported to the page. For more
- details see the design doc linked in https://crbug.com/1173527.
- </summary>
- <metric name="Duration">
- <summary>
- The duration of the long task in microseconds. Mirrors the value reported
- in PerformanceEntry.duration.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Duration.V8.Execute">
- <summary>
- The total time in microseconds that is V8 spent in main-thread V8,
- including JS-time, but without time spent in callbacks to blink.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Duration.V8.GC">
- <summary>
- The total time in microseconds that V8 spent collecting garbage within the
- long task.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Duration.V8.GC.Full.Atomic">
- <summary>
- The total time in microseconds that V8 spent in the atomic pause of the
- full garbage collector within the long task.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Duration.V8.GC.Full.Incremental">
- <summary>
- The total time in microseconds that V8 spent in the incremental pause of
- the full garbage collector within the long task.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Duration.V8.GC.Young">
- <summary>
- The total time in microseconds that V8 spent in the young garbage
- collector within the long task.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="StartTime">
- <summary>
- The duration in millseconds between the document navigation start and the
- long task start. Mirrors the value reported in PerformanceEntry.startTime.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="PerformanceAPI.Memory">
- <owner>hpayer@chromium.org</owner>
- <owner>mlippautz@chromium.org</owner>
- <owner>ulan@chromium.org</owner>
- <summary>
- This event is associated with the performance.measureUserAgentSpecificMemory
- API. The metrics are recorded when the memory measurement is reported to the
- page. All values represent memory consumption in KB.
- </summary>
- <metric name="Dom">
- <summary>
- The total DOM memory measured in KB.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="JavaScript">
- <summary>
- The total JavaScript memory measured in KB.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="JavaScript.DedicatedWorker">
- <summary>
- The total JavaScript memory in the DedicatedWorker scope measured in KB.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Shared">
- <summary>
- The total shared memory measured in KB.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="PerformanceAPI.Memory.Legacy">
- <owner>hpayer@chromium.org</owner>
- <owner>mlippautz@chromium.org</owner>
- <owner>ulan@chromium.org</owner>
- <summary>
- This event is associated with the performance.memory API. The metrics are
- recorded when the memory measurement is reported to the page. All values
- represent memory consumption in KB.
- </summary>
- <metric name="JavaScript">
- <summary>
- The JavaScript memory (usedJSHeapSize) measured in KB.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="PeriodicBackgroundSyncEventCompleted">
- <owner>nator@chromium.org</owner>
- <owner>rayankans@chromium.org</owner>
- <owner>peter@chromium.org</owner>
- <summary>
- A website can register to periodically update itself in the background using
- a service worker. Updates can be done in response to the periodicsync event.
- Logged when a periodicsync event completes and returns a status. We collect
- information about retries of this event.
- </summary>
- <metric name="MaxAttempts">
- <summary>
- Integer value of the maximum number of allowed retries.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="NumAttempts">
- <summary>
- Integer value of the number of retries / sync events dispatched.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Status" enum="ServiceWorkerEventStatus">
- <summary>
- The enum value of the completion status, defined in
- blink::ServiceWorkerStatusCode.
- </summary>
- </metric>
- </event>
- <event name="PeriodicBackgroundSyncRegistered">
- <owner>nator@chromium.org</owner>
- <owner>rayankans@chromium.org</owner>
- <owner>peter@chromium.org</owner>
- <summary>
- A website can register to periodically update itself in the background using
- a service worker. Updates can be done in response to the periodicsync event
- after a periodic Background Sync registration has been created. Logged when
- a periodic Background Sync registration is created. We collect information
- about this registration request.
- </summary>
- <metric name="IsReregistered" enum="Boolean">
- <summary>
- Boolean for whether a registration with this tag has already been created.
- </summary>
- </metric>
- <metric name="MinIntervalMs">
- <summary>
- Integer value of the minimum interval, in milliseconds, of periodicsync
- events requested by the origin for this registration. This number is
- exponentially bucketed and uses the UKM GetExponentialBucketMin method
- with a value of 2.0 for spacing.
- </summary>
- </metric>
- </event>
- <event name="Permission">
- <owner>timloh@chromium.org</owner>
- <summary>
- Metrics for a user's permission actions, logged when a permission prompt is
- resolved or when a permission is revoked. Grouped (microphone+camera)
- permission prompts are reported separately.
- </summary>
- <metric name="Action">
- <summary>
- An enum of type PermissionAction. One of GRANTED, DENIED, DISMISSED or
- IGNORED.
- </summary>
- </metric>
- <metric name="Gesture">
- <summary>
- An enum of type PermissionRequestGestureType, whether the prompt was
- initiated by a user gesture.
- </summary>
- </metric>
- <metric name="PermissionAutoRevocationHistory"
- enum="PermissionAutoRevocationHistory">
- <summary>
- An enum of type PermissionAutoRevocationHistory, representing whether the
- permission has been automatically revoked in the past at least once.
- </summary>
- </metric>
- <metric name="PermissionType">
- <summary>
- An enum of type ContentSettingsType.
- </summary>
- </metric>
- <metric name="PredictionsApiResponse.GrantLikelihood"
- enum="PredictionGrantLikelihood">
- <summary>
- An enum of type PermissionUmaUtil::PredictionGrantLikelihood describing
- the likelihood returned by the Web Permission Predictions Service, if the
- service was successfully queried.
- </summary>
- </metric>
- <metric name="PredictionsApiResponse.Heldback" enum="Boolean">
- <summary>
- A boolean that records whether the response by the permissions prediction
- service was held back.
- </summary>
- </metric>
- <metric name="PriorDismissals">
- <summary>
- The number of dismissed prompts for the given (origin, permission) pair,
- capped at 10 dismissals.
- </summary>
- </metric>
- <metric name="PriorIgnores">
- <summary>
- The number of ignored prompts for the given (origin, permission) pair,
- capped at 10 ignores.
- </summary>
- </metric>
- <metric name="PromptDisposition">
- <summary>
- An enum of type PermissionPromptDisposition. The UI used to display a
- permission prompt, if any.
- </summary>
- </metric>
- <metric name="PromptDispositionReason"
- enum="PermissionPromptDispositionReason">
- <summary>
- An enum of type PermissionPromptDispositionReason. The reason why the
- particular prompt disposition was used, if any.
- </summary>
- </metric>
- <metric name="SatisfiedAdaptiveTriggers">
- <summary>
- A bitmask consisting of flags defined in enum type AdaptiveTriggers. A bit
- is set if the corresponding adaptive triggering condition has been
- satisfied at least once in the past for the user. This metric is not
- recorded for users who don't have the activation dry run enabled.
- </summary>
- </metric>
- <metric name="Source">
- <summary>
- An enum of type PermissionSourceUI. The UI surface for this action.
- </summary>
- </metric>
- <metric name="Stats.AllPrompts.Count">
- <summary>
- Total number of prompts shown to the user in the last 28 days. The count
- is bucketed. The bucket minimums being 20, 15, 12, 10, 9, 8, 7, 6, 5, 4
- and 0. The correct bucket is the first one that is smaller or equal to the
- prompt count.
- </summary>
- </metric>
- <metric name="Stats.AllPrompts.DenyRate">
- <summary>
- What percentage of prompts from the last 28 days did the user deny.
- Aggregated across all origins, all PermissionTypes and all
- PromptDisposition. Rounded to the nearest 10%.
- </summary>
- </metric>
- <metric name="Stats.AllPrompts.DismissRate">
- <summary>
- What percentage of prompts from the last 28 days did the user dismiss.
- Aggregated across all origins, all PermissionTypes and all
- PromptDisposition. Rounded to the nearest 10%.
- </summary>
- </metric>
- <metric name="Stats.AllPrompts.GrantRate">
- <summary>
- What percentage of prompts from the last 28 days did the user grant.
- Aggregated across all origins, all PermissionTypes and all
- PromptDisposition. Rounded to the nearest 10%.
- </summary>
- </metric>
- <metric name="Stats.AllPrompts.IgnoreRate">
- <summary>
- What percentage of prompts from the last 28 days did the user ignore.
- Aggregated across all origins, all PermissionTypes and all
- PromptDisposition. Rounded to the nearest 10%.
- </summary>
- </metric>
- <metric name="Stats.AllPromptsOfType.Count">
- <summary>
- Total number of prompts shown to the user in the last 28 days for the
- currently requested permission type. The count is bucketed. The bucket
- minimums being 20, 15, 12, 10, 9, 8, 7, 6, 5, 4 and 0. The correct bucket
- is the first one that is smaller or equal to the prompt count.
- </summary>
- </metric>
- <metric name="Stats.AllPromptsOfType.DenyRate">
- <summary>
- What percentage of prompts from the last 28 days did the user deny.
- Aggregated across all origins, the current requested PermissionType and
- all PromptDisposition. Rounded to the nearest 10%.
- </summary>
- </metric>
- <metric name="Stats.AllPromptsOfType.DismissRate">
- <summary>
- What percentage of prompts from the last 28 days did the user dismiss.
- Aggregated across all origins, the current requested PermissionType and
- all PromptDisposition. Rounded to the nearest 10%.
- </summary>
- </metric>
- <metric name="Stats.AllPromptsOfType.GrantRate">
- <summary>
- What percentage of prompts from the last 28 days did the user grant.
- Aggregated across all origins, the current requested PermissionType and
- all PromptDisposition. Rounded to the nearest 10%.
- </summary>
- </metric>
- <metric name="Stats.AllPromptsOfType.IgnoreRate">
- <summary>
- What percentage of prompts from the last 28 days did the user ignore.
- Aggregated across all origins, the current requested PermissionType and
- all PromptDisposition. Rounded to the nearest 10%.
- </summary>
- </metric>
- <metric name="Stats.LoudPrompts.Count">
- <summary>
- Total number of loud UI prompts shown to the user in the last 28 days. The
- count is bucketed. The bucket minimums being 20, 15, 12, 10, 9, 8, 7, 6, 5
- ,4 and 0. The correct bucket is the first one that is smaller or equal to
- the prompt count.
- </summary>
- </metric>
- <metric name="Stats.LoudPrompts.DenyRate">
- <summary>
- What percentage of prompts from the last 28 days did the user deny.
- Aggregated across all origins, all PermissionTypes and loud UI
- PromptDispositions only. Rounded to the nearest 10%.
- </summary>
- </metric>
- <metric name="Stats.LoudPrompts.DismissRate">
- <summary>
- What percentage of prompts from the last 28 days did the user dismiss.
- Aggregated across all origins, all PermissionTypes and loud UI
- PromptDispositions only. Rounded to the nearest 10%.
- </summary>
- </metric>
- <metric name="Stats.LoudPrompts.GrantRate">
- <summary>
- What percentage of prompts from the last 28 days did the user grant.
- Aggregated across all origins, all PermissionTypes and loud UI
- PromptDispositions only. Rounded to the nearest 10%.
- </summary>
- </metric>
- <metric name="Stats.LoudPrompts.IgnoreRate">
- <summary>
- What percentage of prompts from the last 28 days did the user ignore.
- Aggregated across all origins, all PermissionTypes and loud UI
- PromptDispositions only. Rounded to the nearest 10%.
- </summary>
- </metric>
- <metric name="Stats.LoudPromptsOfType.Count">
- <summary>
- Total number of loud UI prompts shown to the user in the last 28 days for
- the currently requested permission type. The count is bucketed. The bucket
- minimums being 20, 15, 12, 10, 9, 8, 7, 6, 5, 4 and 0. The correct bucket
- is the first one that is smaller or equal to the prompt count.
- </summary>
- </metric>
- <metric name="Stats.LoudPromptsOfType.DenyRate">
- <summary>
- What percentage of prompts from the last 28 days did the user deny.
- Aggregated across all origins, currently requested PermissionType and loud
- UI PromptDispositions only. Rounded to the nearest 10%.
- </summary>
- </metric>
- <metric name="Stats.LoudPromptsOfType.DismissRate">
- <summary>
- What percentage of prompts from the last 28 days did the user dismiss.
- Aggregated across all origins, currently requested PermissionType and loud
- UI PromptDispositions only. Rounded to the nearest 10%.
- </summary>
- </metric>
- <metric name="Stats.LoudPromptsOfType.GrantRate">
- <summary>
- What percentage of prompts from the last 28 days did the user grant.
- Aggregated across all origins, currently requested PermissionType and loud
- UI PromptDispositions only. Rounded to the nearest 10%.
- </summary>
- </metric>
- <metric name="Stats.LoudPromptsOfType.IgnoreRate">
- <summary>
- What percentage of prompts from the last 28 days did the user ignore.
- Aggregated across all origins, currently requested PermissionType and loud
- UI PromptDispositions only. Rounded to the nearest 10%.
- </summary>
- </metric>
- <metric name="TimeToDecision">
- <summary>
- Time (in milliseconds) taken by the user to make a decision on a
- permission prompt after it was displayed, if at all. Ignoring a prompt
- doesnt count as a decision.
- </summary>
- </metric>
- </event>
- <event name="PermissionUsage">
- <owner>engedy@chromium.org</owner>
- <owner>ravjit@chromium.org</owner>
- <owner>permissions-dev@chromium.org</owner>
- <summary>
- Metrics for usage of capabilities gated behind permission prompts. One event
- is recorded per permission type for each page load that uses that permission
- type.
- </summary>
- <metric name="PermissionType">
- <summary>
- An enum of type ContentSettingsType.
- </summary>
- </metric>
- </event>
- <event name="Plugins.FlashInstance">
- <owner>tommycli@chromium.org</owner>
- <summary>
- Recorded when a Flash object instance is created.
- </summary>
- </event>
- <event name="Popup.Closed">
- <owner>csharrison@chromium.org</owner>
- <owner>jkarlin@chromium.org</owner>
- <summary>
- A popup window was closed.
- </summary>
- <metric name="EngagementTime">
- <summary>
- The time (in ms, rounded down to the nearest power of 2) a popup
- WebContents is visible / foregrounded, until it is closed. Keyed by the
- popup opener's URL (not the URL of the popup).
- </summary>
- </metric>
- <metric name="NumActivationInteractions">
- <summary>
- Integer value representing how many mouse down, touch start user, or raw
- key down interactions the popup had. This is capped at 50.
- </summary>
- </metric>
- <metric name="NumGestureScrollBeginInteractions">
- <summary>
- Integer value representing how many gesture scroll begin user interactions
- the popup had. This is capped at 50.
- </summary>
- </metric>
- <metric name="NumInteractions">
- <summary>
- Integer value representing how many user interactions the popup had. This
- is capped at 100. See IsUserInteractionInputType in web_contents_impl for
- what an interaction is. Currently it is a mouse, scroll begin, touch
- start, or raw key down event.
- </summary>
- </metric>
- <metric name="RedirectCount">
- <summary>
- The number of redirects taken by the pop-up's initial navigation. This
- does not include javascript navigations initiated by the opening document
- for the pop-up.
- </summary>
- </metric>
- <metric name="SafeBrowsingStatus" enum="PopupSafeBrowsingStatus">
- <summary>
- The site's safe browsing status if the pop-up's navigation commits.
- </summary>
- </metric>
- <metric name="Trusted">
- <summary>
- Boolean value representing whether the popup was opened via some trusted
- event (e.g. context menu, ctrl-click, etc).
- </summary>
- </metric>
- <metric name="UserInitiatedClose">
- <summary>
- Boolean value to represent whether the popup was closed by user gesture.
- </summary>
- </metric>
- <metric name="WindowOpenDisposition" enum="WindowOpenDisposition">
- <summary>
- The UI window open disposition used when creating the web contents of the
- pop-up. Set by the browser process when the pop up tracker is created.
- </summary>
- </metric>
- </event>
- <event name="Popup.Page" singular="True">
- <owner>justinmiron@google.com</owner>
- <summary>
- Page level pop-up statistics.
- </summary>
- <metric name="Allowed" enum="Boolean">
- <summary>
- Whether a user has, explicitly, allowed all popups on the last committed
- url of a page. The user's site level popup content setting is queried when
- a page that opened a popup is destroyed. Only emitted when at least one
- popup has been opened and the last committed page url is valid.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="Portal.Activate">
- <owner>lfg@chromium.org</owner>
- <summary>
- A portal was activated. A portal activation enables a seamless transition
- between different pages. See the portals explainer for more details:
- https://github.com/WICG/portals/blob/master/README.md.
- </summary>
- <metric name="PaintTiming.PortalActivationToFirstPaint">
- <summary>
- When this page load happened inside a Portal, this metrics records the
- time in milliseconds between the portal activation and the first paint
- after activation.
- </summary>
- </metric>
- <metric name="PortalActivation">
- <summary>
- Measures the time between LCP and the portal activation. Uses exponential
- bucketing with a spacing of 2, with the units in milliseconds.
- </summary>
- </metric>
- <metric name="PortalActivationBeforeLCP" enum="Boolean">
- <summary>
- Indicates whether the portal activation happened before or after the
- largest contentful paint.
- </summary>
- </metric>
- </event>
- <event name="PostMessage.Incoming.FirstPartyToFirstParty.DifferentBucket">
- <owner>arichiv@chromium.org</owner>
- <owner>miketaylr@chromium.org</owner>
- <summary>
- A top level frame received an incoming postMessage event from another top
- level frame with a different storage key and a different origin.
- </summary>
- <metric name="SourceFrameSourceId">
- <summary>
- The UKM source ID of the postMessage event's source frame, as an integer.
- </summary>
- </metric>
- </event>
- <event name="PostMessage.Incoming.FirstPartyToFirstParty.SameBucket">
- <owner>arichiv@chromium.org</owner>
- <owner>miketaylr@chromium.org</owner>
- <summary>
- A top level frame received an incoming postMessage event from another top
- level frame with the same storage key.
- </summary>
- <metric name="SourceFrameSourceId">
- <summary>
- The UKM source ID of the postMessage event's source frame, as an integer.
- </summary>
- </metric>
- </event>
- <event
- name="PostMessage.Incoming.FirstPartyToThirdParty.DifferentBucket.DifferentOrigin">
- <owner>arichiv@chromium.org</owner>
- <owner>miketaylr@chromium.org</owner>
- <summary>
- A child frame received an incoming postMessage event from a top level frame
- with a different storage key and a different origin.
- </summary>
- <metric name="SourceFrameSourceId">
- <summary>
- The UKM source ID of the postMessage event's source frame, as an integer.
- </summary>
- </metric>
- </event>
- <event
- name="PostMessage.Incoming.FirstPartyToThirdParty.DifferentBucket.SameOrigin">
- <owner>arichiv@chromium.org</owner>
- <owner>miketaylr@chromium.org</owner>
- <summary>
- A child frame received an incoming postMessage event from a top level frame
- with a different storage key and the same origin.
- </summary>
- <metric name="SourceFrameSourceId">
- <summary>
- The UKM source ID of the postMessage event's source frame, as an integer.
- </summary>
- </metric>
- </event>
- <event name="PostMessage.Incoming.Frame">
- <owner>arichiv@chromium.org</owner>
- <owner>miketaylr@chromium.org</owner>
- <summary>
- The frame received an incoming postMessage event. This is recorded only for
- postMessage events sent between frames in the same renderer process.
- </summary>
- <metric name="SourceFrameSourceId">
- <summary>
- The UKM source ID of the postMessage event's source frame, as an integer.
- </summary>
- </metric>
- </event>
- <event name="PostMessage.Incoming.Opaque">
- <owner>arichiv@chromium.org</owner>
- <owner>miketaylr@chromium.org</owner>
- <summary>
- A frame received an incoming postMessage event from another frame where
- either of their origins or top level origins are opaque.
- </summary>
- <metric name="SourceFrameSourceId">
- <summary>
- The UKM source ID of the postMessage event's source frame, as an integer.
- </summary>
- </metric>
- </event>
- <event name="PostMessage.Incoming.Page">
- <owner>arichiv@chromium.org</owner>
- <owner>miketaylr@chromium.org</owner>
- <summary>
- A frame on the page received an incoming postMessage event. This is recorded
- only for postMessage events sent between frames in different renderer
- processes.
- </summary>
- <metric name="SourcePageSourceId">
- <summary>
- The UKM source ID of the postMessage event's source page, as an integer.
- </summary>
- </metric>
- </event>
- <event
- name="PostMessage.Incoming.ThirdPartyToFirstParty.DifferentBucket.DifferentOrigin">
- <owner>arichiv@chromium.org</owner>
- <owner>miketaylr@chromium.org</owner>
- <summary>
- A top level frame received an incoming postMessage event from a child frame
- with a different storage key and a different origin.
- </summary>
- <metric name="SourceFrameSourceId">
- <summary>
- The UKM source ID of the postMessage event's source frame, as an integer.
- </summary>
- </metric>
- </event>
- <event
- name="PostMessage.Incoming.ThirdPartyToFirstParty.DifferentBucket.SameOrigin">
- <owner>arichiv@chromium.org</owner>
- <owner>miketaylr@chromium.org</owner>
- <summary>
- A top level frame received an incoming postMessage event from a child frame
- with a different storage key and the same origin.
- </summary>
- <metric name="SourceFrameSourceId">
- <summary>
- The UKM source ID of the postMessage event's source frame, as an integer.
- </summary>
- </metric>
- </event>
- <event
- name="PostMessage.Incoming.ThirdPartyToThirdParty.DifferentBucket.DifferentOrigin">
- <owner>arichiv@chromium.org</owner>
- <owner>miketaylr@chromium.org</owner>
- <summary>
- A child frame received an incoming postMessage event from another child
- frame with a different storage key and a different origin.
- </summary>
- <metric name="SourceFrameSourceId">
- <summary>
- The UKM source ID of the postMessage event's source frame, as an integer.
- </summary>
- </metric>
- </event>
- <event
- name="PostMessage.Incoming.ThirdPartyToThirdParty.DifferentBucket.SameOrigin">
- <owner>arichiv@chromium.org</owner>
- <owner>miketaylr@chromium.org</owner>
- <summary>
- A child frame received an incoming postMessage event from another child
- frame with a different storage key and the same origin.
- </summary>
- <metric name="SourceFrameSourceId">
- <summary>
- The UKM source ID of the postMessage event's source frame, as an integer.
- </summary>
- </metric>
- </event>
- <event name="PostMessage.Incoming.ThirdPartyToThirdParty.SameBucket">
- <owner>arichiv@chromium.org</owner>
- <owner>miketaylr@chromium.org</owner>
- <summary>
- A child frame received an incoming postMessage event from another child
- frame with the same storage key.
- </summary>
- <metric name="SourceFrameSourceId">
- <summary>
- The UKM source ID of the postMessage event's source frame, as an integer.
- </summary>
- </metric>
- </event>
- <event name="PowerUsageScenariosIntervalData">
- <owner>fdoray@chromium.org</owner>
- <owner>sebmarchand@chromium.org</owner>
- <owner>chrome-catan@google.com</owner>
- <summary>
- Metrics to measure power consumption in key usage scenarios, as well as the
- time spent in each scenario. These metrics are reported for a fixed interval
- of time, the duration of this interval is recorded in the
- IntervalDurationSeconds metric.
- The events aren't tied to a specific URL, a timer independant of any load
- event runs in Chrome and report these events at regular intervals. All the
- metrics associated to this event are for the last interval. The URL attached
- to the event is the one that has been visible for the longest time during
- the interval, the exact visibility duration for this URL during the interval
- is reported in the URLVisibilityTimeSeconds metric.
- e.g., at T-0 an interval ends and this event is emitted, a new interval then
- starts. During the interval the users spends 75% of his time watching a
- fullscreen video on https://foo.com with 10 tabs opened in background. Just
- before the end of the interval the user closes all the tabs but one. An
- event will be emitted for https://foo.com at T+X with the following metrics:
- IntervalDurationSeconds: X in seconds; URLVisibilityTimeSeconds: 0.75 * X in
- seconds; FullscreenVideoSingleMonitorSeconds: 0.75 * X in seconds;
- MaxTabCount: 10; TabClosed: 9; ... (not all metrics are listed here because
- it'd be too long, but in practice all the metrics are reported for each
- interval).
- This is reported on Mac and Windows. See go/chrome_power_use_per_scenario
- for more details.
- </summary>
- <metric name="BatteryDischargeMode" enum="BatteryDischargeMode">
- <summary>
- Battery discharge mode describing whether BatteryDischargeRate could be
- reported or not, and why. Recorded as enum BatteryDischargeMode in
- //tools/metrics/histograms/enums.xml.
- </summary>
- </metric>
- <metric name="BatteryDischargeRate">
- <summary>
- Battery discharge rate per minute, with 1/10000 of full charge resolution,
- example: - Battery capacity = 4000 mAh; - Battery charge at the beginning
- of the interval: 3900 mAh; - Battery charge at the end of the interval:
- 3700 mAh; - Discharge proportion: (3900-3700) / 4000 = 0.05 - Reported
- value: 500.
- </summary>
- </metric>
- <metric name="BrowserShuttingDown" enum="Boolean">
- <summary>
- Indicates if the browser is shutting down when this event is reported.
- </summary>
- </metric>
- <metric name="CPUTimeMs">
- <summary>
- The CPU time spent executing code, across all Chrome processes in the
- interval. This can exceed 100% in multi-thread processes running on
- multi-core systems.
- </summary>
- </metric>
- <metric name="DeviceSleptDuringInterval" enum="Boolean">
- <summary>
- Whether or not the device has been sleeping at any point during the
- interval.
- </summary>
- </metric>
- <metric name="EnergyImpactScore">
- <summary>
- Sum of the energy impact score for all Chrome processes (Mac-only).
- </summary>
- </metric>
- <metric name="FullscreenVideoSingleMonitorSeconds">
- <summary>
- Time spent playing video in fullscreen, single-monitor. In seconds. This
- includes video for any tabs during the interval.
- </summary>
- </metric>
- <metric name="IdleWakeUps">
- <summary>
- Sum of idle-wakeups for all Chrome processes (Mac-only).
- </summary>
- </metric>
- <metric name="IntervalDurationSeconds">
- <summary>
- The interval duration, in seconds.
- </summary>
- </metric>
- <metric name="MainScreenBrightnessPercent">
- <obsolete>
- Removed 02/2022 because it's not actively used.
- </obsolete>
- <summary>
- The brightness of the main screen in percent or -1 if not available.
- Samples have a 20% granularity, e.g. 65% will report as 60%.
- </summary>
- </metric>
- <metric name="MaxTabCount">
- <summary>
- The maximum number of tabs that existed at the same time during the
- interval.
- </summary>
- </metric>
- <metric name="MaxVisibleWindowCount">
- <summary>
- The maximum number of windows that have been visible at the same time.
- </summary>
- </metric>
- <metric name="OriginVisibilityTimeSeconds">
- <summary>
- The visibility time for the origin of the URL associated with this event,
- in seconds. This can differ from URLVisibilityTimeSeconds if there's
- multiple tabs loaded with the same URL that are visible during the
- interval. E.g. if there's one tab loaded with foo.com/a visible for 1
- second during the interval and one loaded with foo.com/b visible for 2
- seconds the report will have URLVisibilityTimeSeconds = 2 seconds and
- OriginVisibilityTimeSeconds = 3 seconds. This can also exceed the interval
- duration (e.g. 2 visibles tab with loaded the same origin during the
- entire interval).
- </summary>
- </metric>
- <metric name="PackageExits">
- <summary>
- Sum of package exits from all Chrome processes (Mac-only).
- </summary>
- </metric>
- <metric name="PlayingAudioSeconds">
- <summary>
- The time spent playing audio in at least one tab, in seconds.
- </summary>
- </metric>
- <metric name="TabClosed">
- <summary>
- The number of tabs that have been closed during the interval.
- </summary>
- </metric>
- <metric name="TimePlayingVideoInVisibleTab">
- <summary>
- The time spent playing video in at least one visible tab, in seconds.
- </summary>
- </metric>
- <metric name="TimeSinceInteractionWithBrowserSeconds">
- <summary>
- The time since the last interaction with the browser when this event gets
- recorded, in seconds.
- </summary>
- </metric>
- <metric name="TimeSinceInteractionWithSystemSeconds">
- <summary>
- The time since the last interaction with the system when this event gets
- recorded, in seconds.
- </summary>
- </metric>
- <metric name="TimeWithOpenWebRTCConnectionSeconds">
- <summary>
- The time spent with at least one opened WebRTC connection, in seconds.
- </summary>
- </metric>
- <metric name="TopLevelNavigationEvents">
- <summary>
- Number of main frame different-document navigations.
- </summary>
- </metric>
- <metric name="UptimeSeconds">
- <summary>
- Elapsed time since Chrome has started, in seconds.
- </summary>
- </metric>
- <metric name="URLVisibilityTimeSeconds">
- <summary>
- The visibility time for the URL associated with this event, in seconds.
- </summary>
- </metric>
- <metric name="UserInteractionCount">
- <summary>
- Number of user interaction (scroll, click or typing) during the interval.
- </summary>
- </metric>
- <metric name="VideoCaptureSeconds">
- <summary>
- The time spent capturing video in at least one tab, in seconds.
- </summary>
- </metric>
- </event>
- <event name="PrefetchProxy" singular="True">
- <owner>curranmax@chromium.org</owner>
- <owner>ryansturm@chromium.org</owner>
- <owner>spelchat@chromium.org</owner>
- <summary>
- Metrics related to the privacy-preserving prefetch proxy.
- </summary>
- <metric name="count_css_js_loaded_cache_before_fcp">
- <obsolete>
- Deprecated March 2022.
- </obsolete>
- <summary>
- The number of CSS or JS files that were loaded from the cache before first
- contentful paint, with a maximum of 10. Always set when this event is
- recorded.
- </summary>
- </metric>
- <metric name="count_css_js_loaded_network_before_fcp">
- <obsolete>
- Deprecated March 2022.
- </obsolete>
- <summary>
- The number of CSS or JS files that were loaded from the network before
- FCP, with a maximum of 10. Always set when this event is recorded.
- </summary>
- </metric>
- <metric name="days_since_last_visit_to_origin">
- <summary>
- The number of days since the user has last visited any page on this
- origin, either during a redirect or a committed page. Records -1 if the
- origin has never been visited before. Metrics for origins that have been
- visited before are capped at 180 then exponentially bucketed into 10
- buckets with values (1,2,3,5,9,15,25,42,70,119). Only set when a query
- result was received from the history service before event recording.
- </summary>
- </metric>
- <metric name="mainpage_request_had_cookies" enum="Boolean">
- <obsolete>
- Replaced by PageLoad.MainFrameResource.RequestHadCookies in M92.
- </obsolete>
- <summary>
- A boolean indicating if any mainpage request in the redirect chain or
- committed request had cookies set on it. Only set when a query result was
- received from the cookie manager before event recording.
- </summary>
- </metric>
- <metric name="ordered_eligible_pages_bitmask">
- <obsolete>
- Deprecated March 2022.
- </obsolete>
- <summary>
- Which links on the Google Search Page were eligible to be prefetched where
- the Nth-LSB is set if the Nth page is eligible.
- </summary>
- </metric>
- <metric name="prefetch_attempted_count">
- <summary>
- The number of pages on the Google Search Result Page that were attempted
- to be prefetched.
- </summary>
- </metric>
- <metric name="prefetch_eligible_count">
- <summary>
- The number of pages on the Google Search Result page that were eligible to
- be prefetched.
- </summary>
- </metric>
- <metric name="prefetch_successful_count">
- <summary>
- The number of pages on the Google Search Result Page that were
- successfully prefetched.
- </summary>
- </metric>
- <metric name="prefetch_usage">
- <obsolete>
- Replaced by PrefetchProxy.AfterSRPClick.SRPClickPrefetchStatus in M84.
- </obsolete>
- <summary>
- This enum records if a cached prefetch page was used, and its probe
- status, when the user navigates off the Google Search Result Page. Not set
- if there was no prefetch. Values: Prefetch used, no probe = 0. Prefetch
- used, successful probe = 1. Prefetch not used, failed probe = 2.
- </summary>
- </metric>
- </event>
- <event name="PrefetchProxy.AfterSRPClick" singular="True">
- <owner>curranmax@chromium.org</owner>
- <owner>ryansturm@chromium.org</owner>
- <owner>spelchat@chromium.org</owner>
- <summary>
- Metrics related to the privacy-preserving prefetch proxy on the page load
- after the SRP. Recorded only for eligible users on the first mainframe
- user-initiated page load immediately after a Google Search Result Page (SRP)
- which Chrome parsed and may have prefetched links.
- </summary>
- <metric name="ClickedLinkSRPPosition">
- <summary>
- When a user clicks on a Google SRP link, this int records which position
- the clicked link was in. Recorded only when the user navigates to a Google
- SRP link.
- </summary>
- </metric>
- <metric name="ProbeLatencyMs">
- <summary>
- How long the network probe blocked commit in milliseconds. Recorded only
- when a probe was required.
- </summary>
- </metric>
- <metric name="SRPClickPrefetchStatus" enum="PrefetchProxyPrefetchStatus">
- <summary>
- The outcome of the prefetch eligibility check and possible attempt to
- prefetch the resource. The prefetched url is always the committed URL of
- the page. See |PrefetchProxyPrefetchStatus| for a mapping of enum values
- and their meanings.
- </summary>
- </metric>
- <metric name="SRPPrefetchEligibleCount">
- <summary>
- The number of links from the SRP page (the previous page load) that were
- eligible for prefetch. Always set when this event is recorded.
- </summary>
- </metric>
- </event>
- <event name="PrefetchProxy.PrefetchedResource">
- <owner>curranmax@chromium.org</owner>
- <owner>ryansturm@chromium.org</owner>
- <owner>spelchat@chromium.org</owner>
- <summary>
- Each event corresponds to a single resource, either mainframe or
- subresource, that was prefetched during an Isolated Prerender. Logged one or
- many times on a Google Search Result Page for eligible users.
- </summary>
- <metric name="DataLength">
- <summary>
- The bucketed number of bytes that transited the network to prefetch this
- resource. Only set when the resource was prefetched.
- </summary>
- </metric>
- <metric name="FetchDurationMS">
- <summary>
- The number of milliseconds that the prefetch took from start to
- completion. Only set when the resource was prefetched.
- </summary>
- </metric>
- <metric name="ISPFilteringStatus" enum="IsolatedPrerenderISPFilteringStatus">
- <summary>
- How ISP filtering interacted with the mainframe resource if it was
- navigated to. Only set when LinkClicked is true.
- </summary>
- </metric>
- <metric name="LinkClicked" enum="Boolean">
- <summary>
- Whether the mainframe was navigated to. Always set when the event is
- recorded, even on subresources which take the value from their
- corresponding mainframe.
- </summary>
- </metric>
- <metric name="LinkPosition">
- <summary>
- The location in the original navigation prediction of where the mainframe
- url was. Always set when the event is recorded, even on subresources which
- take the value from their corresponding mainframe.
- </summary>
- </metric>
- <metric name="NavigationStartToFetchStartMS">
- <summary>
- The number of milliseconds between the start of the navigation and the
- start of the prefetch request. Only set when the resource was attempted to
- be prefetched.
- </summary>
- </metric>
- <metric name="ResourceType" enum="IsolatedPrerenderPrefetchResourceType">
- <summary>
- The type of resource that was prefetched, either mainframe or subresource.
- Always set when the event is recorded.
- </summary>
- </metric>
- <metric name="Status" enum="PrefetchProxyPrefetchStatus">
- <summary>
- The outcome of the prefetch eligibility check and possible attempt to
- prefetch the resource and reuse it. See |PrefetchProxyPrefetchStatus| for
- a mapping of enum values and their meanings. Always set when the event is
- recorded.
- </summary>
- </metric>
- </event>
- <event name="Preloading.AnchorInteraction">
- <owner>jacobstanley@google.com</owner>
- <owner>curranmax@chromium.org</owner>
- <owner>chrome-brapp-loading@google.com</owner>
- <summary>
- Logged once for each preconnection request sent to the browser in resopnse
- to the user interacting with an anchor element. Associated with the Source
- ID of the page triggering the preconnection.
- </summary>
- <metric name="AnchorElementPreloaderType" enum="AnchorElementPreloaderType">
- <summary>
- One event for each preload operation that was triggered on the current
- page.
- </summary>
- </metric>
- </event>
- <event name="Preloading.Attempt">
- <owner>sreejakshetty@chromium.org</owner>
- <owner>spelchat@chromium.org</owner>
- <owner>chrome-brapp-loading@google.com</owner>
- <summary>
- This event is logged for each preloading attempt i.e., for preloading
- features like Preresolve, Preconnect, Prerender, Prefetch, and others when
- the user navigates or when the WebContents is being destroyed.
- Associated with the Source ID of the page user navigates to. Contains
- information about the type of attempt, its eligibility, triggering outcome,
- failure reason and whether the attempt was triggered accurately or not.
- </summary>
- <metric name="AccurateTriggering" enum="Boolean">
- <summary>
- Whether the preloading operation was triggered accurately for the
- predicted URL (regardless of the eligibility, failures, etc.). Set to true
- if the user navigated to the predicted URL.
- </summary>
- </metric>
- <metric name="Eligibility">
- <summary>
- Eligibility status of preloading operation for the prediction. Values are
- from the Chrome enum content::PreloadingEligibility.
- </summary>
- </metric>
- <metric name="FailureReason">
- <summary>
- Reason why the preloading operation failed. Values are from the enum
- specific to the preloading type.
- </summary>
- </metric>
- <metric name="HoldbackStatus">
- <summary>
- The outcome of the holdback check. This is not part of eligibility status
- to make clarify that this check needs to happen after we are done
- verifying the eligibility of a preloading attempt. In general, eligibility
- checks can be reordered, but the holdback check always needs to come after
- verifying that the preloading attempt was eligible.
- </summary>
- </metric>
- <metric name="PreloadingPredictor">
- <summary>
- The type of preloading predictor which made the prediction. Values are
- from the Chrome enum content::PreloadingPredictor or
- ChromePreloadingPredictor.
- </summary>
- </metric>
- <metric name="PreloadingType">
- <summary>
- The type of preloading operation used for the preloading attempt. Values
- are from the Chrome enum content::PreloadingType.
- </summary>
- </metric>
- <metric name="TriggeringOutcome">
- <summary>
- Specifies whether the preloading attempt triggered and was used for the
- next navigation. Values are from the Chrome enum
- content::PreloadingTriggeringOutcome.
- </summary>
- </metric>
- </event>
- <event name="Preloading.Attempt.PreviousPrimaryPage">
- <owner>sreejakshetty@chromium.org</owner>
- <owner>spelchat@chromium.org</owner>
- <owner>chrome-brapp-loading@google.com</owner>
- <summary>
- This is same as Preloading.Attempt but UKM is associated with the primary
- triggering page (if exists) and logged when the user navigates away or when
- the WebContents is being destroyed.
- Associated with the Source ID of the WebContents primary page where the
- preloading attempt is triggered (user navigates from). All the metrics data
- are similar to Preloading.Attempt and please see the comments for more
- details.
- </summary>
- <metric name="AccurateTriggering" enum="Boolean">
- <summary>
- Whether the preloading operation was triggered accurately (regardless of
- the eligibility, holdback, failures, etc.).
- Set to true if the user navigated to the predicted URL.
- </summary>
- </metric>
- <metric name="Eligibility">
- <summary>
- Eligibility status of preloading operation for the prediction.
- </summary>
- </metric>
- <metric name="FailureReason">
- <summary>
- Reason why the preloading operation failed.
- </summary>
- </metric>
- <metric name="HoldbackStatus">
- <summary>
- The outcome of the holdback check. This is not part of eligibility status
- to make clarify that this check needs to happen after we are done
- verifying the eligibility of a preloading attempt. In general, eligibility
- checks can be reordered, but the holdback check always needs to come after
- verifying that the preloading attempt was eligible.
- </summary>
- </metric>
- <metric name="PreloadingPredictor">
- <summary>
- The type of predictor that made the prediction. Values are from either
- content::PreloadingPredictor or ChromePreloadingPredictor.
- </summary>
- </metric>
- <metric name="PreloadingType">
- <summary>
- The type of preloading operation used for the preloading attempt.
- </summary>
- </metric>
- <metric name="TriggeringOutcome">
- <summary>
- Specifies whether the preloading triggered and was used for the next
- navigation.
- </summary>
- </metric>
- </event>
- <event name="Preloading.Prediction">
- <owner>sreejakshetty@chromium.org</owner>
- <owner>spelchat@chromium.org</owner>
- <owner>chrome-brapp-loading@google.com</owner>
- <summary>
- This event is logged for each preloading prediction and metrics related to
- the preloading predictors like OmniboxDirectURLInput, Speculation Rules and
- others when the navigation is finished or when the WebContents is being
- destroyed.
- Associated with the Source ID of the page user navigates to. Contains
- information about the type of the predictor, its confidence value and
- whether the prediction ended up being correct.
- </summary>
- <metric name="AccuratePrediction" enum="Boolean">
- <summary>
- Whether the user navigated to the predicted URL.
- </summary>
- </metric>
- <metric name="Confidence">
- <summary>
- The confidence percentage of predictor's correct prediction for
- preloading.
- </summary>
- </metric>
- <metric name="PreloadingPredictor">
- <summary>
- The type of preloading predictor that made the prediction. Values are from
- content::PreloadingPredictor or ChromePreloadingPredictor.
- </summary>
- </metric>
- </event>
- <event name="Preloading.Prediction.PreviousPrimaryPage">
- <owner>sreejakshetty@chromium.org</owner>
- <owner>spelchat@chromium.org</owner>
- <owner>chrome-brapp-loading@google.com</owner>
- <summary>
- This is the same as Preloading.Prediction but UKM is associated with the
- WebContents primary triggering page (if exists) and logged when the user
- navigates away or when the WebContents is being destroyed.
- Associated with the Source ID of the primary page where the preloading
- prediction is triggered (user navigates from). All the metrics data are
- similar to Preloading.Prediction and please see the comments for more
- details.
- </summary>
- <metric name="AccuratePrediction" enum="Boolean">
- <summary>
- Whether the user navigated to the predicted URL.
- </summary>
- </metric>
- <metric name="Confidence">
- <summary>
- The confidence percentage of predictor's correct prediction for
- preloading.
- </summary>
- </metric>
- <metric name="PreloadingPredictor">
- <summary>
- The type of preloading predictor which made the preloading prediction.
- Values are from content::PreloadingPredictor or ChromePreloadingPredictor.
- </summary>
- </metric>
- </event>
- <event name="PrerenderPageLoad" singular="True">
- <owner>ksakamoto@chromium.org</owner>
- <owner>nhiroki@chromium.org</owner>
- <owner>asamidoi@chromium.org</owner>
- <summary>
- Metrics related to Prerender2
- (https://docs.google.com/document/d/1P2VKCLpmnNm_cRAjUeE-bqLL0bslL_zKqiNeCzNom_w/edit?usp=sharing).
- </summary>
- <metric name="FinalStatus" enum="PrerenderHostFinalStatus">
- <summary>
- A status of a prerendering attempt. Recorded as enum
- PrerenderHostFinalStatus in //tools/metrics/histograms/enums.xml.
- This is replicated as Prerender.Experimental.PrerenderHostFinalStatus.* in
- UMA.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="InteractiveTiming.FirstInputDelay4">
- <summary>
- The duration between the hardware timestamp and the start of event
- processing on the main thread for the first meaningful input. Recorded on
- the prerender activation.
- </summary>
- </metric>
- <metric
- name="LayoutInstability.MaxCumulativeShiftScore.SessionWindow.Gap1000ms.Max5000ms">
- <summary>
- Measures the maximum cumulative layout shift (bit.ly/cls-explainer) that
- has occurred on the prerendered page that is successfully activated in a
- session window. The gap between two consecutive shifts in a window is not
- bigger than 1000ms and the maximum window size is 5000ms. This metric's
- integral value is 100x the fractional cumulative layout shift score
- described in the explainer.
- </summary>
- </metric>
- <metric name="Timing.ActivationToFirstContentfulPaint">
- <summary>
- The duration in milliseconds from time of activation navigation start to
- the time when the page first paints content. A contentful paint includes a
- paint of text, image, SVG, or canvas.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Timing.ActivationToLargestContentfulPaint">
- <summary>
- The duration in milliseconds from time of activation navigation start to
- the time when the page first paints the largest content (text or image)
- within viewport, across all frames.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Timing.NavigationToActivation">
- <summary>
- The duration in milliseconds from the start of initial prerendering
- navigation to the start of activation navigation. This corresponds to the
- activationStart attribute of PerformanceNavigationTiming.
- </summary>
- </metric>
- <metric name="TriggeredPrerender" enum="Boolean">
- <summary>
- A boolean that is set to true if the page triggered prerendering.
- Unlike other PrerenderPageLoad metrics, this is recorded not for
- prerendered page loads, but for page loads that initiated prerender.
- </summary>
- </metric>
- <metric name="WasPrerendered" enum="Boolean">
- <summary>
- A boolean that is set to true if the page was prerendered and later
- activated. Cancelled prerender page loads are not logged.
- </summary>
- </metric>
- </event>
- <event name="Presentation.StartResult">
- <owner>muyaoxu@google.com</owner>
- <owner>openscreen-eng@google.com</owner>
- <summary>
- Records when users start a Presentation and receive a response from the
- receiver. Android only. The following failures are not recorded because they
- don't represent an actual error: (1)
- PresentationErrorType::PRESENTATION_REQUEST_CANCELLED This error is created
- when users close the dialog without starting a Presentation. (2)
- PresentationErrorType::NO_PRESENTATION_FOUND This error might happen when a
- website implemnting CastSDK try to join a route every time the page loads.
- </summary>
- <metric name="PresentationRequest" enum="Boolean">
- <summary>
- Records whether the users' request to start a Presentation with a
- "cast:" presentation URL succeed.
- </summary>
- </metric>
- <metric name="RemotePlayback" enum="Boolean">
- <summary>
- Records whether the users' request to start a Presentation through
- RemotePlayback succeed.
- </summary>
- </metric>
- </event>
- <event name="Previews" singular="True">
- <obsolete>
- Obsoleted 01/2022.
- </obsolete>
- <owner>ryansturm@chromium.org</owner>
- <summary>
- Previews related metrics associated with a page load. See
- //components/previews/.
- </summary>
- <metric name="client_lofi">
- <obsolete>
- Deprecated June 2019
- </obsolete>
- <summary>
- Set to 1 when a user is shown a client lo-fi image in a page load.
- </summary>
- </metric>
- <metric name="coin_flip_result">
- <obsolete>
- Replaced by the PreviewsCoinFlip event in M78.
- </obsolete>
- <summary>
- Set to 0 if there was no attempted preview for this page load, or the coin
- flip holdback is disabled in this session. Set to 1 if a preview was
- attempted and was allowed to proceed by the coin flip. Set to 2 if a
- preview would have been attempted but was held back by the coin flip. Note
- that a non-zero value in this field implies previews_likely.
- </summary>
- </metric>
- <metric name="defer_all_script" enum="Boolean">
- <obsolete>
- Deprecated Feb 2021.
- </obsolete>
- <summary>
- Set to 1 when a user is shown a DeferAllScript preview on a page load.
- </summary>
- </metric>
- <metric name="defer_all_script_eligibility_reason"
- enum="PreviewsEligibilityReason">
- <obsolete>
- Deprecated Feb 2021.
- </obsolete>
- <summary>
- Set to the value of the last known reason a DeferAllScript preview was not
- eligible on this page load. The value of this metric corresponds to the
- PreviewsEligibilityReason enum. This metric is only set when it is
- non-zero.
- </summary>
- </metric>
- <metric name="lite_page">
- <summary>
- Set to 1 when a user is shown a lite page in page load.
- </summary>
- </metric>
- <metric name="lite_page_redirect">
- <obsolete>
- Removed in M84.
- </obsolete>
- <summary>
- Set to 1 when a user is shown a lite page redirect in page load.
- </summary>
- </metric>
- <metric name="lite_page_redirect_eligibility_reason">
- <obsolete>
- Removed in M84.
- </obsolete>
- <summary>
- Set to the value of the last known reason a Lite Page Redirect preview was
- not eligible on this page load. The value of this metric corresponds to
- the PreviewsEligibilityReason enum. This metric is only set when it is
- non-zero.
- </summary>
- </metric>
- <metric name="navigation_restart_penalty">
- <obsolete>
- Feature removed in M79.
- </obsolete>
- <summary>
- Set to the number of milliseconds spent restarting navigations when a Lite
- Page Redirect preview is attempted, whether or not it is committed, during
- the page load.
- </summary>
- </metric>
- <metric name="noscript">
- <obsolete>
- Deprecated December 2020.
- </obsolete>
- <summary>
- Set to 1 when a user is shown a NoScript preview on a page load.
- </summary>
- </metric>
- <metric name="noscript_eligibility_reason">
- <obsolete>
- Deprecated December 2020.
- </obsolete>
- <summary>
- Set to the value of the last known reason a NoScript preview was not
- eligible on this page load. The value of this metric corresponds to the
- PreviewsEligibilityReason enum. This metric is only set when it is
- non-zero.
- </summary>
- </metric>
- <metric name="offline_eligibility_reason">
- <obsolete>
- Deprecated December 2020.
- </obsolete>
- <summary>
- Set to the value of the last known reason an Offline preview was not
- eligible on this page load. The value of this metric corresponds to the
- PreviewsEligibilityReason enum. This metric is only set when it is
- non-zero.
- </summary>
- </metric>
- <metric name="offline_preview">
- <obsolete>
- Deprecated December 2020.
- </obsolete>
- <summary>
- Set to 1 when a user is shown an offline preview page in page load.
- </summary>
- </metric>
- <metric name="opt_out">
- <obsolete>
- Deprecated Feb 2021.
- </obsolete>
- <summary>
- Set to 1 when a user clicks "Show Original" on a preview page
- load using the infobar. Set to 2 when a user opts out of a Preview using
- the omnibox.
- </summary>
- </metric>
- <metric name="origin_opt_out">
- <obsolete>
- Deprecated Feb 2021.
- </obsolete>
- <summary>
- Set to 1 when previews were enabled but no preview was attempted because
- the origin provided a Cache-Control:no-transform header in the main frame
- response. This is a directive from the origin to not perform any
- transformation so in the context of the Previews feature, it is an opt-out
- by the origin site (rather than the user).
- </summary>
- </metric>
- <metric name="previews_likely">
- <obsolete>
- Deprecated Feb 2021.
- </obsolete>
- <summary>
- Set to 1 when a preview will be attempted for this page load. Otherwise
- this is not set. This does not imply that a preview will be committed,
- only that one will be attempted. This is set to 1 even if this page load
- is impacted by the coin flip holdback.
- </summary>
- </metric>
- <metric name="proxy_lite_page_eligibility_reason">
- <obsolete>
- Deprecated Feb 2021.
- </obsolete>
- <summary>
- Set to the value of the last known reason a Data Reduction Proxy Lite Page
- preview was not eligible on this page load. The value of this metric
- corresponds to the PreviewsEligibilityReason enum. This metric is only set
- when it is non-zero.
- </summary>
- </metric>
- <metric name="resource_loading_hints">
- <obsolete>
- Deprecated December 2020.
- </obsolete>
- <summary>
- Set to 1 when a user is shown a resource loading hints based preview on a
- page load.
- </summary>
- </metric>
- <metric name="resource_loading_hints_eligibility_reason">
- <obsolete>
- Deprecated December 2020.
- </obsolete>
- <summary>
- Set to the value of the last known reason a Resource Loading Hints preview
- was not eligible on this page load. The value of this metric corresponds
- to the PreviewsEligibilityReason enum. This metric is only set when it is
- non-zero.
- </summary>
- </metric>
- <metric name="save_data_enabled">
- <summary>
- Set to 1 if the data saver feature was enabled in Chrome at the time of
- the page commit.
- </summary>
- </metric>
- <metric name="server_lofi">
- <obsolete>
- Deprecated June 2019
- </obsolete>
- <summary>
- Set to 1 when a user is shown a server lo-fi image in a page load.
- </summary>
- </metric>
- </event>
- <event name="PreviewsCoinFlip" singular="True">
- <obsolete>
- Deprecated Feb 2021.
- </obsolete>
- <owner>robertogden@chromium.org</owner>
- <summary>
- Coin flip experiment metrics associated with a Preview page load. See
- //components/previews/. This is recorded as a separate event from Previews
- so that it can be recorded earlier than commit which happens in some cases.
- </summary>
- <metric name="coin_flip_result" enum="PreviewsCoinFlipResult">
- <obsolete>
- Deprecated Feb 2021.
- </obsolete>
- <summary>
- Set to 0 if there was no attempted preview for this page load, or the coin
- flip holdback is disabled in this session. Set to 1 if a preview was
- attempted and was allowed to proceed by the coin flip. Set to 2 if a
- preview would have been attempted but was held back by the coin flip. Note
- that a non-zero value in this field implies previews_likely.
- </summary>
- </metric>
- </event>
- <event name="PreviewsDeferAllScript" singular="True">
- <obsolete>
- Deprecated Feb 2021.
- </obsolete>
- <owner>dougarnett@chromium.org</owner>
- <summary>
- Metrics associated with the intervention of deferring the execution of
- synchronous script (typically due to a DeferAllScript Preview). This is
- recorded when the HTML parsing of a mainframe has completed.
- </summary>
- <metric name="force_deferred_scripts_mainframe">
- <obsolete>
- Deprecated Feb 2021.
- </obsolete>
- <summary>
- The total number of mainframe scripts (inline and external) whose
- execution was force deferred (i.e., that otherwise would have been render
- blocking).
- </summary>
- </metric>
- <metric name="force_deferred_scripts_mainframe_external">
- <obsolete>
- Deprecated Feb 2021.
- </obsolete>
- <summary>
- The total number of mainframe external scripts whose execution was force
- deferred (i.e., that otherwise would have been render blocking).
- </summary>
- </metric>
- </event>
- <event name="PreviewsResourceLoadingHints" singular="True">
- <obsolete>
- Deprecated Feb 2021.
- </obsolete>
- <owner>jegray@chromium.org</owner>
- <summary>
- Metrics associated with loading a resource loading hints based preview. This
- is recorded when the URL's document finishes loading. See
- //components/previews/.
- </summary>
- <metric name="blocked_high_priority">
- <summary>
- The number of high priority resource requests that were blocked by the
- resource loading hints based preview while the URL's document was loading.
- </summary>
- </metric>
- <metric name="blocked_low_priority">
- <summary>
- The number of low priority resource requests that were blocked by the
- resource loading hints based preview while the URL's document was loading.
- </summary>
- </metric>
- <metric name="blocked_medium_priority">
- <summary>
- The number of medium priority resource requests that were blocked by the
- resource loading hints based preview while the URL's document was loading.
- </summary>
- </metric>
- <metric name="blocked_very_high_priority">
- <summary>
- The number of very high priority resource requests that were blocked by
- the resource loading hints based preview while the URL's document was
- loading.
- </summary>
- </metric>
- <metric name="blocked_very_low_priority">
- <summary>
- The number of very low priority resource requests that were blocked by the
- resource loading hints based preview while the URL's document was loading.
- </summary>
- </metric>
- <metric name="patterns_to_block_total">
- <summary>
- The total number of patterns to block included in the resource loading
- hints based preview.
- </summary>
- </metric>
- <metric name="patterns_to_block_used">
- <summary>
- The number of patterns that blocked at least one resource request in the
- resource loading hints based preview while the URL's document was loading.
- </summary>
- </metric>
- </event>
- <event name="PublicImageCompressionDataUse">
- <obsolete>
- Obsoleted 01/2022.
- </obsolete>
- <owner>rajendrant@chromium.org</owner>
- <owner>mcrouse@chromium.org</owner>
- <summary>
- Records coverage metrics for https image compression. The network data use
- of images is recorded with breakdown of whether the image was compressible
- by redirecting to optimized version, or if not the reason for its
- ineligblity is recorded. The bytes are rounded down to the exponential
- bucket with factor of 1.3.
- </summary>
- <metric name="CompressibleImageBytes">
- <summary>
- Total image bytes that can be compressed, by redirecting to optimized
- versions to save data.
- </summary>
- </metric>
- <metric name="IneligibleImageHintsUnavailableAndMissingInHintsBytes">
- <summary>
- Total bytes of images that were ineligible to be compressed due to the
- image hint list was not retrieved in time before the image fetch started,
- and the image URL was not in the hint list as well, which finished
- fetching later.
- </summary>
- </metric>
- <metric name="IneligibleImageHintsUnavailableButCompressibleBytes">
- <summary>
- Total bytes of images that were ineligible to be compressed due to the
- image hint list was not retrieved in time before the image fetch started,
- but the image URL was found in the hint list, which finished fetching
- later.
- </summary>
- </metric>
- <metric name="IneligibleImageHintsUnavailableBytes">
- <summary>
- Total bytes of images that were ineligible to be compressed due to the
- image hint list was not retrieved within within certain time limit of
- navigation start.
- </summary>
- </metric>
- <metric name="IneligibleMissingInImageHintsBytes">
- <summary>
- Total bytes of images that were ineligible to be compressed due to the
- image URL not exist in the image hint list.
- </summary>
- </metric>
- <metric name="IneligibleOtherImageBytes">
- <summary>
- Total bytes of images that were ineligible to be compressed due to other
- reasons not listed here, such as subframe images, non img element,
- javascript initiated image, etc.
- </summary>
- </metric>
- </event>
- <event name="PublicImageCompressionImageLoad">
- <obsolete>
- Obsoleted Jan 2022.
- </obsolete>
- <owner>rajendrant@chromium.org</owner>
- <owner>mcrouse@chromium.org</owner>
- <summary>
- Records image loading and network data use metrics for https image
- compression. Recorded when an image request completes with successful
- compression or fails and fetches original image. The bytes are rounded down
- to the exponential bucket with factor of 1.3.
- </summary>
- <metric name="CompressionPercentage">
- <summary>
- The compression percent of this image recorded if the image has been
- compressed: (1-compressed_bytes/original_bytes)*100%
- </summary>
- </metric>
- <metric name="NavigationToRequestSent">
- <summary>
- The duration in milliseconds from time of navigation start to the time the
- image request was sent to the origin or compression server.
- </summary>
- </metric>
- <metric name="NavigationToRequestStart">
- <summary>
- The duration in milliseconds from time of navigation start to the time the
- image request started.
- </summary>
- </metric>
- <metric name="NavigationToResponseReceived">
- <summary>
- The duration in milliseconds from time of navigation start to the time the
- image response headers were received.
- </summary>
- </metric>
- <metric name="OriginalBytes">
- <summary>
- The original size of the image before compression. For compressed images
- this is the original size retrieved from response headers. For
- non-compressed images this is the network bytes.
- </summary>
- </metric>
- <metric name="RedirectResult" enum="SubresourceRedirectRedirectResult">
- <summary>
- Enumerates the different results possible for subresource redirection,
- such as redirectable or different reasons of ineligibility.
- </summary>
- </metric>
- <metric name="RobotsRulesFetchLatency">
- <summary>
- The duration in milliseconds to fetch the robots rules. Recorded for each
- image that goes through the robots rules check.
- </summary>
- </metric>
- </event>
- <event name="PWA.Visit" singular="True">
- <owner>yfriedman@chromium.org</owner>
- <owner>hartmanng@chromium.org</owner>
- <owner>pkotwicz@chromium.org</owner>
- <summary>
- PWA usage metrics recorded during a user's interaction with the site.
- </summary>
- <metric name="LaunchSource" enum="LaunchFromHomeScreenSource">
- <summary>
- Launch source of the WebAPK (tap from homescreen, WebShareTarget,
- deeplink, etc).
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="WebAPKableSiteVisit" enum="Boolean">
- <summary>
- Recorded every time a non-installed "WebAPKable" site is
- visited.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="ReaderModeActivated" singular="True">
- <owner>gilmanmh@google.com</owner>
- <owner>kjbooker@google.com</owner>
- <owner>dtseng@chromium.org</owner>
- <summary>
- Recorded after a user activates Reader Mode for a given page.
- </summary>
- <metric name="ActivatedViaOmnibox" enum="Boolean">
- <summary>
- Whether the user activated Reader Mode via the omnibox badge.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="ReaderModeReceivedDistillability">
- <owner>gilmanmh@google.com</owner>
- <owner>kjbooker@google.com</owner>
- <owner>dtseng@chromium.org</owner>
- <summary>
- Recorded when the Reader Mode badge receives a result from the
- distillability service.
- </summary>
- <metric name="IsPageDistillable" enum="Boolean">
- <summary>
- Whether the distillability service determined the page to be distillable,
- i.e. likely to render well in Reader Mode.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="RendererSchedulerTask">
- <owner>altimin@chromium.org</owner>
- <summary>
- Sampled task from the renderer main thread. Sample rate is controlled
- dynamically. See
- blink::scheduler::MainThreadSchedulerImpl::ShouldRecordTaskUkm.
- </summary>
- <metric name="FrameStatus">
- <summary>
- Frame status of the frame associated with the context of this task. See
- blink::scheduler::FrameStatus for the values of this enum.
- </summary>
- </metric>
- <metric name="IsOOPIF">
- <summary>
- Whether the frame which the task is associated with is an out-of-process
- iframe. Boolean encoded as an integer (0/1).
- </summary>
- </metric>
- <metric name="PageSchedulers">
- <summary>
- Number of page schedulers in this process. If the value equals one, global
- per-process tasks can be attributed to the URL.
- </summary>
- </metric>
- <metric name="QueueType">
- <summary>
- Type of the task queue which this task was posted to. See
- blink::scheduler::MainThreadTaskQueue::TaskType for the values of this
- enum.
- </summary>
- </metric>
- <metric name="RendererAudible">
- <summary>
- Whether renderer was playing audio when this task was completed. Boolean,
- encoded as an integer (0/1).
- </summary>
- </metric>
- <metric name="RendererBackgrounded">
- <summary>
- Whether renderer was backgrounded when this task was completed. Boolean,
- encoded as an integer (0/1).
- </summary>
- </metric>
- <metric name="RendererHidden">
- <summary>
- Whether renderer was hidden when this task was completed. Boolean, encoded
- as an integer (0/1).
- </summary>
- </metric>
- <metric name="SecondsSinceBackgrounded">
- <summary>
- Seconds since the renderer was backgrounded, recorded when the task was
- completed. Only set if the renderer is backgrounded.
- </summary>
- </metric>
- <metric name="TaskCPUDuration">
- <summary>
- CPU duration of this task in microseconds.
- </summary>
- </metric>
- <metric name="TaskDuration">
- <summary>
- Duration of this task in microseconds.
- </summary>
- </metric>
- <metric name="TaskType">
- <summary>
- blink::TaskType for the current task.
- </summary>
- </metric>
- <metric name="ThreadType">
- <summary>
- blink::ThreadType for the thread the current task was executed on.
- </summary>
- </metric>
- <metric name="UseCase">
- <summary>
- MainThreadSchedulerImpl's UseCase when this task was completed. See
- blink::scheduler::UseCase for the values of this enum.
- </summary>
- </metric>
- <metric name="Version">
- <summary>
- The version of this metric, which is used to track the actual set of
- values present across different builds and channels. Hardcoded into the
- binary and incremented each time a new field is added or existing is
- changed. Integer.
- </summary>
- </metric>
- </event>
- <event name="RenderViewContextMenu.Used">
- <owner>juanmojica@google.com</owner>
- <owner>benwgold@google.com</owner>
- <summary>
- Metric recorded when a context menu item is selected. This is currently only
- recorded for Lens context menu items.
- </summary>
- <metric name="SelectedMenuItem" enum="RenderViewContextMenuItem">
- <summary>
- The menu item selected by the user on the context menu.
- </summary>
- </metric>
- </event>
- <event name="Responsiveness.UserInteraction">
- <owner>mmocny@chromium.org</owner>
- <owner>sullivan@chromium.org</owner>
- <owner>speed-metrics-dev@chromium.org</owner>
- <summary>
- Metrics that are associated with user interactions and recorded when users
- interact with web pages. Currently we are interested in keyboard, tap, click
- and drag. A user interaction often encompasses multiple input events. For
- keyboard interactions, we only care about keydown and keyup. For tap, click
- and drag, we only measure pointerdown, pointerup and click.
- </summary>
- <metric name="InteractionType" enum="UserInteractionType">
- <summary>
- The type of the user interaction that triggered input event sequence, not
- the input event type. It can be keyboard, tap, click or drag.
- </summary>
- </metric>
- <metric name="MaxEventDuration">
- <summary>
- The longest input event duration within the user interaction. The unit of
- duration is ms. For example, if a user pressed a key, we can get a keydown
- and a keyup. If the duration(keydown) > duration(keyup), the value of
- this metric will be duration(keydown).
- </summary>
- </metric>
- <metric name="TotalEventDuration">
- <summary>
- The sum of input event durations within the user interaction without
- double counting the overlap. The unit of duration is ms. For example, if a
- user pressed a key, we can get a keydown and a keyup. The value of this
- metric will be duration(keydown) + duration(keyup) -
- duration(intersection(keydown, keyup)).
- </summary>
- </metric>
- </event>
- <event name="ResponsivenessMeasurement">
- <owner>npm@chromium.org</owner>
- <owner>tdresser@chromium.org</owner>
- <summary>
- Responsiveness metrics recorded once every 5 seconds.
- </summary>
- <metric name="ExpectedTaskQueueingDuration">
- <obsolete>
- Removed June 2020.
- </obsolete>
- <summary>
- Duration in MS for expected task queueing duration. The metric reflects
- the responsiveness of a tab. A lower value means the tab will respond to
- inputs faster. This metric is equal to
- RendererScheduler.ExpectedTaskQueueingDuration of the main frame process.
- </summary>
- </metric>
- </event>
- <event name="SameSiteDifferentSchemeRequest">
- <owner>bingler@chromium.org</owner>
- <metric name="SameSiteContextWithSchemes" enum="SameSiteCookieContext">
- <obsolete>
- Removed Apr 2020 as this metric doesn't capture the correct information.
- https://crbug.com/1066231
- </obsolete>
- <summary>
- An enum that records the type of same-site context if a cookie marked with
- SameSite=Lax or SameSite=Strict is sent across schemes on a request. E.x.:
- An http site making a request to an https site.
- </summary>
- </metric>
- </event>
- <event name="SameSiteDifferentSchemeResponse">
- <owner>bingler@chromium.org</owner>
- <metric name="SameSiteContextWithSchemes" enum="SameSiteCookieContext">
- <obsolete>
- Removed Apr 2020 as this metric doesn't capture the correct information.
- https://crbug.com/1066231
- </obsolete>
- <summary>
- An enum that records the type of same-site context if a cookie marked with
- SameSite=Lax or SameSite=Strict is set across schemes on a response. E.x.:
- An http site returning a response to an https site.
- </summary>
- </metric>
- </event>
- <event name="SchemefulSameSiteContextDowngrade">
- <owner>bingler@chromium.org</owner>
- <metric name="RequestPerCookie"
- enum="SameSiteCookieContextBreakingDowngradeWithSecureness">
- <summary>
- An enum which records the type of schemeful same-site downgrade applied to
- a cookie which is being sent on a request along with the secureness of the
- origin the cookie is attempting to be sent to. This is recorded once per
- cookie when the cookie is included in the request or if the cookie
- excluded due to insufficent same-site context only. Cookies that meet the
- above conditions but without a downgrade warning are not recorded.
- </summary>
- </metric>
- <metric name="ResponsePerCookie"
- enum="SameSiteCookieContextBreakingDowngradeWithSecureness">
- <summary>
- An enum which records the type of schemeful same-site downgrade applied to
- a cookie which is being set by a response along with the secureness of the
- origin that is attempting to set the cookie. This is recorded once per
- cookie when the cookie is allowed to be set or if the cookie is ignored
- due to insufficent same-site context only. Cookies that meet the above
- conditions but without a downgrade warning are not recorded.
- </summary>
- </metric>
- </event>
- <event name="ScreenBrightness">
- <owner>pdyson@chromium.org</owner>
- <summary>
- Collects metrics periodically and on screen brightness change.
- </summary>
- <metric name="BatteryPercent">
- <summary>
- Percentage of battery, rounded down to a multiple of 5%, i.e. [0, 5%) is
- mapped to 0, [5%, 10%) is mapped to 5 etc.
- </summary>
- </metric>
- <metric name="Brightness">
- <summary>
- Screen percentage brightness. between 0 and 100.
- </summary>
- </metric>
- <metric name="DayOfWeek">
- <summary>
- An enum representing the of the week that the data was logged, defined in
- |ash::power::ml::ScreenBrightnessEvent::Features::ActivityData::
- DayOfWeek|.
- </summary>
- </metric>
- <metric name="DeviceMode">
- <summary>
- An enum representing the mode of the device, defined in
- |ash::power::ml::ScreenBrightnessEvent::Features::EnvData:DeviceMode|
- </summary>
- </metric>
- <metric name="HourOfDay">
- <summary>
- The hour of the day when the data is logged. Hours since midnight in the
- local time zone.
- </summary>
- </metric>
- <metric name="IsAutoclickEnabled">
- <summary>
- Boolean value to represent whether the auto click is currently enabled.
- </summary>
- </metric>
- <metric name="IsBrailleDisplayConnected">
- <summary>
- Boolean value to represent whether the braille display is currently
- enabled.
- </summary>
- </metric>
- <metric name="IsCaretHighlightEnabled">
- <summary>
- Boolean value to represent whether the caret highlight is currently
- enabled.
- </summary>
- </metric>
- <metric name="IsCursorHighlightEnabled">
- <summary>
- Boolean value to represent whether the cursor highlight is currently
- enabled.
- </summary>
- </metric>
- <metric name="IsFocusHighlightEnabled">
- <summary>
- Boolean value to represent whether the focus highlight is currently
- enabled.
- </summary>
- </metric>
- <metric name="IsHighContrastEnabled">
- <summary>
- Boolean value to represent whether the high contrast is currently enabled.
- </summary>
- </metric>
- <metric name="IsLargeCursorEnabled">
- <summary>
- Boolean value to represent whether the large cursor is currently enabled.
- </summary>
- </metric>
- <metric name="IsMagnifierEnabled">
- <summary>
- Boolean value to represent whether the full screen magnifier is currently
- enabled.
- </summary>
- </metric>
- <metric name="IsMonoAudioEnabled">
- <summary>
- Boolean value to represent whether the mono audio is currently enabled.
- </summary>
- </metric>
- <metric name="IsSelectToSpeakEnabled">
- <summary>
- Boolean value to represent whether select to speak is currently enabled.
- </summary>
- </metric>
- <metric name="IsSpokenFeedbackEnabled">
- <summary>
- Boolean value to represent whether the spoken feedback is currently
- enabled.
- </summary>
- </metric>
- <metric name="IsSwitchAccessEnabled">
- <summary>
- Boolean value to represent whether Switch Access is currently enabled.
- </summary>
- </metric>
- <metric name="IsVideoPlaying">
- <summary>
- Boolean value to represent whether video is currently playing.
- </summary>
- </metric>
- <metric name="IsVirtualKeyboardEnabled">
- <summary>
- Boolean value to represent whether the virtual keyboard is currently
- enabled.
- </summary>
- </metric>
- <metric name="LastActivityTimeSec">
- <summary>
- Time between the last activity and when the data was logged. A duration
- timestamp in seconds.
- </summary>
- </metric>
- <metric name="NightLightTemperaturePercent">
- <summary>
- The temperature percentage of night light screen color adjustment when
- night light is on. Ranges from 0 to 100.
- </summary>
- </metric>
- <metric name="NumRecentKeyEvents">
- <summary>
- The number of keyboard events in the last hour.
- </summary>
- </metric>
- <metric name="NumRecentMouseEvents">
- <summary>
- The number of mouse events in the last hour.
- </summary>
- </metric>
- <metric name="NumRecentStylusEvents">
- <summary>
- The number of stylus events in the last hour.
- </summary>
- </metric>
- <metric name="NumRecentTouchEvents">
- <summary>
- The number of touch events in the last hour.
- </summary>
- </metric>
- <metric name="OnBattery">
- <summary>
- Boolean value to represent whether the device is currently on battery
- power.
- </summary>
- </metric>
- <metric name="PreviousBrightness">
- <summary>
- The brightness of the screen prior to the time at which the current event
- was logged.
- </summary>
- </metric>
- <metric name="Reason">
- <summary>
- The reason that the event is logged. Values are enumerated in
- |ash::power::ml::ScreenBrightnessEvent::Event::Reason|.
- </summary>
- </metric>
- <metric name="RecentTimeActiveSec">
- <summary>
- How long the user has been active. A duration timestamp in seconds.
- </summary>
- </metric>
- <metric name="SequenceId">
- <summary>
- The ID of this event in the current session.
- </summary>
- </metric>
- <metric name="TimeSinceLastEventSec">
- <summary>
- Time in seconds since last time an event was logged.
- </summary>
- </metric>
- </event>
- <event name="Security.SafetyTip">
- <owner>jdeblasio@chromium.org</owner>
- <owner>enamelites@google.com</owner>
- <owner>beggs@google.com</owner>
- <summary>
- Collected when any safety tip heuristic triggers, regardless of whether the
- Safety Tip UI is shown.
- </summary>
- <metric name="SafetyTipInteraction" enum="SafetyTipInteraction">
- <summary>
- How the user interacted with the UI, if applicable.
- </summary>
- </metric>
- <metric name="SafetyTipStatus" enum="SafetyTipStatus">
- <summary>
- The final reported Safety Tip status.
- </summary>
- </metric>
- <metric name="TriggeredKeywordsHeuristics" enum="Boolean">
- <summary>
- Whether the sensitive keywords heuristic triggered.
- </summary>
- </metric>
- <metric name="TriggeredLookalikeHeuristics" enum="Boolean">
- <summary>
- Whether the lookalike keywords heuristic triggered.
- </summary>
- </metric>
- <metric name="TriggeredServerSideBlocklist" enum="Boolean">
- <summary>
- Whether the server-side blocklist heuristic triggered.
- </summary>
- </metric>
- <metric name="UserPreviouslyIgnored" enum="Boolean">
- <summary>
- Whether the user had already ignored a safety tip warning for this page in
- the past, meaning no tip was shown.
- </summary>
- </metric>
- </event>
- <event name="Security.SiteEngagement">
- <owner>cthomp@chromium.org</owner>
- <owner>enamelites@google.com</owner>
- <summary>
- Site engagement score behavior for a page with a given Security Level.
- </summary>
- <metric name="FinalSecurityLevel">
- <summary>
- The final SecurityLevel of the page before it is closed or another
- navigation occurs. Based on the enum security_state::SecurityLevel.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="InitialSecurityLevel">
- <summary>
- The initial SecurityLevel of the page when the navigation commits. Based
- on the enum security_state::SecurityLevel.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SafetyTipStatus" enum="SafetyTipStatus">
- <summary>
- The Safety Tip status of the page when the navigation commits, after the
- reputation check finishes.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="ScoreDelta">
- <summary>
- The change in Site Engagement score for the page before it is closed or
- another navigation occurs compared to the score from when the navigation
- committed. Score is between 0.0 and 100.0; delta is between -100.0 and
- 100.0. Rounded to the nearest integer.
- </summary>
- </metric>
- <metric name="ScoreFinal">
- <summary>
- The final Site Engagement score for the page before it is closed or
- another navigation occurs. Score is between 0.0 and 100.0; this metric is
- rounded down to a multiple of 10 to limit granularity.
- </summary>
- </metric>
- </event>
- <event name="Segmentation.ModelExecution">
- <owner>nyquist@chromium.org</owner>
- <owner>qinmin@chromium.org</owner>
- <owner>ssid@chromium.org</owner>
- <summary>
- Input and output tensors for executing the ML model identified by
- optimization targets and version. The input tensors can come from UMA or
- UKM, with or without aggregation. Check model metadata for more information
- about each tensor. Since all the ML tensors are floats, they are encoded
- into int64 and will be decoded later during model training. This metric is
- recorded after an ML model is executed, and the actual result is collected.
- </summary>
- <metric name="ActualResult">
- <summary>
- UMA or UKM metrics related to the features affected by the ML model, with
- or without aggregation, after running the features as instructed by the ML
- model. For example, this can be the 7 day total button clicks after an ML
- model decides to show it. No encoding is used as this is normally a count
- or sum of a UMA/UKM metric.
- </summary>
- </metric>
- <metric name="ActualResult2">
- <summary>
- The 2nd UMA or UKM metrics related to the features affected by the ML
- model, with or without aggregation, after running the features as
- instructed by the ML model. No encoding is used.
- </summary>
- </metric>
- <metric name="ActualResult3">
- <summary>
- The 3rd UMA or UKM metrics related to the features affected by the ML
- model, with or without aggregation, after running the features as
- instructed by the ML model. No encoding is used.
- </summary>
- </metric>
- <metric name="ActualResult4">
- <summary>
- The 4th UMA or UKM metrics related to the features affected by the ML
- model, with or without aggregation, after running the features as
- instructed by the ML model. No encoding is used.
- </summary>
- </metric>
- <metric name="ActualResult5">
- <summary>
- The 5th UMA or UKM metrics related to the features affected by the ML
- model, with or without aggregation, after running the features as
- instructed by the ML model. No encoding is used.
- </summary>
- </metric>
- <metric name="ActualResult6">
- <summary>
- The 6th UMA or UKM metrics related to the features affected by the ML
- model, with or without aggregation, after running the features as
- instructed by the ML model. No encoding is used.
- </summary>
- </metric>
- <metric name="Input0">
- <summary>
- The input tensor at index 0 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input1">
- <summary>
- The input tensor at index 1 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input10">
- <summary>
- The input tensor at index 10 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input11">
- <summary>
- The input tensor at index 11 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input12">
- <summary>
- The input tensor at index 12 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input13">
- <summary>
- The input tensor at index 13 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input14">
- <summary>
- The input tensor at index 14 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input15">
- <summary>
- The input tensor at index 15 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input16">
- <summary>
- The input tensor at index 16 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input17">
- <summary>
- The input tensor at index 17 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input18">
- <summary>
- The input tensor at index 18 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input19">
- <summary>
- The input tensor at index 19 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input2">
- <summary>
- The input tensor at index 2 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input20">
- <summary>
- The input tensor at index 20 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input21">
- <summary>
- The input tensor at index 21 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input22">
- <summary>
- The input tensor at index 22 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input23">
- <summary>
- The input tensor at index 23 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input24">
- <summary>
- The input tensor at index 24 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input25">
- <summary>
- The input tensor at index 25 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input26">
- <summary>
- The input tensor at index 26 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input27">
- <summary>
- The input tensor at index 27 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input28">
- <summary>
- The input tensor at index 28 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input29">
- <summary>
- The input tensor at index 29 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input3">
- <summary>
- The input tensor at index 3 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input4">
- <summary>
- The input tensor at index 4 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input5">
- <summary>
- The input tensor at index 5 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input6">
- <summary>
- The input tensor at index 6 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input7">
- <summary>
- The input tensor at index 7 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input8">
- <summary>
- The input tensor at index 8 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="Input9">
- <summary>
- The input tensor at index 9 represented in IEEE 754 double precision.
- </summary>
- </metric>
- <metric name="ModelVersion">
- <summary>
- The version of the ML model used for execution. May not be a counter int.
- </summary>
- </metric>
- <metric name="OptimizationTarget">
- <summary>
- The OptimizationTarget associated with the ML model. This is an enum for
- classifying different ML models. It represents what an model is trying to
- optimize.
- </summary>
- </metric>
- <metric name="OutputDelaySec">
- <summary>
- The time from last segment selection to when the UKM is recorded, in
- seconds.
- </summary>
- </metric>
- <metric name="PredictionResult">
- <summary>
- Predicted result from executing the ML model. This is normally a score for
- determining whether to show a particular feature. The value is a floating
- number between 0 to 1 and encoded into IEEE 754 double precision here.
- </summary>
- </metric>
- <metric name="SelectionResult">
- <summary>
- The OptimizationTarget of the last selected segment before UKM is
- recorded. Some features might have several ML models with them. This
- metric records which model is currently selected for the feature.
- </summary>
- </metric>
- </event>
- <event name="SharedHighlights.LinkGenerated">
- <owner>jeffreycohen@chromium.org</owner>
- <owner>chrome-creation@google.com</owner>
- <summary>
- Event representing the user action of selecting a piece of text on a page
- and selecting the option to create a link which would contain the necessary
- text fragment information to link back to this specific part of the page.
- </summary>
- <metric name="Error" enum="LinkGenerationError">
- <summary>
- Record the type of error which prevented a successful link generation.
- Only recorded if the link creation failed.
- </summary>
- </metric>
- <metric name="Success" enum="Boolean">
- <summary>
- Whether the generation of a link with text fragments was successful or
- not.
- </summary>
- </metric>
- </event>
- <event name="SharedHighlights.LinkGenerated.Requested">
- <owner>jeffreycohen@chromium.org</owner>
- <owner>chrome-creation@google.com</owner>
- <summary>
- Event representing the user action of selecting a piece of text on a page
- and selecting the option to create a link which would contain the necessary
- text fragment information to link back to this specific part of the page.
- </summary>
- <metric name="Error" enum="LinkGenerationError">
- <summary>
- Record the type of error which prevented offering link to text to user.
- Only recorded if the link was not offered to the user.
- </summary>
- </metric>
- <metric name="Success" enum="Boolean">
- <summary>
- Whether the link with text fragments was successful offered to the user or
- not.
- </summary>
- </metric>
- </event>
- <event name="SharedHighlights.LinkOpened" singular="true">
- <owner>jeffreycohen@chromium.org</owner>
- <owner>chrome-creation@google.com</owner>
- <summary>
- Event representing the browser action of highlighting (incl. scroll-to) text
- fragments that were part of the URL. This happens only once during page
- load.
- </summary>
- <metric name="Source" enum="TextFragmentLinkOpenSource">
- <summary>
- Record the type of source for the current navigation, which has text
- fragments. At the moment, this maps to identifying whether the source is a
- known search engine or not.
- </summary>
- </metric>
- <metric name="Success" enum="Boolean">
- <summary>
- Whether the highlighting of a set of text fragments was a complete success
- or not.
- </summary>
- </metric>
- </event>
- <event name="Sharing.ClickToCall">
- <owner>knollr@chromium.org</owner>
- <summary>
- Collected when a user finishes a Click to Call journey.
- </summary>
- <metric name="EntryPoint" enum="SharingClickToCallEntryPoint">
- <summary>
- Specifies the entry point of the user journey (i.e. left click, right
- click, text selection).
- </summary>
- </metric>
- <metric name="HasApps" enum="Boolean">
- <summary>
- Boolean value indicating whether any (>0) apps are available that the
- call could be sent to.
- </summary>
- </metric>
- <metric name="HasDevices" enum="Boolean">
- <summary>
- Boolean value indicating whether any (>0) devices are available that
- the call could be sent to. These belong to the same account and are
- running Android.
- </summary>
- </metric>
- <metric name="Selection" enum="SharingClickToCallSelection">
- <summary>
- Whether the user selected a device, an app or nothing (i.e. dismissal) in
- the user interface. For some entry points this might always be the same
- value (e.g. right clicks always select devices).
- </summary>
- </metric>
- </event>
- <event name="Shopping.CartExtraction">
- <owner>wychen@chromium.org</owner>
- <owner>yuezhanggg@chromium.org</owner>
- <summary>
- Metrics related to performance of cart content extraction in ChromeCart.
- </summary>
- <metric name="ExtractionElapsedTime">
- <summary>
- Logged when cart content extraction is executed for ChromeCart and records
- the elapsed time within the JavaScript, so script parsing/compilation time
- is excluded. Shopping.CartExtraction.ExtractionExecutionTime is measured
- in native, and is the end-to-end elapsed time. This is expressed in
- milliseconds.
- </summary>
- </metric>
- <metric name="ExtractionExecutionTime">
- <summary>
- Logged when cart content extraction is executed for ChromeCart and records
- the elapsed time between the start and the end of the extraction
- JavaScript request execution. This includes script parsing/compilation
- time and sleeping time. This is expressed in milliseconds.
- </summary>
- </metric>
- <metric name="ExtractionLongestTaskTime">
- <summary>
- Logged when cart content extraction is executed for ChromeCart and records
- the time span of the longest task blocking the main thread of the renderer
- process. This is expressed in milliseconds.
- </summary>
- </metric>
- <metric name="ExtractionTimedOut" enum="Boolean">
- <summary>
- Logged when cart content extraction is executed for ChromeCart and records
- whether the cart content extraction has timed out.
- </summary>
- </metric>
- <metric name="ExtractionTotalTasksTime">
- <summary>
- Logged when cart content extraction is executed for ChromeCart and records
- the time spent on execution, excluding sleeping time. This is expressed in
- milliseconds.
- </summary>
- </metric>
- </event>
- <event name="Shopping.ChromeCart">
- <owner>wychen@chromium.org</owner>
- <owner>yuezhanggg@chromium.org</owner>
- <summary>
- Metrics related to Chrome cart module in Chrome NTP.
- </summary>
- <metric name="VisitCart" enum="Boolean">
- <summary>
- Always true. Recorded when users have visited cart page from Chrome cart
- module.
- </summary>
- </metric>
- </event>
- <event name="Shopping.FormSubmitted">
- <owner>wychen@chromium.org</owner>
- <owner>yuezhanggg@chromium.org</owner>
- <summary>
- Recorded when user submits a form.
- </summary>
- <metric name="IsTransaction" enum="Boolean">
- <summary>
- Whether the form submission is a shopping transaction. This has 50% chance
- randomized.
- </summary>
- </metric>
- </event>
- <event name="Shopping.MerchantTrust.DataAvailable">
- <owner>zhiyuancai@chromium.org</owner>
- <owner>ayman@chromium.org</owner>
- <summary>
- Recorded when user finishes a navigation while the merchant trust data is
- available.
- </summary>
- <metric name="DataAvailable" enum="Boolean">
- <summary>
- A boolean signaling that data is available. Only records true values.
- </summary>
- </metric>
- </event>
- <event name="Shopping.MerchantTrust.MessageClicked">
- <owner>zhiyuancai@chromium.org</owner>
- <owner>ayman@chromium.org</owner>
- <summary>
- Recorded when a merchant trust message is clicked by the user.
- </summary>
- <metric name="HasOccurred" enum="Boolean">
- <summary>
- A boolean signaling that message is clicked. Only records true values.
- </summary>
- </metric>
- </event>
- <event name="Shopping.MerchantTrust.MessageSeen">
- <owner>zhiyuancai@chromium.org</owner>
- <owner>ayman@chromium.org</owner>
- <summary>
- Recorded when a merchant trust message is displayed to the user.
- </summary>
- <metric name="HasOccurred" enum="Boolean">
- <summary>
- A boolean signaling that message is displayed. Only records true values.
- </summary>
- </metric>
- </event>
- <event name="Shopping.MerchantTrust.RowClicked">
- <owner>zhiyuancai@chromium.org</owner>
- <owner>ayman@chromium.org</owner>
- <summary>
- Recorded when a store info row in trusted surface is clicked by the user.
- </summary>
- <metric name="HasOccurred" enum="Boolean">
- <summary>
- A boolean signaling that store info row is clicked. Only records true
- values.
- </summary>
- </metric>
- </event>
- <event name="Shopping.MerchantTrust.RowSeen">
- <owner>zhiyuancai@chromium.org</owner>
- <owner>ayman@chromium.org</owner>
- <summary>
- Recorded when a store info row in trusted surface is displayed to the user.
- </summary>
- <metric name="HasOccurred" enum="Boolean">
- <summary>
- A boolean signaling that store info row is displayed. Only records true
- values.
- </summary>
- </metric>
- </event>
- <event name="Shopping.WillSendRequest">
- <owner>wychen@chromium.org</owner>
- <owner>yuezhanggg@chromium.org</owner>
- <summary>
- Recorded when an XHR is about to be sent.
- </summary>
- <metric name="IsAddToCart" enum="Boolean">
- <summary>
- Whether the XHR is to add a product to a shopping cart. This has 50%
- chance randomized.
- </summary>
- </metric>
- </event>
- <event name="SiteIsolation.XSD.Browser.Blocked">
- <obsolete>
- Removed in June 2019 / M77. Some old data has been saved in a
- Google-internal doc at go/xsdb-ukm-results (ask owners below for access).
- </obsolete>
- <owner>creis@chromium.org</owner>
- <owner>chrome-site-isolation@google.com</owner>
- <summary>
- Resource request response was blocked by the cross-site document blocking
- logic in the browser process.
- </summary>
- <metric name="CanonicalMimeType">
- <summary>
- Classification of the Content-Type HTTP response header into one of the
- blockable document flavours: html, xml, json, plain.
- </summary>
- </metric>
- <metric name="ContentLengthWasZero">
- <summary>
- ContentLengthWasZero=1 if Content-Length was available and equal to 0.
- ContentLengthWasZero=0 otherwise.
- </summary>
- </metric>
- <metric name="ContentResourceType">
- <summary>
- content::ResourceType of the blocked resource (e.g. image / script / xhr /
- etc.).
- </summary>
- </metric>
- <metric name="HttpResponseCode">
- <summary>
- The HTTP response code (e.g. 200 or 404) associated with the blocked
- resource request.
- </summary>
- </metric>
- <metric name="NeededSniffing">
- <summary>
- Whether the HTTP response needed sniffing to confirm its MIME type.
- </summary>
- </metric>
- </event>
- <event name="SmartCharging">
- <owner>thanhdng@chromium.org</owner>
- <owner>jiameng@chromium.org</owner>
- <summary>
- Records user activities that are related to charging such as battery
- percentage, time, device type, etc.
- </summary>
- <metric name="BatteryPercentage">
- <summary>
- Percentage of the battery.
- </summary>
- </metric>
- <metric name="BatteryPercentageBeforeLastCharge">
- <summary>
- The percentage of the battery at the beginning of the last charge.
- </summary>
- </metric>
- <metric name="BatteryPercentageOfLastCharge">
- <summary>
- The percentage of the battery that the last charge reached.
- </summary>
- </metric>
- <metric name="DayOfMonth">
- <summary>
- Event's day of the month (e.g. 1-31) in local time zone.
- </summary>
- </metric>
- <metric name="DayOfWeek" enum="DayOfWeek">
- <summary>
- Event's day of the week in local time zone. Sunday is 0.
- </summary>
- </metric>
- <metric name="DeviceMode">
- <summary>
- Mode of the device (e.g. closed lid, tablet).
- </summary>
- </metric>
- <metric name="DeviceType">
- <summary>
- Type of the device (e.g. laptop, tablet).
- </summary>
- </metric>
- <metric name="DurationOfLastCharge">
- <summary>
- Duratioin of the last time the device was charged in minutes.
- </summary>
- </metric>
- <metric name="DurationRecentAudioPlaying">
- <summary>
- Duration of audio playing in the last 30 minutes (bucketized and in
- minutes).
- </summary>
- </metric>
- <metric name="DurationRecentVideoPlaying">
- <summary>
- Duration of video playing in the last 30 minutes (bucketized and in
- minutes).
- </summary>
- </metric>
- <metric name="EventId">
- <summary>
- A unique number that represent order of an event.
- </summary>
- </metric>
- <metric name="HaltFromLastCharge" enum="Boolean">
- <summary>
- Whether there's any shutdown/suspend actions between the last charge and
- current event.
- </summary>
- </metric>
- <metric name="IsCharging" enum="Boolean">
- <summary>
- Whether the device is being charged or not.
- </summary>
- </metric>
- <metric name="Month" enum="Month">
- <summary>
- Event's month (e.g. Jan-Dec) in local time zone. January is 1.
- </summary>
- </metric>
- <metric name="NumRecentKeyEvents">
- <summary>
- Number of key events in past 30 minutes.
- </summary>
- </metric>
- <metric name="NumRecentMouseEvents">
- <summary>
- Number of mouse events in past 30 minutes.
- </summary>
- </metric>
- <metric name="NumRecentStylusEvents">
- <summary>
- Number of stylus events in past 30 minutes.
- </summary>
- </metric>
- <metric name="NumRecentTouchEvents">
- <summary>
- Number of touch events in past 30 minutes.
- </summary>
- </metric>
- <metric name="Reason" enum="SmartChargingReason">
- <summary>
- Reason for the logging of an event.
- </summary>
- </metric>
- <metric name="ScreenBrightnessPercent">
- <summary>
- Brightness of the screen in percent.
- </summary>
- </metric>
- <metric name="TimeOfTheDay">
- <summary>
- Time of the event in minutes since midnight in the local time zone.
- </summary>
- </metric>
- <metric name="TimeSinceLastCharge">
- <summary>
- Time since the last time user unplugged the charger in minutes.
- </summary>
- </metric>
- <metric name="TimezoneDifferenceFromLastCharge">
- <summary>
- Timezone difference from the last charge. It is equal to current_timezone
- - timezone_from_last_charge. The valid range of time zone value will be
- -12 (UTC -12:00) to +14 (UTC +14:00).
- </summary>
- </metric>
- <metric name="Voltage">
- <summary>
- Charge voltage in mV.
- </summary>
- </metric>
- </event>
- <event name="SMSReceiver">
- <owner>goto@chromium.org</owner>
- <owner>reillyg@chromium.org</owner>
- <owner>ayui@chromium.org</owner>
- <owner>yigu@chromium.org</owner>
- <summary>
- Records performance metrics for SMSReceiver API.
- </summary>
- <metric name="IsCrossOriginFrame" enum="Boolean">
- <summary>
- Flag indicating whether the report comes from a cross-origin frame or not.
- </summary>
- </metric>
- <metric name="Outcome" enum="WebOTPServiceOutcome">
- <summary>
- Records the result of a call to the SmsReceiver API.
- </summary>
- </metric>
- <metric name="SmsParsingStatus" enum="SmsParsingStatus">
- <summary>
- Records the status of parsing an incoming SMS when using the WebOTP API.
- It records one sample per incoming SMS.
- </summary>
- </metric>
- <metric name="TimeSmsReceiveMs">
- <summary>
- Records the duration from when the API is called to when an SMS has been
- successfully received.
- </summary>
- </metric>
- <metric name="TimeSuccessMs">
- <summary>
- Records the duration from when the API is called to when the user presses
- "Allow" to pass the incoming SMS to the site and proceed with
- the SMS verification flow.
- </summary>
- </metric>
- <metric name="TimeUserCancelMs">
- <summary>
- Records the duration from when the API is called to when the user presses
- "Deny" to terminate the SMS verification flow.
- </summary>
- </metric>
- </event>
- <event name="SSL.MixedContentShown">
- <obsolete>
- Replaced by SSL.MixedContentShown2. Removed in 03/2021.
- </obsolete>
- <owner>carlosil@chromium.org</owner>
- <summary>
- Logged when mixed content is displayed on a site.
- </summary>
- <metric name="Type">
- <summary>
- A value of the MixedContentType enum, detailing the type of mixed content
- included on the site.
- </summary>
- </metric>
- </event>
- <event name="SSL.MixedContentShown2">
- <owner>carlosil@chromium.org</owner>
- <owner>estark@chromium.org</owner>
- <summary>
- Logged when mixed content is loaded, differentiated by blockable,
- optionally-blockable mixed content, and mixed forms. Also tracks when a site
- with a valid certificate loads a subresource with an invalid certificate.
- Replaced SSL.MixedContentShown.
- </summary>
- <metric name="Type">
- <summary>
- A value of the MixedContentType enum, detailing the type of mixed content
- included on the site.
- </summary>
- </metric>
- </event>
- <event name="SubframeDownload">
- <obsolete>
- Deprecated as of 03/2019.
- </obsolete>
- <owner>yaoxia@chromium.org</owner>
- <summary>
- Measurement for subframe download. It is only recorded for downloads
- originated from navigations or from HTML anchor download attributes.
- </summary>
- <metric name="HasGesture">
- <summary>
- A boolean denoting whether the download involves a transient user gesture.
- </summary>
- </metric>
- <metric name="HasSandbox">
- <summary>
- A boolean denoting whether the download occurs in a sandboxed browsing
- context.
- </summary>
- </metric>
- <metric name="IsAdFrame">
- <summary>
- A boolean denoting whether the download occurs in an ad subframe.
- </summary>
- </metric>
- <metric name="IsCrossOrigin">
- <summary>
- A boolean denoting whether the download occurs in a subframe x-origin to
- the top frame.
- </summary>
- </metric>
- </event>
- <event name="SubresourceFilter" singular="True">
- <owner>csharrison@chromium.org</owner>
- <summary>
- Recorded for page loads where subresource filtering policy was evaluated.
- </summary>
- <metric name="ActivationDecision">
- <summary>
- Enum that records the policy decision to activate subresource filtering
- for a page load. 0 = Unknown, 1 = Activated, 2 = Disabled, 3 = Deprecated
- value, 4 = URL whitelisted, 5 = Activation conditions not met. 'Activated'
- indicates that subresource filtering was activated. All other reasons
- indicate that subresource filtering was not activated.
- </summary>
- </metric>
- <metric name="DryRun">
- <summary>
- Records '1' if subresource filtering was activated in dry run mode. In dry
- run mode, subresource filtering policy is evaluated against resources
- loaded on the page, but subresource filtering is not actually applied.
- </summary>
- </metric>
- <metric name="EnforcementRedirectPosition">
- <summary>
- An enum denoting where in the redirect chain there was a URL that matched
- one of the subresource_filter activation lists, and wasn't marked as
- warning. See subresource_filter::RedirectPosition for values.
- </summary>
- </metric>
- </event>
- <event name="SubresourceRedirect.PublicSrcVideoCompression">
- <owner>rajendrant@chromium.org</owner>
- <owner>mcrouse@chromium.org</owner>
- <summary>
- Records coverage information for src videos. Recorded once for every src
- video that is fetched from network.
- </summary>
- <metric name="FullContentLength">
- <summary>
- The full content length of the video retrieved from the first range
- request for the resource. This full content length represents the total
- bytes when the entire video is played. The bytes are rounded down to the
- exponential bucket with factor of 1.3.
- </summary>
- </metric>
- <metric name="SubresourceRedirectResult"
- enum="SubresourceRedirectRedirectResult">
- <summary>
- Enumerates the different results possible for subresource redirection,
- such as redirectable or different reasons of ineligibility.
- </summary>
- </metric>
- </event>
- <event name="Tab.RendererOOM">
- <owner>ssid@chromium.org</owner>
- <summary>
- Metrics about renderer OOM, recorded for each detected OOM of renderer
- process.
- </summary>
- <metric name="TimeSinceLastNavigation">
- <summary>
- Duration in MS from when the main frame navigation was triggered to when
- the tab crashed with OOM. Recorded only on Windows, Android and Chrome OS.
- We do not have a way to detect OOMs reliably on Linux and Mac.
- </summary>
- </metric>
- </event>
- <event name="Tab.Screenshot">
- <owner>sayman@chromium.org</owner>
- <summary>
- User took one or more screenshots of a page.
- </summary>
- <metric name="HasOccurred" enum="Boolean">
- <summary>
- A boolean signaling that the event has occurred; only records true values.
- </summary>
- </metric>
- </event>
- <event name="TabManager.Background.FirstAlertFired">
- <owner>chrisha@chromium.org</owner>
- <owner>lpy@chromium.org</owner>
- <summary>
- Collects the duration in MS from when the tab is backgrounded to when a
- JavaScript alert is fired. Only recorded when the tab is in the background.
- </summary>
- <metric name="IsMainFrame">
- <summary>
- Indicates whether the alert is fired from main frame.
- </summary>
- </metric>
- <metric name="TimeFromBackgrounded">
- <summary>
- Duration in MS from when the tab is backgrounded to when alert is fired.
- </summary>
- </metric>
- </event>
- <event name="TabManager.Background.FirstAudioStarts">
- <owner>chrisha@chromium.org</owner>
- <owner>lpy@chromium.org</owner>
- <summary>
- Collects the duration in MS from when the tab is backgrounded to when audio
- starts to play. Only recorded when the tab is in the background.
- </summary>
- <metric name="IsMainFrame">
- <summary>
- Indicates whether the audio stream belongs to the main frame.
- </summary>
- </metric>
- <metric name="TimeFromBackgrounded">
- <summary>
- Duration in MS from when the tab is backgrounded to when audio starts to
- play.
- </summary>
- </metric>
- </event>
- <event name="TabManager.Background.FirstFaviconUpdated">
- <owner>chrisha@chromium.org</owner>
- <owner>lpy@chromium.org</owner>
- <summary>
- Collects the duration in MS from when the tab is backgrounded to when the
- favicon is updated. Only recorded when the tab is in the background.
- </summary>
- <metric name="TimeFromBackgrounded">
- <summary>
- Duration in MS from when the tab is backgrounded to when the favicon is
- updated.
- </summary>
- </metric>
- </event>
- <event name="TabManager.Background.FirstNonPersistentNotificationCreated">
- <owner>chrisha@chromium.org</owner>
- <owner>lpy@chromium.org</owner>
- <summary/>
- <metric name="IsMainFrame">
- <summary>
- Indicates whether the notification creation is from the main frame.
- </summary>
- </metric>
- <metric name="TimeFromBackgrounded">
- <summary>
- Duration in MS from when the tab is backgrounded to when a non-persistent
- notification is created.
- </summary>
- </metric>
- </event>
- <event name="TabManager.Background.FirstTitleUpdated">
- <owner>chrisha@chromium.org</owner>
- <owner>lpy@chromium.org</owner>
- <summary>
- Collects the duration in MS from when the tab is backgrounded to when the
- title is updated. Only recorded when the tab is in the background.
- </summary>
- <metric name="TimeFromBackgrounded">
- <summary>
- Duration in MS from when the tab is backgrounded to when the title is
- updated.
- </summary>
- </metric>
- </event>
- <event name="TabManager.Background.ForegroundedOrClosed">
- <owner>chrisha@chromium.org</owner>
- <summary>
- Collects the duration in MS from when the tab is backgrounded to when it is
- brought to foreground or closed.
- </summary>
- <metric name="IsDiscarded">
- <summary>
- Boolean value indicating whether or not the tab is discarded since it was
- backgrounded.
- </summary>
- </metric>
- <metric name="IsForegrounded">
- <summary>
- Boolean value indicating whether or not it's triggered because the tab is
- brought to foreground again.
- </summary>
- </metric>
- <metric name="LabelId">
- <summary>
- An int64 random number generated when TabManager.TabMetric is logged. The
- same number is also logged here, so that feature label can be paired.
- </summary>
- </metric>
- <metric name="MRUIndex">
- <obsolete>
- Deprecated 10/2019 in favor MRUIndex in TabMetrics.
- </obsolete>
- <summary>
- Index of the tab in most-recently-used order. A value of N means there are
- N tabs more recently used than the one that is being foregrounded or
- closed.
- </summary>
- </metric>
- <metric name="SequenceId">
- <obsolete>
- Deprecated 11/2018 in favor LabelId.
- </obsolete>
- <summary>
- This metric is obsolete in 11/2018 in favor of LabelId for pairing with
- Tabmanager.TabMetrics event. The sequence of this event and
- TabManager.TabMetrics event in the current session. Incremented by 1 each
- time one of the two events is logged to provide an ordering of events.
- </summary>
- </metric>
- <metric name="TimeFromBackgrounded">
- <summary>
- Duration in MS from when the tab is backgrounded to when it is brought to
- foreground or closed.
- </summary>
- </metric>
- <metric name="TotalTabCount">
- <obsolete>
- Deprecated 10/2019 in favor TotalTabCount in TabMetrics.
- </obsolete>
- <summary>
- Total number of tabs open across all non-incognito browser windows. Helps
- contextualize the MRUIndex value.
- </summary>
- </metric>
- </event>
- <event
- name="TabManager.BackgroundTabOpening.ForegroundTab.ExpectedTaskQueueingDurationInfo">
- <obsolete>
- Removed June 2020.
- </obsolete>
- <owner>chrisha@chromium.org</owner>
- <summary>
- Collects the expected queueing duration of tasks and metadata for the
- foreground tab during a background tab opening session (the duration of time
- from when the browser starts to open background tabs until the time the
- browser has finished loading those tabs or otherwise decided to stop loading
- them). The event is not recorded when the session overlaps with session
- restore. This event is sampled when there is only one backgrounded loading
- or pending tab and all events are collected when there are 2 or more
- backgrounded loading or pending tabs. In this way, we cap the volume while
- keeping all interesting data. Therefore, aggregated tab counts over multiple
- events are invalid.
- </summary>
- <metric name="BackgroundTabLoadingCount">
- <summary>
- Number of background tabs that are loading.
- </summary>
- </metric>
- <metric name="BackgroundTabOpeningSessionId">
- <summary>
- The ID of this background tab opening session.
- </summary>
- </metric>
- <metric name="BackgroundTabPendingCount">
- <summary>
- Number of background tabs that are pending.
- </summary>
- </metric>
- <metric name="ExpectedTaskQueueingDuration">
- <summary>
- Duration in MS for expected task queueing duration. The metric reflects
- the responsiveness of a tab. A lower value means the tab will respond to
- inputs faster. This metric is equal to
- RendererScheduler.ExpectedTaskQueueingDuration. It is emitted once for all
- tasks in each 1000-ms window.
- </summary>
- </metric>
- <metric name="SequenceId">
- <summary>
- The ID of this event's sequence in current background tab opening session.
- </summary>
- </metric>
- <metric name="SystemTabCount">
- <summary>
- Number of all tabs of the system, which includes all browser windows.
- </summary>
- </metric>
- </event>
- <event name="TabManager.Experimental.BackgroundTabOpening.TabSwitchLoadStopped"
- singular="True">
- <owner>zhenw@chromium.org</owner>
- <summary>
- Collects data when a tab is switched to from another tab and then finishes
- loading in the foreground during a background tab opening session (the
- duration of time from when the browser starts to open background tabs until
- the time the browser has finished loading those tabs or otherwise decided to
- stop loading them). The event is only recorded when a tab is switched to
- from another tab within the same tabstrip. As a result, the initial
- foreground tab is not included in this event since it was not switched to
- from another tab. The event is not recorded when the session overlaps with
- session restore.
- </summary>
- <metric name="BackgroundTabLoadingCount">
- <summary>
- Number of background tabs that are loading.
- </summary>
- </metric>
- <metric name="BackgroundTabOpeningSessionId">
- <summary>
- The ID of this background tab opening session.
- </summary>
- </metric>
- <metric name="BackgroundTabPendingCount">
- <summary>
- Number of background tabs that are pending.
- </summary>
- </metric>
- <metric name="SequenceId">
- <summary>
- The ID of this event's sequence in current background tab opening session.
- </summary>
- </metric>
- <metric name="SystemTabCount">
- <summary>
- Number of all tabs of the system, which includes all browser windows.
- </summary>
- </metric>
- <metric name="TabSwitchLoadTime">
- <summary>
- Tab switch load time in MS. It is defined as the time between when the
- user switches to a backround tab, and the time when that tab finishes
- loading in the foreground. If the user switches away before the tab
- finishes loading, a metric will not be recorded unless the user switches
- back, in which case the tab switch load time is measured from that point
- in time.
- </summary>
- </metric>
- </event>
- <event name="TabManager.Experimental.SessionRestore.ForegroundTab.PageLoad"
- singular="True">
- <owner>zhenw@chromium.org</owner>
- <summary>
- Collects the tab counts for the foreground tab page load during session
- restore. The event is not recorded when the session overlaps with background
- tab opening. This event should be combined with PageLoad event for analysis.
- </summary>
- <metric name="SessionRestoreTabCount">
- <summary>
- Number of tabs that are restored.
- </summary>
- </metric>
- <metric name="SystemTabCount">
- <summary>
- Number of all tabs of the system, which includes all browser windows.
- </summary>
- </metric>
- </event>
- <event name="TabManager.Experimental.SessionRestore.TabSwitchLoadStopped"
- singular="True">
- <owner>zhenw@chromium.org</owner>
- <summary>
- Collects data when a tab is switched to from another tab and then finishes
- loading in the foreground during session restore The event is only recorded
- when a tab is switched to from another tab within the same tabstrip. As a
- result, the initial foreground tab is not included in this event since it
- was not switched to from another tab. The event is not recorded when the
- session overlaps with background tab opening.
- </summary>
- <metric name="SequenceId">
- <summary>
- The ID of this event's sequence in current session restore session.
- </summary>
- </metric>
- <metric name="SessionRestoreSessionId">
- <summary>
- The ID of this session restore session.
- </summary>
- </metric>
- <metric name="SessionRestoreTabCount">
- <summary>
- Number of tabs that are restored.
- </summary>
- </metric>
- <metric name="SystemTabCount">
- <summary>
- Number of all tabs of the system, which includes all browser windows.
- </summary>
- </metric>
- <metric name="TabSwitchLoadTime">
- <summary>
- Tab switch load time in MS. It is defined as the time between when the
- user switches to a background tab, and the time when that tab finishes
- loading in the foreground. If the user switches away before the tab
- finishes loading, a metric will not be recorded unless the user switches
- back, in which case the tab switch load time is measured from that point
- in time.
- </summary>
- </metric>
- </event>
- <event name="TabManager.LifecycleStateChange">
- <owner>chrisha@chromium.org</owner>
- <owner>fdoray@chromium.org</owner>
- <summary>
- Collects information about when and why a lifecycle state change was
- attempted, and information about the outcome of the attempt.
- </summary>
- <metric name="FailureGlobalBlacklist" enum="Boolean">
- <obsolete>
- Deprecated 06/2020. Replaced with FailureGlobalDisallowlist.
- </obsolete>
- <summary>
- Boolean indicating that the tab was explicitly opted out of the
- intervention via the global disallowlist.
- </summary>
- </metric>
- <metric name="FailureGlobalDisallowlist" enum="Boolean">
- <summary>
- Boolean indicating that the tab was explicitly opted out of the
- intervention via the global disallowlist.
- </summary>
- </metric>
- <metric name="FailureHeuristicAudio" enum="Boolean">
- <summary>
- Boolean indicating that the intervention was disallowed because the origin
- has historically been observed emitting audio while in the background.
- </summary>
- </metric>
- <metric name="FailureHeuristicFavicon" enum="Boolean">
- <summary>
- Boolean indicating that the intervention was disallowed because the origin
- has historically been observed updating its favicon while in the
- background.
- </summary>
- </metric>
- <metric name="FailureHeuristicInsufficientObservation" enum="Boolean">
- <summary>
- Boolean indicating that the site is still being observed locally in order
- to determine which features are in use. In the meantime, it is protected
- from this intervention.
- </summary>
- </metric>
- <metric name="FailureHeuristicNotifications" enum="Boolean">
- <summary>
- Boolean indicating that the intervention was disallowed because the origin
- has historically been observed making use of notifications while in the
- background.
- </summary>
- </metric>
- <metric name="FailureHeuristicTitle" enum="Boolean">
- <summary>
- Boolean indicating that the intervention was disallowed because the origin
- has historically been observed updating its tab title while in the
- background.
- </summary>
- </metric>
- <metric name="FailureLifecyclesEnterprisePolicyOptOut" enum="Boolean">
- <summary>
- Boolean indicating that the browser was explicitly opted out of the
- intervention via enterprise policy.
- </summary>
- </metric>
- <metric name="FailureLifecyclesFeaturePolicyOptOut">
- <obsolete>
- Deprecated 08/2019. Replaced with FailureOriginTrialOptOut.
- </obsolete>
- <summary>
- Boolean indicating that the tab explicitly opted out of the intervention
- via feature policy.
- </summary>
- </metric>
- <metric name="FailureLiveStateCapturing" enum="Boolean">
- <summary>
- Boolean indicating that the intervention was disallowed because the tab is
- currently capturing user media (making use of webcam or microphone, for
- example).
- </summary>
- </metric>
- <metric name="FailureLiveStateDesktopCapture" enum="Boolean">
- <summary>
- Boolean indicating that the intervention was disallowed because the tab is
- currently capturing a window or screen.
- </summary>
- </metric>
- <metric name="FailureLiveStateDevToolsOpen" enum="Boolean">
- <summary>
- Boolean indicating that the intervention was disallowed because the tab is
- currently using DevTools.
- </summary>
- </metric>
- <metric name="FailureLiveStateExtensionDisallowed" enum="Boolean">
- <summary>
- Boolean indicating that the intervention was disallowed by an extension.
- </summary>
- </metric>
- <metric name="FailureLiveStateFormEntry" enum="Boolean">
- <summary>
- Boolean indicating that the intervention was disallowed because the tab
- currently contains text form entry.
- </summary>
- </metric>
- <metric name="FailureLiveStateHasNotificationsPermission" enum="Boolean">
- <summary>
- Boolean indicating that the intervention was disallowed because the tab
- has the permission to use notifications.
- </summary>
- </metric>
- <metric name="FailureLiveStateIsPDF" enum="Boolean">
- <summary>
- Boolean indicating that the intervention was disallowed because the tab is
- currently hosting a PDF.
- </summary>
- </metric>
- <metric name="FailureLiveStateMirroring" enum="Boolean">
- <summary>
- Boolean indicating that the intervention was disallowed because the tab is
- currently being mirrored (casting its contents, for example).
- </summary>
- </metric>
- <metric name="FailureLiveStatePlayingAudio" enum="Boolean">
- <summary>
- Boolean indicating that the intervention was disallowed because the tab is
- currently playing audio.
- </summary>
- </metric>
- <metric name="FailureLiveStateSharingBrowsingInstance" enum="Boolean">
- <summary>
- Boolean indicating that the intervention was disallowed because the tab is
- sharing its BrowsingInstance with at least one other tab.
- </summary>
- </metric>
- <metric name="FailureLiveStateUsingBluetooth" enum="Boolean">
- <summary>
- Boolean indicating that the intervention was disallowed because the tab is
- currently connected to at least one bluetooth device.
- </summary>
- </metric>
- <metric name="FailureLiveStateUsingIndexedDBLock" enum="Boolean">
- <summary>
- Boolean indicating that the intervention was disallowed because the tab is
- currently holding at least one IndexedDB lock.
- </summary>
- </metric>
- <metric name="FailureLiveStateUsingWebLock" enum="Boolean">
- <summary>
- Boolean indicating that the intervention was disallowed because the tab is
- currently holding at least one WebLock.
- </summary>
- </metric>
- <metric name="FailureLiveStateUsingWebSockets" enum="Boolean">
- <summary>
- Boolean indicating that the intervention was disallowed because the tab is
- currently using WebSockets.
- </summary>
- </metric>
- <metric name="FailureLiveStateUsingWebUSB" enum="Boolean">
- <summary>
- Boolean indicating that the intervention was disallowed because the tab is
- currently using WebUSB.
- </summary>
- </metric>
- <metric name="FailureLiveStateVisible" enum="Boolean">
- <summary>
- Boolean indicating that the intervention was disallowed because the tab is
- currently visible.
- </summary>
- </metric>
- <metric name="FailureLiveWebApp" enum="Boolean">
- <summary>
- Boolean indicating that the intervention was disallowed because the tab is
- a web application window.
- </summary>
- </metric>
- <metric name="FailureOriginTrialOptOut" enum="Boolean">
- <summary>
- Boolean indicating that the tab explicitly opted out of the intervention
- via origin trial.
- </summary>
- </metric>
- <metric name="FailureOriginTrialUnknown" enum="Boolean">
- <summary>
- Boolean indicating that the tab did not report its origin trial
- opt-in/opt-out yet.
- </summary>
- </metric>
- <metric name="LifecycleStateChangeReason">
- <summary>
- The reason the lifecycle state change was attempted. This corresponds to
- the LifecycleStateChangeReason enumeration in lifecycle_unit_state.mojom.
- </summary>
- </metric>
- <metric name="NewLifecycleState">
- <summary>
- The lifecycle state the tab will be in after the state change. Corresponds
- to a value from the LifecycleUnitState enum defined in
- lifecycle_unit_state.mojom.
- </summary>
- </metric>
- <metric name="OldLifecycleState">
- <summary>
- The lifecycle state the tab was in prior to the state change. Corresponds
- to a value from the LifecycleUnitState enum defined in
- lifecycle_unit_state.mojom.
- </summary>
- </metric>
- <metric name="Outcome" enum="Boolean">
- <summary>
- Whether or not the state change was successful. The various Failure and
- Success booleans encode the actual reasons for this outcome. Note that
- multiple success and failure reasons may be encoded for a single decision.
- The presence of any failure bit indicates a negative outcome. If only
- success bits are present the outcome is positive.
- </summary>
- </metric>
- <metric name="SuccessGlobalAllowlist" enum="Boolean">
- <summary>
- Boolean indicating that the tab was explicitly opted in to the
- intervention via the global allowlist.
- </summary>
- </metric>
- <metric name="SuccessGlobalWhitelist" enum="Boolean">
- <obsolete>
- Deprecated 06/2020. Replaced with SuccessGlobalAllowlist.
- </obsolete>
- <summary>
- Boolean indicating that the tab was explicitly opted in to the
- intervention via the global allowlist.
- </summary>
- </metric>
- <metric name="SuccessHeuristic" enum="Boolean">
- <summary>
- Boolean indicating that the tab was deemed safe for the intervention via
- local observations and heuristics.
- </summary>
- </metric>
- <metric name="SuccessLifecyclesFeaturePolicyOptIn">
- <obsolete>
- Deprecated 08/2019. Replaced with SuccessOriginTrialOptIn.
- </obsolete>
- <summary>
- Boolean indicating that the tab explicitly opted in to the intervention
- via feature policy.
- </summary>
- </metric>
- <metric name="SuccessOriginTrialOptIn" enum="Boolean">
- <summary>
- Boolean indicating that the tab explicitly opted in to the intervention
- via origin trial.
- </summary>
- </metric>
- <metric name="TimeSinceNavigationMs">
- <summary>
- The time elapsed (in milliseconds) since the top-level navigation was
- committed that loaded this tab's content.
- </summary>
- </metric>
- <metric name="TimeSinceVisibilityStateChangeMs">
- <summary>
- The amount of time that has passed (in milliseconds) since the last
- visibility state change.
- </summary>
- </metric>
- <metric name="TransitionForced" enum="Boolean">
- <summary>
- This is set if the transition to the new lifecycle state was forced by the
- browser because the content took too long to respond to the lifecycle
- event.
- </summary>
- </metric>
- <metric name="VisibilityState">
- <summary>
- The current visibility state. This is an integer value corresponding to
- the enumeration in content/public/browser/visibility.h.
- </summary>
- </metric>
- </event>
- <event
- name="TabManager.SessionRestore.ForegroundTab.ExpectedTaskQueueingDurationInfo">
- <owner>zhenw@chromium.org</owner>
- <summary>
- Collects the expected queueing duration of tasks and metadata for the
- foreground tab during session restore. The event is not recorded when the
- session overlaps with background tab opening. The event is not recorded when
- there is only one restored tab, in which case, there is no background
- restored tab and we are not interested at that. In this way, we cap the
- volume while keeping all interesting data.
- </summary>
- <metric name="ExpectedTaskQueueingDuration">
- <summary>
- Duration in MS for expected task queueing duration. The metric reflects
- the responsiveness of a tab. A lower value means the tab will respond to
- inputs faster. This metric is equal to
- RendererScheduler.ExpectedTaskQueueingDuration. It is emitted once for all
- tasks in each 1000-ms window.
- </summary>
- </metric>
- <metric name="SequenceId">
- <summary>
- The ID of this event's sequence in current session restore session.
- </summary>
- </metric>
- <metric name="SessionRestoreSessionId">
- <summary>
- The ID of this session restore session.
- </summary>
- </metric>
- <metric name="SessionRestoreTabCount">
- <summary>
- Number of tabs that are restored.
- </summary>
- </metric>
- <metric name="SystemTabCount">
- <summary>
- Number of all tabs of the system, which includes all browser windows.
- </summary>
- </metric>
- </event>
- <event name="TabManager.TabLifetime" singular="True">
- <owner>chrisha@chromium.org</owner>
- <summary>
- Collected when a tab is closed, at most once per source.
- </summary>
- <metric name="TimeSinceNavigation">
- <summary>
- The time when the tab was closed, expressed as the amount of time in MS
- that has elapsed since the main frame navigation providing the content of
- the tab.
- </summary>
- </metric>
- </event>
- <event name="TabManager.TabMetrics">
- <owner>michaelpg@chromium.org</owner>
- <summary>
- Collects tab information for a tab after navigations, activations and close
- events.
- </summary>
- <metric name="ContentType">
- <summary>
- Obsolete. Enumeration for the MIME type of the page. Values are enumerated
- in metrics::TabMetricsEvent::ContentType.
- </summary>
- </metric>
- <metric name="DefaultProtocolHandler">
- <summary>
- Obsolete. Schemes that a page from this page's origin is the default
- protocol handler for, meaning the user has chosen to accept (or the
- handler was preinstalled by Chrome). The metric is repeated, occurring for
- each such protocol handler, and uses values from
- metrics::TabMetricsEvent::Scheme.
- </summary>
- </metric>
- <metric name="HasBeforeUnloadHandler">
- <summary>
- Boolean value indicating whether the page has a beforeunload JavaScript
- event handler.
- </summary>
- </metric>
- <metric name="HasFormEntry">
- <summary>
- Boolean value indicating whether the page has any user-input text.
- </summary>
- </metric>
- <metric name="IsExtensionProtected">
- <summary>
- Obsolete. True if an extension has marked this tab as non-discardable via
- the chrome.tabs.update() extension API.
- </summary>
- </metric>
- <metric name="IsPinned">
- <summary>
- Boolean value indicating whether the tab is pinned in the tabstrip.
- </summary>
- </metric>
- <metric name="KeyEventCount">
- <summary>
- Number of key events that were sent to the page.
- </summary>
- </metric>
- <metric name="LabelId">
- <summary>
- An int64 random number generated at logging time. The same number will
- also be logged to the TabManager.Background.ForegroundedOrClosed event, so
- that feature label can be paired.
- </summary>
- </metric>
- <metric name="MouseEventCount">
- <summary>
- Number of mouse events that were sent to the page.
- </summary>
- </metric>
- <metric name="MRUIndex">
- <summary>
- Index of the tab in most-recently-used order. A value of N means there are
- N tabs more recently used than the one that is being foregrounded or
- closed.
- </summary>
- </metric>
- <metric name="NavigationEntryCount">
- <summary>
- Number of navigation entries in the tab's NavigationController.
- Corresponds to the size of the tab's back/forward list.
- </summary>
- </metric>
- <metric name="NumReactivationBefore">
- <summary>
- Number of reactivations that this tab had till now.
- </summary>
- </metric>
- <metric name="PageTransitionCoreType">
- <summary>
- Type of the page transition for this navigation. Uses the core values from
- ui::PageTransition.
- </summary>
- </metric>
- <metric name="PageTransitionFromAddressBar">
- <summary>
- True if the page transition came from interacting with the address bar,
- such as by typing a URL or performing a search.
- </summary>
- </metric>
- <metric name="PageTransitionIsRedirect">
- <summary>
- True if the page transition type is a redirect, in which case the
- PageTransition type may not be accurate.
- </summary>
- </metric>
- <metric name="QueryId">
- <summary>
- An int64 random number generated at query time of
- TabManager::GetSortedLifecycleUnitsFromTabRanker. Tabs with the same
- QueryId will be later on combined in one full list for further analysis.
- </summary>
- </metric>
- <metric name="SequenceId">
- <obsolete>
- Deprecated 11/2018 in favor LabelId.
- </obsolete>
- <summary>
- This metric is obsolete in 11/2018 in favor of LabelId for pairing with
- Tabmanager.ForegroundedOrClosed event. The sequence of this event and
- TabManager.ForegroundedOrClosed event in the current session. Incremented
- by 1 each time one of the two events is logged to provide an ordering of
- events.
- </summary>
- </metric>
- <metric name="SiteEngagementScore">
- <summary>
- Site engagement score in the range [0, 100], rounded down to a multiple of
- 10 to limit granularity.
- </summary>
- </metric>
- <metric name="TimeFromBackgrounded">
- <summary>
- Duration in MS from when the tab is backgrounded to when it is brought to
- foreground or closed.
- </summary>
- </metric>
- <metric name="TotalTabCount">
- <summary>
- Total number of tabs open across all non-incognito browser windows. Helps
- contextualize the MRUIndex value.
- </summary>
- </metric>
- <metric name="TouchEventCount">
- <summary>
- Number of touch events that were sent to the page.
- </summary>
- </metric>
- <metric name="WasRecentlyAudible">
- <summary>
- Boolean value indicating whether the tab has played audio within the last
- two seconds.
- </summary>
- </metric>
- <metric name="WindowId">
- <obsolete>
- Deprecated 11/2018 in favor of putting window features directly in this
- event.
- </obsolete>
- <summary>
- WindowId of the WindowMetrics entry corresponding to the browser window
- containing this tab. This metrics is not populated from 11/2018 because we
- don't need to join this event with other WindowMetrics any more.
- </summary>
- </metric>
- <metric name="WindowIsActive">
- <summary>
- Boolean value indicating whether the window is the active (frontmost)
- window.
- </summary>
- </metric>
- <metric name="WindowShowState">
- <summary>
- Enumeration of the window show state, such as fullscreen or minimized.
- Values are enumerated in metrics::WindowMetricsEvent::ShowState.
- </summary>
- </metric>
- <metric name="WindowTabCount">
- <summary>
- Number of tabs in the tab strip. Rounded down to the nearest exponential
- bucket (with a bucket spacing factor of 1.5). Will be 1 for windows with
- only one top-level WebContents, such as app windows.
- </summary>
- </metric>
- <metric name="WindowType">
- <summary>
- Enumeration for the type of the window. Values are enumerated in
- metrics::WindowMetricsEvent::Type.
- </summary>
- </metric>
- </event>
- <event name="TabManager.WindowMetrics">
- <owner>michaelpg@chromium.org</owner>
- <summary>
- Collects information about a browser or app window to associate with the
- TabManager.TabMetrics entries for tabs in that window.
- </summary>
- <metric name="IsActive">
- <summary>
- Whether the window is the active (frontmost) window.
- </summary>
- </metric>
- <metric name="ShowState">
- <summary>
- Enumeration of the window show state, such as fullscreen or minimized.
- Values are enumerated in metrics::WindowMetricsEvent::ShowState.
- </summary>
- </metric>
- <metric name="TabCount">
- <summary>
- Number of tabs in the tab strip. Rounded down to the nearest exponential
- bucket (with a bucket spacing factor of 1.5). Will be 1 for windows with
- only one top-level WebContents, such as app windows.
- </summary>
- </metric>
- <metric name="Type">
- <summary>
- Enumeration for the type of the window. Values are enumerated in
- metrics::WindowMetricsEvent::Type.
- </summary>
- </metric>
- <metric name="WindowId">
- <summary>
- Session ID of the browser or app window this entry represents, unique for
- the browsing session.
- </summary>
- </metric>
- </event>
- <event name="TopToolbar.Share">
- <owner>nyquist@chromium.org</owner>
- <owner>ssid@chromium.org</owner>
- <summary>
- User pressed the 'Share' in the top toolbar, which shares the current URL.
- </summary>
- <metric name="HasOccurred" enum="Boolean">
- <summary>
- A boolean signaling that the event has occurred; only records true values.
- </summary>
- </metric>
- </event>
- <event name="TouchToFill.Shown">
- <owner>kazinova@google.com</owner>
- <owner>fhorschig@chromium.org</owner>
- <owner>kolos@chromium.org</owner>
- <summary>
- Recorded when a user takes an action on the Touch To Fill sheet.
- </summary>
- <metric name="UserAction" enum="TouchToFill.UserAction">
- <summary>
- The action a user took when interacting with the Touch To Fill sheet.
- </summary>
- </metric>
- </event>
- <event name="TouchToFill.SubmissionReadiness">
- <owner>kolos@chromium.org</owner>
- <owner>fhorschig@chromium.org</owner>
- <summary>
- Recorded when the Touch To Fill sheet is shown to the user.
- </summary>
- <metric name="SubmissionReadiness" enum="TouchToFill.SubmissionReadiness">
- <summary>
- A given form's state (e.g. there are empty fields in the form, or there
- are only two fields and they both are filled by Chrome) that indicates
- whether the form is ready for submission. Recorded when a Touch To Fill
- sheet is shown for that form.
- </summary>
- </metric>
- </event>
- <event name="TouchToFill.TimeToSuccessfulLogin">
- <owner>kolos@chromium.org</owner>
- <owner>fhorschig@chromium.org</owner>
- <summary>
- Recorded when a successful login is detected after filling by the Touch To
- Fill.
- </summary>
- <metric name="TimeToSuccessfulLogin">
- <summary>
- The time in milliseconds between filling by the Touch To Fill and a
- successful submission (To ensure filling and submitting correspond to each
- other, the usernames should coincide and the timestamps should be within
- one minute. A successful login after a failed submission or manual typing
- is not reported). Used to compare the times when automated submission is
- enabled and disabled. Thus, we measure the time saved for a user. Recorded
- when the password manager detects that the login was successful.
- </summary>
- </metric>
- </event>
- <event name="Translate">
- <owner>hamelphi@chromium.org</owner>
- <summary>
- Metrics related to a Translate event. These metrics are described in
- TranslateEventProto.
- </summary>
- <metric name="AcceptCount"/>
- <metric name="Country"/>
- <metric name="DeclineCount"/>
- <metric name="EventType"/>
- <metric name="IgnoreCount"/>
- <metric name="RankerResponse"/>
- <metric name="RankerVersion"/>
- <metric name="SourceLanguage" semantic_type="ST_DEMOGRAPHIC_INFO"/>
- <metric name="TargetLanguage" semantic_type="ST_DEMOGRAPHIC_INFO"/>
- </event>
- <event name="TranslatePageLoad">
- <owner>curranmax@chromium.org</owner>
- <owner>megjablon@chromium.org</owner>
- <owner>chrome-language@google.com</owner>
- <summary>
- Summary of the user's interaction with Translate from the beginning of the
- page load to when the event is recorded. This event is recorded when a page
- load is completed and every time that Chrome is backgrounded during the
- course of the page load. This means we can record multiple events for a
- single page load, but it guarentees that we will still record data in
- instances where the user backgrounds then kills Chrome.
- </summary>
- <metric name="FinalSourceLanguage" semantic_type="ST_DEMOGRAPHIC_INFO"
- enum="LocaleCodeISO639">
- <summary>
- The source language at the time the event is recorded. In most cases this
- will match the intial source language, but the user can change the source
- language manually if they want. Note that the semantic_type attribute is
- included in order to remain consistent with the previous Translate UKM
- proto.
- </summary>
- </metric>
- <metric name="FinalState" enum="TranslateState">
- <summary>
- At the time this event is recorded, the state of Translate. This includes
- whether the page is translated or not and if no UI is shown, just the
- omnibox icon is shown, or the full translate UI is shown.
- </summary>
- </metric>
- <metric name="FinalTargetLanguage" semantic_type="ST_DEMOGRAPHIC_INFO"
- enum="LocaleCodeISO639">
- <summary>
- The target language at the time the event is recorded. In most cases this
- will match the initial target language, but the user can change the target
- language manually if they want. Note that the semantic_type attribute is
- included in order to remain consistent with the previous Translate UKM
- proto.
- </summary>
- </metric>
- <metric name="FirstTranslateError" enum="TranslateError">
- <summary>
- The first error to occur within Translate for this page load.
- </summary>
- </metric>
- <metric name="FirstUIInteraction" enum="TranslateUIInteraction">
- <summary>
- The user's first interaction with the Translate UI.
- </summary>
- </metric>
- <metric name="HTMLContentLanguage" semantic_type="ST_DEMOGRAPHIC_INFO"
- enum="LocaleCodeISO639">
- <summary>
- The HTML language content attribute specified by the document. Note that
- the semantic_type attribute is included in order to remain consistent with
- the previous Translate UKM proto.
- </summary>
- </metric>
- <metric name="HTMLDocumentLanguage" semantic_type="ST_DEMOGRAPHIC_INFO"
- enum="LocaleCodeISO639">
- <summary>
- The HTML language attribute specified by the document. Note that the
- semantic_type attribute is included in order to remain consistent with the
- previous Translate UKM proto.
- </summary>
- </metric>
- <metric name="InitialSourceLanguage" semantic_type="ST_DEMOGRAPHIC_INFO"
- enum="LocaleCodeISO639">
- <summary>
- The initial source language that Translate determines for the page. Note
- that the semantic_type attribute is included in order to remain consistent
- with the previous Translate UKM proto.
- </summary>
- </metric>
- <metric name="InitialSourceLanguageInContentLanguages" enum="Boolean">
- <summary>
- Signals whether the initial source language is in the list of the user's
- content languages. The user's content languages loosely match with the
- languages the user has translated to before or has blocked for
- translation.
- </summary>
- </metric>
- <metric name="InitialState" enum="TranslateState">
- <summary>
- At the beginning of the page load, the state of Translate. This includes
- whether the page is translated or not and if no UI is shown, just the
- omnibox icon is shown, or the full translate UI is shown.
- </summary>
- </metric>
- <metric name="InitialTargetLanguage" semantic_type="ST_DEMOGRAPHIC_INFO"
- enum="LocaleCodeISO639">
- <summary>
- The initial target language that Translate thinks it should translate to.
- Note that the semantic_type attribute is included in order to remain
- consistent with the previous Translate UKM proto.
- </summary>
- </metric>
- <metric name="MaxTimeToTranslate">
- <summary>
- Across all translations during this page load, the maximum amount of time
- (in milliseconds) it took to translate the page.
- </summary>
- </metric>
- <metric name="ModelDetectedLanguage" semantic_type="ST_DEMOGRAPHIC_INFO"
- enum="LocaleCodeISO639">
- <summary>
- The language that was estimated by the language model based on the page's
- content. Note that the semantic_type attribute is included in order to
- remain consistent with the previous Translate UKM proto.
- </summary>
- </metric>
- <metric name="ModelDetectionReliabilityScore">
- <summary>
- The score, or confidence, of the language detection model's prediction
- about the language of the page content. The score is between 0 and 100,
- higher means more confident.
- </summary>
- </metric>
- <metric name="NumReversions">
- <summary>
- The number of times a translation was reverted.
- </summary>
- </metric>
- <metric name="NumTargetLanguageChanges">
- <summary>
- The number of times that the target language was changed by the user over
- the course of this page load.
- </summary>
- </metric>
- <metric name="NumTranslateErrors">
- <summary>
- The number of errors to occur within Translate for this page load.
- </summary>
- </metric>
- <metric name="NumTranslations">
- <summary>
- The number of times the page was translated.
- </summary>
- </metric>
- <metric name="NumUIInteractions">
- <summary>
- The number of times that the user interacts with the Translate UI.
- </summary>
- </metric>
- <metric name="RankerDecision" enum="TranslateRankerDecision">
- <summary>
- Decision of the Ranker whether to show the UI or not.
- </summary>
- </metric>
- <metric name="RankerVersion">
- <summary>
- Version of Ranker used for this page load.
- </summary>
- </metric>
- <metric name="SequenceNumber">
- <summary>
- In case multiple events are logged for one page load, we track the
- sequence in the order each event is logged.
- </summary>
- </metric>
- <metric name="TotalTimeNotTranslated">
- <summary>
- The amount of time (in seconds) this page was in the foreground and not
- translated.
- </summary>
- </metric>
- <metric name="TotalTimeTranslated">
- <summary>
- The amount of time (in seconds) this page was in the foreground and
- translated.
- </summary>
- </metric>
- <metric name="TriggerDecision" enum="TranslateTriggerDecision">
- <summary>
- The highest priority trigger that determined the initial state of
- Translate for this page load.
- </summary>
- </metric>
- <metric name="WasContentEmpty" enum="Boolean">
- <summary>
- Whether the page content used to detect the page language was empty or
- not.
- </summary>
- </metric>
- </event>
- <event name="TrustedWebActivity.LocationDelegation" singular="True">
- <owner>eirage@chromium.org</owner>
- <owner>peconn@chromium.org</owner>
- <summary>
- Records when a site running in Trusted Web Activity requests geolocation.
- </summary>
- <metric name="Enrolled" enum="Boolean">
- <summary>
- Whether the Trusted Web Activity client app enrolled location delegation.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="TrustedWebActivity.Open" singular="True">
- <owner>peconn@chromium.org</owner>
- <summary>
- Collected when a page is opened in a Trusted Web Activity.
- </summary>
- <metric name="HasOccurred" enum="Boolean">
- <summary>
- A boolean signaling that the event has occurred (typically only records
- true values).
- </summary>
- </metric>
- </event>
- <event name="TrustedWebActivity.QualityEnforcementViolation" singular="True">
- <owner>eirage@chromium.org</owner>
- <owner>peconn@chromium.org</owner>
- <summary>
- Records when Trusted Web Activity launches or navigates to a site that
- violates the quality criteria.
- </summary>
- <metric name="ViolationType"
- enum="TrustedWebActivityQualityEnforcementViolationType">
- <summary>
- An enum that records the type of the quality criteria.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="Unload" singular="True">
- <owner>kdillon@chromium.org</owner>
- <summary>
- Metrics associated with a unloading in preparation for a navigation.
- </summary>
- <metric name="BeforeUnloadDuration">
- <summary>
- Measures the time in milliseconds of running the beforeunload handlers for
- a page. If the beforeunloads are dispatched from the browser, this reports
- the longest running one since these handlers will be run in parallel when
- the page has frames in different processes. If the navigation is renderer
- initiated, it will be the duration of running beforeunload handlers in the
- navigating frame and its local descendants in the renderer plus any
- latency caused by dispatching beforeunloads to remote frames from the
- browser.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="BeforeUnloadQueueingDuration">
- <summary>
- Measures the time in milliseconds from when the browser sends the request
- to run beforeunload to the renderer to when the renderer begins
- dispatching the handlers. For browser-initiated navigations, we report the
- queueing duration of the beforeunloads that took the longest since they
- are dispatched in parallel to remote and local frames. For renderer-
- initiated navigations this metric will only be filled in if we dispatched
- beforeunloads from the browser to remote frames which we had to wait on.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="BeforeUnloadToCommit.CrossProcess">
- <summary>
- Measures the time in milliseconds from when the browser sends the request
- to dispatch before unload handlers (for browser-intitated navigations) or
- from when the renderer started running before unload handlers (for
- renderer-initiated navigations) to when the commit navigation was sent to
- the renderer process. For cross-process navigations this represents the
- total amount of time the navigation is blocked since it was initiated.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="BeforeUnloadToCommit.SameProcess">
- <summary>
- Measures the time in milliseconds from when the browser sends the request
- to dispatch before unload handlers (for browser-intitated navigations) or
- from when the renderer started running before unload handlers (for
- renderer-initiated navigations) to when the navigation was committed. For
- same-process navigations this represents the total amount of time the
- navigation is blocked since it was initiated.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="UnloadDuration">
- <summary>
- Measures the time in milliseconds to run the unload handlers in the old
- document where the navigation was committed. Only records for same-process
- navigations since there are no unload handlers to be run in the new
- process during a cross-process navigation.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="UnloadQueueingDuration">
- <summary>
- Measures the time in miliseconds from when the browser sends the commit
- navigation request to the renderer to when the renderer dispatches unload
- events. Only records for same-process navigations since unload handlers
- are run in a different process for cross-process navigations.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="UserActivity">
- <owner>jiameng@chromium.org</owner>
- <summary>
- Collects user activity events after staying idle for a short period of time.
- </summary>
- <metric name="BatteryPercent">
- <summary>
- Percentage of battery, bucketed to 5 percents, i.e. [0, 5%) is mapped to
- 0, [5%, 10%) is mapped to 5 etc.
- </summary>
- </metric>
- <metric name="DeviceManagement">
- <summary>
- An enum representing whether the device is managed, defined in
- |ash::power::ml::UserActivityEvent::Features::ManagementType|.
- </summary>
- </metric>
- <metric name="DeviceMode">
- <summary>
- An enum representing the mode of the device, defined in
- |ash::power::ml::UserActivityEvent::Features::DeviceMode|
- </summary>
- </metric>
- <metric name="DeviceType">
- <summary>
- An enum representing the type of the device, defined in
- |ash::power::ml::UserActivityEvent::Features::DeviceType|
- </summary>
- </metric>
- <metric name="EventLogDuration">
- <summary>
- Time taken in seconds from when we start logging the features to the
- moment when the event type is known and we finish logging the complete
- event.
- </summary>
- </metric>
- <metric name="EventReason">
- <summary>
- An enum representing the reason of the event, defined in
- |ash::power::ml::UserActivityEvent::Event::Reason|.
- </summary>
- </metric>
- <metric name="EventType">
- <summary>
- An enum representing the type of the event, defined in
- |ash::power::ml::UserActivityEvent::Event::Type|.
- </summary>
- </metric>
- <metric name="KeyEventsInLastHour">
- <summary>
- The number of key events reported as user activity in the last hour. This
- is bucketized so that it is recorded precisely when it is in [0, 99],
- rounded to nearest 100 when it is in [100, 999] and rounded to nearest
- 1000 when it is in [1000, 9999]. It is capped at 10000.
- </summary>
- </metric>
- <metric name="LastActivityDay">
- <summary>
- An enum representing the last activity day of the week, defined in
- |ash::power::ml::UserActivityEvent::Features::DayOfWeek|.
- </summary>
- </metric>
- <metric name="LastActivityTime">
- <summary>
- Last activity time as hours since midnight in the local time zone.
- </summary>
- </metric>
- <metric name="LastUserActivityTime">
- <summary>
- Last user activity time as hours since midnight in the local time zone.
- </summary>
- </metric>
- <metric name="ModelApplied">
- <summary>
- A boolean value whether model prediction is applied in the screen-dim
- decision. False means powerd dims the screen regardless of the model
- prediction.
- </summary>
- </metric>
- <metric name="ModelDecisionThreshold">
- <summary>
- A threhold in the range of [0, 100]. Higher threshold makes screen-dim
- less likely.
- </summary>
- </metric>
- <metric name="ModelInactivityScore">
- <summary>
- Probability that user will remain inactive as predicted by the model. It
- is in the range of [0, 100]. If score is less than the decision threshold,
- dim will be deferred.
- </summary>
- </metric>
- <metric name="ModelResponse">
- <summary>
- Whether the model recommends the screen dim should be deferred (NO_DIM) or
- allowed (DIM), or encountered an error (MODEL_ERROR).
- </summary>
- </metric>
- <metric name="MouseEventsInLastHour">
- <summary>
- The number of mouse events reported as user activity in the last hour.
- This is bucketized so that it is recorded precisely when it is in [0, 99],
- rounded to nearest 100 when it is in [100, 999] and rounded to nearest
- 1000 when it is in [1000, 9999]. It is capped at 10000.
- </summary>
- </metric>
- <metric name="OnBattery">
- <summary>
- Boolean value to represent whether the device is currently on battery
- power.
- </summary>
- </metric>
- <metric name="PreviousNegativeActionsCount">
- <summary>
- Number of times user reactivated, not including the current event.
- </summary>
- </metric>
- <metric name="PreviousPositiveActionsCount">
- <summary>
- Number of times user has remained idle, not including the current event.
- </summary>
- </metric>
- <metric name="RecentTimeActive">
- <summary>
- Duration of activity in seconds up to last activity.
- </summary>
- </metric>
- <metric name="RecentVideoPlayingTime">
- <summary>
- Recent video playing time in seconds.
- </summary>
- </metric>
- <metric name="ScreenDimDelay">
- <summary>
- Delay after which the screen will be dimmed in seconds.
- </summary>
- </metric>
- <metric name="ScreenDimmedInitially">
- <summary>
- Whether screen was dimmed at the start of the event.
- </summary>
- </metric>
- <metric name="ScreenDimOccurred">
- <summary>
- Whether screen dim occurred due to inactivity timeout.
- </summary>
- </metric>
- <metric name="ScreenDimToOffDelay">
- <summary>
- Delay after which the screen will be turned off in seconds, as measured
- from screen is dimmed. If dim is diabled, it is the delay from the start
- of inactivity.
- </summary>
- </metric>
- <metric name="ScreenLockedInitially">
- <summary>
- Whether screen was locked at the start of the event.
- </summary>
- </metric>
- <metric name="ScreenLockOccurred">
- <summary>
- Whether screen lock occurred.
- </summary>
- </metric>
- <metric name="ScreenOffInitially">
- <summary>
- Whether screen was off at the start of the event.
- </summary>
- </metric>
- <metric name="ScreenOffOccurred">
- <summary>
- Whether screen off occurred due to inactivity timeout.
- </summary>
- </metric>
- <metric name="SequenceId">
- <summary>
- The ID of this event in the current session.
- </summary>
- </metric>
- <metric name="TimeSinceLastKey">
- <summary>
- Time from last key event in seconds.
- </summary>
- </metric>
- <metric name="TimeSinceLastMouse">
- <summary>
- Time from last mouse event in seconds.
- </summary>
- </metric>
- <metric name="TimeSinceLastTouch">
- <summary>
- Time from last touch event in seconds.
- </summary>
- </metric>
- <metric name="TimeSinceLastVideoEnded">
- <summary>
- Time from the end of the last video playing in seconds.
- </summary>
- </metric>
- <metric name="TouchEventsInLastHour">
- <summary>
- The number of touch events reported as user activity in the last hour.
- This is bucketized so that it is recorded precisely when it is in [0, 99],
- rounded to nearest 100 when it is in [100, 999] and rounded to nearest
- 1000 when it is in [1000, 9999]. It is capped at 10000.
- </summary>
- </metric>
- </event>
- <event name="UserActivityId">
- <owner>jiameng@chromium.org</owner>
- <summary>
- Records an activity that happened while a page was open.
- </summary>
- <metric name="ActivityId">
- <summary>
- The ID of the activity that happened while a page was open.
- </summary>
- </metric>
- <metric name="ContentType">
- <summary>
- Enumeration for the MIME type of the page. Values are enumerated in
- metrics::TabMetricsEvent::ContentType.
- </summary>
- </metric>
- <metric name="HasFormEntry">
- <summary>
- Boolean value indicating whether the page has any user-input text.
- </summary>
- </metric>
- <metric name="IsActive">
- <summary>
- Boolean value representing whether this tab is selected in its containing
- browser.
- </summary>
- </metric>
- <metric name="IsBrowserFocused">
- <summary>
- Boolean value representing whether the containing browser is in focus.
- </summary>
- </metric>
- <metric name="IsBrowserVisible">
- <summary>
- Boolean value representing whether the containing browser is visible.
- </summary>
- </metric>
- <metric name="IsTopmostBrowser">
- <summary>
- Boolean value representing whether the containing browser is the topmost
- one on the screen.
- </summary>
- </metric>
- <metric name="SiteEngagementScore">
- <summary>
- Site engagement score in the range [0, 100], rounded down to a multiple of
- 10 to limit granularity.
- </summary>
- </metric>
- </event>
- <event name="UserPerceivedPageVisit" singular="True">
- <owner>djw@chromium.org</owner>
- <owner>altimin@chromium.org</owner>
- <summary>
- Metrics related to a page visit as a user perceives it, regardless of how
- the page was visited. More metrics may be associated with a particular page
- visit, these can be found in specific UKM events with the same UKM source
- ID. Currently the methods of visiting a page that will populate this event
- are: 'normal' page load (more metrics in the PageLoad event), Back-Forward
- Cache Restore (more metrics in the HistoryNavigation event), and AMP
- documents (more metrics in the AmpPageLoad event)
- </summary>
- <metric name="NotCountedForCoreWebVitals" enum="Boolean">
- <summary>
- Determines if this page visit event should be counted towards calculations
- involving Core Web Vitals. If true, this page visit event should not be
- counted. If false or NULL, the page visit event should be considered.
- Currently this is determined by checking the mime-type of the page visit
- event.
- </summary>
- </metric>
- <metric name="PageVisitFinalStatus" enum="PageVisitFinalStatus">
- <summary>
- Determines the final status for this page visit. That is, records whether
- the page was never foregrounded, was foregrounded but did not reach FCP,
- or did reach FCP. The metric is recorded at the end of each page visit.
- App backgrounding on Android to is considered to be the end of page visit
- as well, as the app could be evicted by Android anytime after that
- happens.
- </summary>
- </metric>
- <metric name="UserInitiated" enum="Boolean">
- <summary>
- True if this page visit was initiated by user input. For renderer
- navigations, only true if the code can trace back to the original input
- event - there are cases where this known not to be possible.
- </summary>
- </metric>
- </event>
- <event name="UserSettingsEvent">
- <owner>wrong@chromium.org</owner>
- <owner>jiameng@chromium.org</owner>
- <summary>
- Contains information about user activities relating to settings changes.
- </summary>
- <metric name="AccessibilityId" enum="AccessibilityId">
- <summary>
- The accessibility setting that was changed.
- </summary>
- </metric>
- <metric name="BatteryPercentage">
- <summary>
- Battery percentage from 0 to 100.
- </summary>
- </metric>
- <metric name="Country">
- <summary>
- Country ID at install, corresponding to the value used by
- src/components/country_codes/country_codes.h.
- </summary>
- </metric>
- <metric name="CurrentValue">
- <summary>
- Value of the setting after the change.
- </summary>
- </metric>
- <metric name="DayOfWeek" enum="DayOfWeek">
- <summary>
- Day of the week of the settings change.
- </summary>
- </metric>
- <metric name="DeviceMode" enum="DeviceMode">
- <summary>
- The current device mode, such as clamshell or tablet.
- </summary>
- </metric>
- <metric name="DeviceOrientation" enum="DeviceOrientation">
- <summary>
- The current orientation of the device.
- </summary>
- </metric>
- <metric name="EventId">
- <summary>
- Randomly generated ID that links together settings events that occured at
- the same time.
- </summary>
- </metric>
- <metric name="HasNightLightSchedule" enum="Boolean">
- <summary>
- A boolean indicating whether the user has set up a night light schedule.
- </summary>
- </metric>
- <metric name="HasWifiSecurity" enum="Boolean">
- <summary>
- A boolean indicating whether or not the current wifi network has security.
- Only populated upon connection to a wifi network.
- </summary>
- </metric>
- <metric name="HourOfDay">
- <summary>
- Time in hours since midnight in the local time zone.
- </summary>
- </metric>
- <metric name="IsAfterSunset" enum="Boolean">
- <summary>
- A boolean, true if it is after sunset and before sunrise in the local
- time.
- </summary>
- </metric>
- <metric name="IsCharging" enum="Boolean">
- <summary>
- A boolean indicating whether the device is charging.
- </summary>
- </metric>
- <metric name="IsFromSearch" enum="Boolean">
- <summary>
- A boolean indicating whether or not search was used to navigate to the
- setting.
- </summary>
- </metric>
- <metric name="IsPairedBluetoothDevice" enum="Boolean">
- <summary>
- A boolean indicating whether or not the current bluetooth device was
- already paired. Only populated upon connection to a bluetooth device.
- </summary>
- </metric>
- <metric name="IsPlayingAudio" enum="Boolean">
- <summary>
- A boolean indicating whether the device is playing audio.
- </summary>
- </metric>
- <metric name="IsPlayingVideo" enum="Boolean">
- <summary>
- A boolean indicating whether the device is playing video.
- </summary>
- </metric>
- <metric name="IsRecentlyFullscreen" enum="Boolean">
- <summary>
- A boolean indicating whether the device has been in fullscreen mode in the
- last 5 minutes.
- </summary>
- </metric>
- <metric name="IsRecentlyPresenting" enum="Boolean">
- <summary>
- A boolean indicating whether the device has been presenting in the last 5
- minutes.
- </summary>
- </metric>
- <metric name="NetworkStatus" enum="NetworkStatus">
- <summary>
- Internet connection status of the device.
- </summary>
- </metric>
- <metric name="PreviousValue">
- <summary>
- Value of the setting before the change.
- </summary>
- </metric>
- <metric name="SettingId" enum="SettingId">
- <summary>
- The setting that was changed.
- </summary>
- </metric>
- <metric name="SettingType" enum="SettingType">
- <summary>
- Where the settings event originated from.
- </summary>
- </metric>
- <metric name="SignalStrength">
- <summary>
- The signal strength for the connected network. Only populated upon
- connection to a wifi or cellular network.
- </summary>
- </metric>
- <metric name="TimeSinceLastSettingsChange">
- <summary>
- Time in minutes since the last settings change.
- </summary>
- </metric>
- <metric name="UsedCellularInSession" enum="Boolean">
- <summary>
- A boolean indicating whether the user has connected to a cellular network
- in the current session.
- </summary>
- </metric>
- </event>
- <event name="V8.Wasm.ModuleCompiled">
- <owner>ecmziegler@chromium.org</owner>
- <summary>
- Records information on baseline compilation of WebAssembly modules and its
- resource consumption.
- </summary>
- <metric name="Async" enum="Boolean">
- <summary>
- The compilation was running asynchronously.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Cached" enum="Boolean">
- <summary>
- The compilation was re-using already cached native module code instead of
- JIT compiling it.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="CodeSize">
- <summary>
- The size of the native module code in bytes after baseline compilation
- finished.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Deserialized" enum="Boolean">
- <summary>
- The compilation was deserializing the native module code from the disk
- cache instead of JIT compiling it.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Lazy" enum="Boolean">
- <summary>
- The lazy compilation flag was enabled and therefore not all functions
- might have been compiled.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="LiftoffBailoutCount">
- <summary>
- The number of functions that Liftoff could not compile and that therefore
- needed to be compiled by TurboFan.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Streamed" enum="Boolean">
- <summary>
- The wire bytes were streamed while compiling.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Success" enum="Boolean">
- <summary>
- The module was successfully compiled.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="WallClockDuration">
- <summary>
- The total time the compilation took in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="WallClockTime">
- <obsolete>
- Removed 11/2020
- </obsolete>
- <summary>
- The total time the compilation took in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="V8.Wasm.ModuleDecoded">
- <owner>ecmziegler@chromium.org</owner>
- <summary>
- Records information on WebAssembly modules included in websites.
- </summary>
- <metric name="FunctionCount">
- <summary>
- Number of declared functions in this module.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="ModuleSize">
- <summary>
- The size of the wire bytes of the module.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Streamed" enum="Boolean">
- <summary>
- The wire bytes were streamed while decoding.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Success" enum="Boolean">
- <summary>
- The module was successfully decoded.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="WallClockDuration">
- <summary>
- The total time the decoding took in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="WallClockTime">
- <obsolete>
- Removed 11/2020
- </obsolete>
- <summary>
- The total time the compilation took in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="V8.Wasm.ModuleInstantiated">
- <owner>ecmziegler@chromium.org</owner>
- <summary>
- Records information on instantiation of WebAssembly modules and its resource
- consumption.
- </summary>
- <metric name="ImportedFunctionCount">
- <summary>
- The number of functions imported by the module.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Success" enum="Boolean">
- <summary>
- The module was successfully instantiated.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="WallClockDuration">
- <summary>
- The total time the instantiation took in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="WallClockTime">
- <obsolete>
- Removed 11/2020
- </obsolete>
- <summary>
- The total time the compilation took in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="V8.Wasm.ModuleTieredUp">
- <owner>ecmziegler@chromium.org</owner>
- <summary>
- Records information on top-tier compilation of WebAssembly modules and its
- resource consumption.
- </summary>
- <metric name="CodeSize">
- <summary>
- The size of the native module code in bytes after top-tier compilation
- finished.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Lazy" enum="Boolean">
- <summary>
- The lazy compilation flag was enabled and therefore not all functions
- might have been compiled.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="WallClockDuration">
- <summary>
- The total time the compilation took in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="WallClockTime">
- <obsolete>
- Removed 11/2020
- </obsolete>
- <summary>
- The total time the compilation took in microseconds.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="VirtualKeyboard.Open">
- <owner>shend@chromium.org</owner>
- <summary>
- Collects the used input types with the Virtual Keyboard.
- </summary>
- <metric name="TextInputType">
- <summary>
- Type of a input field which the user is trying to use the Virtual Keyboard
- on.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.form_factor"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="WebAPK.Install" singular="True">
- <owner>yfriedman@chromium.org</owner>
- <owner>hartmanng@chromium.org</owner>
- <owner>pkotwicz@chromium.org</owner>
- <summary>
- WebAPK usage metrics recorded on Install.
- </summary>
- <metric name="AppVersion">
- <summary>
- WebAPK app version that the user is installing.
- </summary>
- <aggregation>
- <history>
- <index fields="metrics.Distributor"/>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Distributor" enum="WebApkDistributor">
- <summary>
- Distribution source of the WebAPK (browser, device policy, etc).
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Install" enum="Boolean">
- <summary>
- Recorded when this WebAPK is installed.
- </summary>
- <aggregation>
- <history>
- <index fields="metrics.Distributor"/>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="WebAPK.SessionEnd" singular="True">
- <owner>yfriedman@chromium.org</owner>
- <owner>hartmanng@chromium.org</owner>
- <owner>pkotwicz@chromium.org</owner>
- <summary>
- WebAPK usage metrics recorded when the WebAPK is backgrounded.
- </summary>
- <metric name="AppVersion">
- <summary>
- WebAPK app version that the user has installed.
- </summary>
- <aggregation>
- <history>
- <index fields="metrics.Distributor"/>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Distributor" enum="WebApkDistributor">
- <summary>
- Distribution source of the WebAPK (browser, device policy, etc).
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SessionDuration">
- <summary>
- How long the user spent inside the WebAPK, in milliseconds. This will use
- exponential bucketing (ie, count in 10s of milliseconds at first, then
- 100s, then seconds, 10s of seconds, minutes, 10 minutes, hours, 10 hours,
- days, weeks, years.)
- </summary>
- <aggregation>
- <history>
- <index fields="metrics.Distributor"/>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="WebAPK.Uninstall" singular="True">
- <owner>yfriedman@chromium.org</owner>
- <owner>hartmanng@chromium.org</owner>
- <owner>pkotwicz@chromium.org</owner>
- <summary>
- WebAPK usage metrics recorded on Uninstall.
- </summary>
- <metric name="AppVersion">
- <summary>
- WebAPK app version that the user has installed.
- </summary>
- <aggregation>
- <history>
- <index fields="metrics.Distributor"/>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Distributor" enum="WebApkDistributor">
- <summary>
- Distribution source of the WebAPK (browser, device policy, etc).
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="InstalledDuration">
- <summary>
- How long between Install and Uninstall of a particular WebAPK, in seconds.
- This will use exponential bucketing (ie, count in seconds at first, then
- 10s of seconds, minutes, 10 minutes, hours, 10 hours, days, weeks, years.)
- </summary>
- <aggregation>
- <history>
- <index fields="metrics.Distributor"/>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="LifetimeLaunches" enum="WebApkLifetimeLaunchCount">
- <summary>
- Records how many times the WebAPK was launched between install and
- uninstall (in coarse buckets).
- </summary>
- <aggregation>
- <history>
- <index fields="metrics.Distributor"/>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Uninstall" enum="Boolean">
- <summary>
- Recorded when this WebAPK is uninstalled.
- </summary>
- <aggregation>
- <history>
- <index fields="metrics.Distributor"/>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="WebAPK.Visit" singular="True">
- <owner>yfriedman@chromium.org</owner>
- <owner>hartmanng@chromium.org</owner>
- <owner>pkotwicz@chromium.org</owner>
- <summary>
- WebAPK usage metrics recorded during a user's interaction with the site.
- </summary>
- <metric name="AppVersion">
- <summary>
- WebAPK app version that the user has installed.
- </summary>
- <aggregation>
- <history>
- <index fields="metrics.Distributor"/>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Distributor" enum="WebApkDistributor">
- <summary>
- Distribution source of the WebAPK (browser, device policy, etc).
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Launch" enum="Boolean">
- <summary>
- Recorded every time this WebAPK is launched.
- </summary>
- <aggregation>
- <history>
- <index fields="metrics.Distributor"/>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="LaunchSource" enum="LaunchFromHomeScreenSource">
- <summary>
- Launch source of the WebAPK.
- </summary>
- <aggregation>
- <history>
- <index fields="metrics.Distributor"/>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="Webapp.AddToHomeScreen">
- <owner>eirage@chromium.org></owner>
- <owner>hartmanng@chromium.org</owner>
- <owner>mwi-team-core@google.com</owner>
- <summary>
- A2HS usage metrics recorded when users started the add to home screen flow
- on Android.
- </summary>
- <metric name="DisplayMode" enum="WebAppDisplayMode">
- <summary>
- Records the display mode of the added Webapp.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="SameAsManifestStartUrl" enum="Boolean">
- <summary>
- Record whether `start_url` for the Shortcuts is the same as the current
- page url.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="ShortcutReason" enum="InstallableStatusCode">
- <summary>
- Record an StatusCode for why this site is not WebAPK compatible.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="WebApp.DailyInteraction">
- <owner>glenrob@chromium.org</owner>
- <owner>benwells@chromium.org</owner>
- <summary>
- Features of a web app recorded at most once per day if a user interacted
- with the web app. Recorded for installed and/or promotable (installable) web
- apps unless noted otherwise on the metric. Keyed by start_url of the app.
- </summary>
- <metric name="BackgroundDuration">
- <summary>
- Records the total duration (seconds, bucketed) that the app was open in
- the background in the last calendar day. Summed during the day and emitted
- if the date changes. Recorded only for installed web apps that are
- currently open in a web app window.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="DisplayMode" enum="WebAppDisplayMode">
- <summary>
- Effective display mode of the web app (may be set by a manifest and
- manifest may be overridden by the user).
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="ForegroundDuration">
- <summary>
- Records the total duration (seconds, bucketed) that the app was open in
- the foreground in the last calendar day. Summed during the day and emitted
- if the date changes. Recorded only for installed web apps that are
- currently open in a web app window.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Installed" enum="Boolean">
- <summary>
- Whether the web app is installed.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="InstallSource" enum="WebappInstallSource">
- <summary>
- Install source of the web app (omnibox, menu item, policy, etc).
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="NumSessions">
- <summary>
- Records the total number of times the app was focused in the foreground in
- the last calendar day. Recorded only for installed web apps that are
- currently open in a web app window.
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Promotable" enum="Boolean">
- <summary>
- Whether the web app is currently considered 'promotable' (passes Chrome
- checks to be considered an installable web app).
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Used" enum="Boolean">
- <summary>
- Records that the web app was used. Always true (or the event would not
- have been emitted for this WebApp).
- </summary>
- <aggregation>
- <history>
- <index fields="profile.country"/>
- <index fields="profile.form_factor"/>
- <index fields="profile.system_ram"/>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="WebOTPImpact">
- <owner>yigu@chromium.org</owner>
- <owner>goto@chromium.org</owner>
- <owner>web-identity@google.com</owner>
- <summary>
- Records in the browser process when a document is destroyed.
- </summary>
- <metric name="PhoneCollection" enum="PhoneCollectionState">
- <summary>
- Records whether a document collected phone number, and/or used WebOTP,
- and/or used OneTimeCode (OTC) during its lifecycle.
- </summary>
- </metric>
- </event>
- <event name="WebRTC.AddressHarvesting">
- <owner>hta@chromium.org</owner>
- <summary>
- Collects usage patterns that may indicate attempts to gather users' IP
- addresses. A heuristic in the webrtc library tries to detect usages that may
- indicate attempts to gather users' IP addresses rather than setting up
- communication via WebRTC, and reports possible attempts.
- </summary>
- <metric name="UsagePattern">
- <summary>
- The usage pattern detected (an int encoding bit values). The bits are
- defined in third_party/webrtc/pc/peerconnection.h, in the
- "PeerConnection::UsageEvent" enum.
- </summary>
- </metric>
- </event>
- <event name="WebRTC.ComplexSdp">
- <owner>hbos@chromium.org</owner>
- <owner>guidou@chromium.org</owner>
- <summary>
- Logged when an application uses complex SDP in a WebRTC PeerConnection or
- experiences an error attempting to parse SDP. Such cases will result in
- errors if the application assumes the wrong default SDP format. This is an
- important concern during the transition of the default SDP format from Plan
- B to Unified Plan.
- </summary>
- <metric name="Category">
- <summary>
- A value that represents how complex/unparsable SDP is used. The categories
- are defined in blink::ComplexSdpCategory.
- </summary>
- </metric>
- </event>
- <event name="Worker.ClientAdded">
- <owner>cfredric@google.com</owner>
- <summary>
- Recorded when a client connects to an existing SharedWorker or
- ServiceWorker; records the source IDs of the client (which may be a document
- or another worker), and the type of the worker being connected to. In the
- case of a ServiceWorker, this is recorded for each worker-client pair that
- could communicate (whether or not they actually do) and this is only
- recorded once the client is execution ready. Note also that emission can be
- caused by the creation of a new ServiceWorker or a new ServiceWorker client.
- </summary>
- <metric name="ClientSourceId">
- <summary>
- The UKM source ID of the connecting client, as an integer.
- </summary>
- </metric>
- <metric name="WorkerType" enum="WorkerType">
- <summary>
- The type of the worker that was connected to.
- </summary>
- </metric>
- </event>
- <event name="XR.PageSession" singular="True">
- <obsolete>
- Removed 2/2020
- </obsolete>
- <owner>xr-dev@chromium.org</owner>
- <summary>
- Records properties of page use in XR, including VR browsing and WebXR
- presentation.
- </summary>
- <metric name="Duration">
- <summary>
- The approximate amount of time the user spends on a page in XR in seconds.
- Times are reported accurately when low, for example, under a minute, and
- get rounded to minutes and then hours as they get larger. This is done by
- SessionTracker::GetRoundedDurationInSeconds.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="EnteredFullscreen" enum="Boolean">
- <summary>
- A boolean that is set to 1 if the user requested fullscreen while in XR on
- some element on the page.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="EnteredVROnPageReason" enum="VRStartReason">
- <summary>
- An enum that indicates that the user entered VR on this page and what
- triggered the entry into VR, where 1 means VR was entered through headset
- activation, and 2 means that request presentation triggered the entry into
- VR.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="TimeOnPage">
- <obsolete>
- Deprecated.
- </obsolete>
- <summary>
- Deprecated.
- </summary>
- </metric>
- <metric name="WasOmniboxNavigation" enum="Boolean">
- <summary>
- A boolean that is set to 1 if this page was entered into the omnibox,
- either manually or using autocomplete.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="WasVoiceSearchNavigation" enum="Boolean">
- <summary>
- A boolean that is set to 1 if this page was specifically requested and
- recognized by a voice search.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="XR.WebXR" singular="True">
- <owner>billorr@chromium.org</owner>
- <owner>xr-dev@chromium.org</owner>
- <summary>
- Records information about WebXR methods that were used in a single
- navigation. The event will be recorded as the WebXR functions are called -
- since the event is singular, the data that will eventualy be sent will
- contain a union of metrics that were set in an event.
- </summary>
- <metric name="DidGetGamepads">
- <obsolete>
- Deprecated in M75.
- </obsolete>
- <summary>
- Boolean value that indicates that the Gamepad API was used on a WebXR
- site.
- </summary>
- </metric>
- <metric name="DidGetXRInputSources" enum="Boolean">
- <summary>
- Boolean value that indicates that the WebXR input API was used.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="DidRequestAvailableDevices" enum="Boolean">
- <summary>
- Boolean value that indicates that the API to enumerate devices was called.
- This API is only exposed through WebVR.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="DidRequestPose" enum="Boolean">
- <summary>
- Boolean value that indicates that poses were requested.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="DidRequestPresentation" enum="Boolean">
- <summary>
- Boolean value that indicates that presentation was requested.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="DidUseNavigatorXR" enum="Boolean">
- <summary>
- Boolean value that indicates that the WebXR Device API was used.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="ReturnedDevice" enum="Boolean">
- <summary>
- Boolean value that indicates that a device was returned by the API to
- enumerate devices. This API is only exposed through WebVR.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="ReturnedPresentationCapableDevice" enum="Boolean">
- <summary>
- Boolean value that indicates that a device was returned by the API to
- enumerate devices, and that the device supports presentation.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="XR.WebXR.PresentationSession">
- <obsolete>
- Deprecated 5/2019
- </obsolete>
- <owner>xr-dev@chromium.org</owner>
- <summary>
- Records data for a presentation session, where WebXR is running an exclusive
- presentation to some device.
- </summary>
- <metric name="Duration">
- <summary>
- The approximate amount of time the user spends in presentation in seconds.
- Times are reported accurately when low, for example, under a minute, and
- get rounded to minutes and then hours as they get larger. This is done by
- SessionTracker::GetRoundedDurationInSeconds.
- </summary>
- </metric>
- <metric name="StartAction">
- <summary>
- An enum value to track specifically how the user got into XR presentation.
- See `vr::PresentationStartAction` for enum type declaration. 0: Other,
- catch all. 1: RequestFrom2DBrowsing, the page requested presentation while
- Chrome was in 2D mode. 2: RequestFromVRBrowsing, the page requested
- presentation while Chrome was in VR browsing mode. 3: HeadsetActivation,
- the user activated the VR headset while in 2D browsing on the page, which
- listens for headset activations to request presentation. 4: DeepLinkedApp
- (Obsolete), The page was launched in Chrome from the VR system home (e.g.,
- Daydream Home) and requested presentation.
- </summary>
- </metric>
- </event>
- <event name="XR.WebXR.Session">
- <owner>billorr@chromium.org</owner>
- <owner>bialpio@chromium.org</owner>
- <owner>xr-dev@chromium.org</owner>
- <owner>cassew@google.com</owner>
- <summary>
- When session ends, records data for a WebXR / WebVR session.
- </summary>
- <metric name="Duration">
- <summary>
- The approximate amount of time (in seconds) that elapsed from session
- creation to session end. Times are reported accurately when low, for
- example, under a minute, and get rounded to minutes and then hours as they
- get larger. This is done by SessionTracker::GetRoundedDurationInSeconds.
- For inline sessions, this might get pretty large.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <quantiles type="std-percentiles"/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="FeatureRequest.BoundedFloor" enum="XRFeatureRequestStatus">
- <summary>
- State of the 'bounded-floor' feature request.
- </summary>
- </metric>
- <metric name="FeatureRequest.Local" enum="XRFeatureRequestStatus">
- <summary>
- State of the 'local' feature request.
- </summary>
- </metric>
- <metric name="FeatureRequest.LocalFloor" enum="XRFeatureRequestStatus">
- <summary>
- State of the 'local-floor' feature request.
- </summary>
- </metric>
- <metric name="FeatureRequest.Unbounded" enum="XRFeatureRequestStatus">
- <summary>
- State of the 'unbounded' feature request.
- </summary>
- </metric>
- <metric name="FeatureRequest.Viewer" enum="XRFeatureRequestStatus">
- <summary>
- State of the 'viewer' feature request.
- </summary>
- </metric>
- <metric name="FeatureUse.BoundedFloor" enum="Boolean">
- <summary>
- Whether the 'bounded-floor' feature was used during this session,
- regardless of whether it was used successfully.
- </summary>
- </metric>
- <metric name="FeatureUse.Local" enum="Boolean">
- <summary>
- Whether the 'local' feature was used during this session, regardless of
- whether it was used successfully.
- </summary>
- </metric>
- <metric name="FeatureUse.LocalFloor" enum="Boolean">
- <summary>
- Whether the 'local-floor' feature was used during this session, regardless
- of whether it was used successfully.
- </summary>
- </metric>
- <metric name="FeatureUse.Unbounded" enum="Boolean">
- <summary>
- Whether the 'unbounded' feature was used during this session, regardless
- of whether it was used successfully.
- </summary>
- </metric>
- <metric name="FeatureUse.Viewer" enum="Boolean">
- <summary>
- Whether the 'viewer' feature was used during this session, regardless of
- whether it was used successfully.
- </summary>
- </metric>
- <metric name="IsLegacyWebVR" enum="Boolean">
- <obsolete>
- Removed 2/2020
- </obsolete>
- <summary>
- Boolean value indicating whether a session was created using the legacy
- WebVR API rather than WebXR.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Mode" enum="XRSessionMode">
- <summary>
- An enum value specifying WebXR session's mode. See `device::SessionMode`
- for enum type declaration. 0: Unknown, catch all. 1: Inline session. 2:
- Immersive VR session. 3: Immersive AR session.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- <event name="XR.WebXR.SessionRequest">
- <owner>xr-dev@chromium.org</owner>
- <owner>cassew@google.com</owner>
- <summary>
- Recorded when promise returned by `requestSession` gets resolved / rejected.
- </summary>
- <metric name="Feature.BoundedFloor" enum="XRFeatureRequestStatus">
- <summary>
- State of the 'bounded-floor' feature request.
- </summary>
- </metric>
- <metric name="Feature.Local" enum="XRFeatureRequestStatus">
- <summary>
- State of the 'local' feature request.
- </summary>
- </metric>
- <metric name="Feature.LocalFloor" enum="XRFeatureRequestStatus">
- <summary>
- State of the 'local-floor' feature request.
- </summary>
- </metric>
- <metric name="Feature.Unbounded" enum="XRFeatureRequestStatus">
- <summary>
- State of the 'unbounded' feature request.
- </summary>
- </metric>
- <metric name="Feature.Viewer" enum="XRFeatureRequestStatus">
- <summary>
- State of the 'viewer' feature request.
- </summary>
- </metric>
- <metric name="Mode" enum="XRSessionMode">
- <summary>
- An enum value that indicates that the `requestSession` API was called to
- request session with this mode. See `device::SessionMode` for enum type
- declaration. 0: Unknown, catch all. 1: Inline session was requested. 2:
- Immersive VR session was requested. 3: Immersive AR session was requested.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- <metric name="Status" enum="XRSessionRequestStatus">
- <summary>
- An enum value that describes the result of the call to `requestSession`
- method. See `` for enum type declaration. 0: Success. 1: Other failure.
- </summary>
- <aggregation>
- <history>
- <statistics>
- <enumeration/>
- </statistics>
- </history>
- </aggregation>
- </metric>
- </event>
- </ukm-configuration>
|