Atrodo, kad „Google“ įkelia „The Verge“ pagrindinį puslapį, kai atlieka „Workload Automation“ testavimą visuose „Nexus“ įrenginiuose.
Naršymas AOSP yra puikus būdas atrasti naujų atradimų apie „Android“, o šį kartą aptikome kažką gana linksmo. Tam tikrą laiką, vartotojai pranešė kad technologijų svetainė TheVerge.com lėtas veikimas mobiliuosiuose įrenginiuose.
Dabar jų nuopelnas, mano patirtis rodo, kad jų svetainės našumas laikui bėgant pagerėjo. Be to, nėra taip, lyg kitose svetainėse (įskaitant mūsų pačių) nebūtų problemų, kurias galėtume stengtis išspręsti, bet vis dėlto man pasirodė gana smagu, kad jos oficialų darbo krūvio etalonų rinkinį, „Google“ nusprendė naudoti „The Verge“ savo bandymams.
„Android“ darbo krūvio automatizavimas
Darbo krūvio automatizavimas (WA) yra sistema, kurią sukūrė RANKA našumo duomenims rinkti „Android“ įrenginiuose, atliekant daugybę pakartojamų darbo krūvių. „Google“ palygina savo įrenginių našumą atlikdama daugelį šių darbo krūvio testų ir rinkdama jų santrauką energijos suvartojimą, kurį jie tada importuoja į skaičiuoklę, kad pamatytų, kaip optimizavimas pagerino našumą laikas. Bendrovė pasirenka ir pasirenka, kurias programas įtraukti į savo bandymų rinkinį, tačiau apskritai jos apsiriboja dauguma populiarių „Google“ programų. Tai yra esmė, kaip jis veikia, bet mes parodysime šaltinio kodo įrodymus ir apibūdinsime testą rinkinių išsamiau, kad galėtumėte geriau suprasti, kokius automatinius testus „Google“ atlieka siekdama išmatuoti spektaklis.
AOSP viduje yra a skirtas katalogas į darbo krūvio automatizavimo testus. Programos, kurios naudojamos testavimui, yra apibrėžtos defs.sh, ir paprastai patenka į vieną iš dviejų kategorijų: numatytoji, iš anksto įdiegta „Google App“ arba trečiosios šalies žiniatinklio naršyklė. Viena etaloninė programa išsiskiria iš kitų ir yra com.BrueComputing.SunTemple/com.epicgames.ue4.GameActivity
kuri, manau, reiškia BrueBench ST apžvalgininkas etalonas, pagrįstas Unreal Engine 4.
# default activities. Can dynamically generate with -g.
gmailActivity='com.google.android.gm/com.google.android.gm.ConversationListActivityGmail'
clockActivity='com.google.android.deskclock/com.android.deskclock.DeskClock'
hangoutsActivity='com.google.android.talk/com.google.android.talk.SigningInActivity'
chromeActivity='com.android.chrome/_not_used'
contactsActivity='com.google.android.contacts/com.android.contacts.activities.PeopleActivity'
youtubeActivity='com.google.android.youtube/com.google.android.apps.youtube.app.WatchWhileActivity'
cameraActivity='com.google.android.GoogleCamera/com.android.camera.CameraActivity'
playActivity='com.android.vending/com.google.android.finsky.activities.MainActivity'
feedlyActivity='com.devhd.feedly/com.devhd.feedly.Main'
photosActivity='com.google.android.apps.photos/com.google.android.apps.photos.home.HomeActivity'
mapsActivity='com.google.android.apps.maps/com.google.android.maps.MapsActivity'
calendarActivity='com.google.android.calendar/com.android.calendar.AllInOneActivity'
earthActivity='com.google.earth/com.google.earth.EarthActivity'
calculatorActivity='com.google.android.calculator/com.android.calculator2.Calculator'
calculatorLActivity='com.android.calculator2/com.android.calculator2.Calculator'
sheetsActivity='com.google.android.apps.docs.editors.sheets/com.google.android.apps.docs.app.NewMainProxyActivity'
docsActivity='com.google.android.apps.docs.editors.docs/com.google.android.apps.docs.app.NewMainProxyActivity'
operaActivity='com.opera.mini.native/com.opera.mini.android.Browser'
firefoxActivity='org.mozilla.firefox/org.mozilla.firefox.App'
suntempleActivity='com.BrueComputing.SunTemple/com.epicgames.ue4.GameActivity'
homeActivity='com.google.android.googlequicksearchbox/com.google.android.launcher.GEL'
Ši veikla paleidžiama naudojant ADB komandinę eilutę su tokia informacija Systrace programos našumo matavimo parinktys:
dflttracecategories="gfx input view am rs power sched freq idle load memreclaim"
Visų pirma „Chrome“ programa paleidžiama su vėliavėle, skirta įkelti „The Verge“:
Kalbant apie tai, kodėl testas skiriasi volantis (Nexus 9), nesu tikras. Bet kokiu atveju, kokius „Chrome“ veiklos su „The-Verge“ testus iš tikrųjų atlieka, galime nustatyti žiūrėdami į darbo krūvio automatizavimo testų šaltinio kodą.
Bandomieji apartamentai
Visų pirma, yra systemapps.sh testas, kuris, kaip teigia „Google“, veikia taip:
# Script to start a set of apps in order and then in each iteration
# switch the focus to each one. For each iteration, the time to start
# the app is reported as measured using atrace events and via am ThisTime.
# The output also reports if applications are restarted (eg, killed by
# LMK since previous iteration) or if there were any direct reclaim
# events.
Toliau yra neseniai fling.sh testas, kuris veikia taip:
# Script to start a set of apps, switch to recents and fling it back and forth.
# For each iteration, Total frames and janky frames are reported.
Ir tada yra chromefling.sh, kuris tikrina „Chrome“ veikimą gana paprastai:
# Script to start 3 chrome tabs, fling each of them, repeat
# For each iteration, Total frames and janky frames are reported.
Kitas juokingas „Workload Automation“ rinkinio testas, nors ir nesusijęs su „The Verge“, yra youtube.sh našumo testas, kuris matuoja UI jank
#
# Script to play a john oliver youtube video N times.
# For each iteration, Total frames and janky frames are reported.
#
# Options are described below.
#
iterations=10
app=youtube
searchText="last week tonight with john oliver: online harassment"
vidMinutes=15
Galiausiai, kiekvienas iš šių testų naudojamas realaus pasaulio energijos suvartojimui matuoti, per juos tam tikrą laiką, kaip apibrėžta pwrtest.sh:
# Script to gather perf and perf/watt data for several workloads
#
# Setup:
#
# - device connected to monsoon with USB passthrough enabled
# - network enabled (baseline will be measured and subtracted
# from results) (network needed for chrome, youtube tests)
# - the device is rebooted after each test (can be inhibited
# with "-r 0")
#
# Default behavior is to run each of the known workloads for
# 30 minutes gathering both performance and power data.
Tada „Google“ gali rinkti šiuos duomenis naudodama pwrsummary.sh ir importuokite juos į skaičiuoklę:
# print summary of output generated by pwrtest.sh
#
# default results directories are -[-experiment]. By default
# match any device and the year 201*.
#
# Examples:
#
# - show output for all bullhead tests in july 2015:
# ./pwrsummary.sh -r "bh-201507*"
#
# - generate CSV file for import into spreadsheet:
# ./pwrsummary.sh -o csv
#
Tai visi gana įprasti realaus pasaulio vartotojo sąsajos našumo testai, nepanašūs į tuos, kuriuos pamatysite mūsų pačių bandymai. Atrodo, kad pakeitimas įkelti „The Verge“ pagrindinį puslapį atidarant „Chrome“ buvo gana neseniai, nes prieš praėjusius metus „Google“ atidarydavo naują skirtuką „Chrome“ tik šių bandymų metu. Atliktas pakeitimas 2015 m. gegužės 28 d vis dėlto išbandydamas „Chrome“ pristatė „The Verge“. Kad ir kaip būtų smagu, kad „Google“ naudoja „The Verge of all“ vykdydama darbo krūvio automatizavimą atminkite, kad tai nereiškia, kad „The Verge“ yra blogiausias žiniatinklio pažeidėjas spektaklis.
Tiesą sakant, daugelis kitų tinklalapių kenčia nuo vidutinio našumo, nes daugėja skelbimų, kurie kompensuoja skelbimų blokatorių augimą. Iš tiesų, greičiausiai sprendimas naudoti „The Verge“ buvo tiesiog patogus, atsižvelgiant į tai, kaip technologijos Išmanusis paprastas „Google“ darbuotojas ir daugelio entuziastų pokštas, susijęs su „The Verge“ tinklalapiu spektaklis.