Hvordan Mozilla tager sig af Firefox 'helbred - og hvad du kan lære af det

I øjeblikket arbejder jeg på et Firefox-sundhedsdashboard som en del af min Outreachy-praktik hos Mozilla. Og her er de vigtigste mål, vi har til hensigt at opnå under praktikopholdet.

  • Føj nye funktioner til den grafiske præsentation af ydeevnedata
  • Overfør eksisterende JS Team (Firefox Performance) dashboard til health dashboard
  • Forbedre eksisterende information på diagrammer og rette nogle fejl

Hovedformålet med dette indlæg er at forklare projektet for en person, der ikke er i samfundet og ikke er bekendt med de ting, vi laver i Mozilla. Hensigten er at hjælpe nybegyndere og andre bidragsydere med at forstå instrumentbrættet, så de kan bidrage til dette opensource-projekt med større fornemmelse af, hvad der foregår indeni.

Hvad er Firefox Health Dashboard?

Firefox health er et projekt til oprettelse af dashboards til projektledere og ingeniører. Det viser Firefox-matricer og indsigt for at hjælpe med at opfylde frigivelseskriterierne. Det tillader inkludering af data / metrics fra Mozillas issue tracker (Bugzilla), performance data (Perfherder), product metrics (Telemetry) og få flere kilder. Alle data vises i form af grafer ved hjælp af et open source-grafbibliotek ChartJS til at vise indsigt mod forskellige datoer og platforme.

Det var tidligere kendt som Platform Health. Det blev ombygget i januar 2018 som Firefox Health Dashboard. En af de største ændringer i denne refaktorisering var at adskille backend fra frontend. Denne forbedrede vedligeholdelse af kode.

Teknologier:

Bagenden er skrevet ved hjælp af NodeJS og Koa. Frontenderen er bygget ved hjælp af ReactJS sammen med et open source-grafbibliotek ChartJS. Nogle af dataene kommer fra forskellige værter gennem forskellige biblioteker. For eksempel spørger perf-google Mozillas Perfherder for ydeevnedata. Oplysninger om den rapporterede fejl kommer fra Bugzilla. Så hvis du planlægger at bidrage engang i fremtiden, skal du have en forståelse af de ovennævnte teknologier.

Dette dashboard henvender sig til ydeevnen for forskellige Firefox-versioner og -enheder. Men i dag skal vi tale om Firefox android og hvordan ingeniører hos Mozilla tager sig af dens præstationer.

Data / metrics til Firefox android

I øjeblikket kommer data til Firefox android fra forskellige kilder. Vi viser dataene i form af grafer for bedre forståelse og analyse. Du kan se al viden om Firefox android på sundhedsdashboardet. Her er nogle kilder og oplysninger om Firefox android, der hjælper ingeniører med at forbedre browserens ydeevne.

Bugzilla:

Bugzilla er udviklet af Mozilla og er et gratis open source-værktøj til sporing af bugs, problemer og ændringsanmodninger i store komplekse applikationer. Det bruges af tusindvis af organisationer til at holde styr på deres produktydelse. Vi bruger det i Health Dashboard for at holde øje med de fejl, der dukker op i Firefox Android.

Som nævnt ovenfor bruger vi ChartJS til at vise data. Her har vi en graf, der repræsenterer antallet af fejl rapporteret på forskellige datoer for Firefox Android på Bugzilla. Fejl med P1-mærke har højeste prioritet. De skal rettes så hurtigt som muligt. Derefter kommer P2 bugs med 2. højeste prioritet. P3-niveaufejl har lavest prioritet, og ingeniører kan ordne dem, når de har tid. Dette hjælper udviklere og produktadministratorer med at gennemgå fejl med forskellige prioriteter mere effektivt og løse dem i henhold til prioriteten.

NimbleDroid:

Vi bruger en tredjepartstjeneste kaldet NimbleDroid for at få noget dataindsigt efter at have kørt testene mod Firefox Android. NimbleDroid er en funktionel testtjeneste til Android- og IOS-enheder.

Overvåg hver kritisk brugerflow for hver build af din mobilapp. Find problemer, der forringer brugeroplevelsen tidligt i udviklingscyklussen. Integrer problemfrit med din CI-arbejdsgang. - Officielt websted

Telemetri:

Telemetri er et værktøj, der har kapacitet til at levere ydeevne og brugsinformation til Mozilla for at hjælpe ingeniører og beslutningstagere med at måle ydeevnen for Firefox i den virkelige verden. Det har evnen til at indsamle ydeevne, hardware, brug, tilpasning og andre ikke-personlige oplysninger fra brugeren af ​​Firefox og sende det til Mozilla på daglige baser for at hjælpe ingeniører med at forbedre browserens kvalitet og effektivitet.

For en Android-enhed måler browseren den tid det tager for at indlæse en indholdsside på en enhed og rapporterer den tilbage via Telemetry. Vi viser det derefter i grafisk form. For eksempel siger skærmbilledet, at 75% af brugerne rapporterede en samlet indlæsningstid for indholdssiden på 4,9 sekunder den 19. september 2018. Og disse data er samlet fra forskellige enheder fra forskellige brugere. Dette hjælper ingeniørerne med at holde øje med browserens indlæsningstid for at forbedre dens hastighed og gøre den mere effektiv.

Perfherder:

Perfherder er et system, der hjælper ingeniører med at visualisere og analysere de præstationsdata, der produceres af de mange automatiserede tests, der køres mod Mozilla-produkter som Firefox eller Firefox Android. Perfherder er en del af Treeherder-projektet. Det er et andet instrumentbræt til check-in til Mozillas projekter. Hovedmålet med dette værktøj er at sikre, at ydeevnen til Firefox bliver bedre med tiden. Det hjælper udviklere med at forstå deres ændringer og potentielle rettelser ved at rapportere regressioner.

I de kommende artikler vil vi tale om Firefox Quantum og JS team dashboard. Vi vil se, hvordan disse værktøjer arbejder på at forbedre Firefox-browserens ydeevne.

Bidrag guide:

Hvis du er interesseret i Firefox's sundhed eller er interesseret i at bidrage til projektet, så er her vejen.

  • Klon og opsæt projektet på din lokale maskine
  • Følg readme
  • Og start med god-først-spørgsmål, hvis du finder det overvældende at starte

Hold øje med at vide mere om den fantastiske, vi laver i Mozilla.