Observability pe front-end Angular cu Web Vitals + Sentry

În dezvoltarea aplicațiilor web moderne, observabilitatea este esențială pentru asigurarea unei experiențe de utilizator de înaltă calitate. Pentru aplicațiile front-end dezvoltate cu Angular, este important să monitorizezi performanța și să te asiguri că aplicația funcționează corect pe toate dispozitivele și platformele. Utilizarea instrumentelor de observabilitate, cum ar fi Web Vitals și Sentry, poate ajuta echipele de dezvoltare să îmbunătățească performanța aplicațiilor Angular și să identifice rapid erorile care pot afecta utilizatorii. În acest articol, vom explora cum poți integra Web Vitals și Sentry în aplicațiile tale Angular pentru a obține o observabilitate completă asupra performanței și erorilor.

Ce este Observability?

Observability se referă la capacitatea de a înțelege ce se întâmplă într-o aplicație sau sistem în timp real. În contextul aplicațiilor web, aceasta include monitorizarea și analiza performanței, identificarea problemelor și erorilor și înțelegerea comportamentului utilizatorilor. Aceasta poate include colectarea de metrici, loguri și tranzacții pentru a evalua starea aplicației și pentru a răspunde rapid la orice problemă care apare.

Ce sunt Web Vitals și de ce sunt importante?

Web Vitals sunt un set de metrici create de Google care măsoară experiența utilizatorului pe o aplicație web. Aceste metrici sunt importante pentru a înțelege cum performează aplicația ta în termeni de viteza de încărcareinteractivitate și stabilitate vizuală. Web Vitals sunt vitale pentru utilizatori, deoarece afectează timpul de încărcareperformanța interfeței și satisfacția generală a acestora.

Principalele Web Vitals sunt:

  • Largest Contentful Paint (LCP): Măsoară timpul necesar pentru ca cel mai mare element vizual să se încarce pe pagină.
  • First Input Delay (FID): Măsoară timpul necesar până la prima interacțiune a utilizatorului cu pagina.
  • Cumulative Layout Shift (CLS): Măsoară stabilitatea vizuală a paginii, indicând dacă elementele se mișcă sau se rearanjează în timpul încărcării.

Aceste metrici sunt esențiale pentru a monitoriza experiența utilizatorilor, iar Sentry și Web Vitals îți pot oferi un control complet asupra performanței aplicației tale Angular.

De ce să folosești Sentry pentru observabilitate?

Sentry este o platformă de monitorizare a erorilor și performanței care ajută echipele de dezvoltare să identifice rapid erorile și să îmbunătățească experiența utilizatorului. Sentry oferă funcționalități extinse de observabilitate, inclusiv monitorizarea performanței și gestionarea erorilor în aplicațiile front-end.

Pentru aplicațiile Angular, Sentry oferă:

  • Capturarea erorilor: Înregistrarea erorilor JavaScript, erorilor de rețea și a altor excepții care apar în timpul execuției aplicației.
  • Monitorizarea performanței: Sentry permite măsurarea timpului de încărcare al paginilor și analiza tranzacțiilor pentru a înțelege cum se comportă aplicația pe diverse dispozitive și conexiuni de rețea.
  • Vizualizarea datelor: Raportarea și vizualizarea detaliilor erorilor și performanței într-un dashboard centralizat, facilitând diagnosticarea rapidă a problemelor.

Cum să integrezi Web Vitals și Sentry în Angular

  1. Instalarea Sentry în Angular

Pentru a începe, va trebui să instalezi SDK-ul Sentry pentru Angular. Urmează acești pași:

  1. Deschide terminalul în directorul proiectului tău Angular și instalează pachetul Sentry:

bash

Copy code

npm install @sentry/angular @sentry/tracing

  1. După instalare, trebuie să configurezi Sentry în aplicația ta Angular. În fișierul principal al aplicației (main.ts), adaugă următorul cod pentru a inițializa Sentry:

typescript

Copy code

import { enableProdMode } from ‘@angular/core’;

import { platformBrowserDynamic } from ‘@angular/platform-browser-dynamic’;

import { AppModule } from ‘./app/app.module’;

import * as Sentry from ‘@sentry/angular’;

import { Integrations } from ‘@sentry/tracing’;

 

if (environment.production) {

enableProdMode();

}

 

Sentry.init({

dsn: ‘https://<PUBLIC_KEY>@sentry.io/<PROJECT_ID>’,

integrations: [

new Integrations.BrowserTracing({

tracingOrigins: [‘localhost’, ‘https://yourwebsite.com’],

routingInstrumentation: Sentry.angularRoutingInstrumentation,

}),

],

tracesSampleRate: 1.0, // 1.0 înseamnă că toate tranzacțiile vor fi monitorizate

});

 

platformBrowserDynamic().bootstrapModule(AppModule)

.catch(err => console.error(err));

  • dsn: Înlocuiește <PUBLIC_KEY> și <PROJECT_ID> cu datele tale din contul Sentry.
  • tracesSampleRate: Setează la 1.0 pentru a colecta toate datele de performanță sau ajustează valoarea în funcție de nevoile tale.
  1. Monitorizarea Web Vitals cu Sentry

Sentry permite integrarea Web Vitals pentru a urmări cele mai importante metrici ale performanței aplicației tale. Pentru a activa monitorizarea Web Vitals în Angular, trebuie să instalezi un pachet de Web Vitals și să îl conectezi la Sentry.

  1. Instalează pachetul web-vitals:

bash

Copy code

npm install web-vitals

  1. În fișierul main.ts, adaugă următorul cod pentru a trimite metricile Web Vitals către Sentry:

typescript

Copy code

import { reportWebVitals } from ‘web-vitals’;

 

// Funcția de raportare a Web Vitals în Sentry

reportWebVitals((metric) => {

Sentry.addBreadcrumb({

message: `${metric.name}: ${metric.value}`,

category: ‘web-vitals’,

level: ‘info’,

});

 

// Poți trimite și metricele ca evenimente personalizate în Sentry

if (metric.name === ‘FCP’ || metric.name === ‘LCP’) {

Sentry.captureEvent({

message: `Web Vitals: ${metric.name} = ${metric.value}`,

level: ‘info’,

extra: metric,

});

}

});

Acest cod va colecta și trimite metricile Web Vitals (LCP, FID, CLS) către Sentry pentru o vizualizare centralizată a performanței aplicației.

  1. Verificarea în Dashboard-ul Sentry

După ce ai configurat Sentry și Web Vitals, poți verifica datele direct în dashboard-ul Sentry. În tab-ul de Performance, vei vedea metricile de performanță (inclusiv Web Vitals) și erorile înregistrate.

  • Performanță: Vei avea vizibilitate asupra timpilor de încărcare și a experienței utilizatorilor pe diverse dispozitive și locații.
  • Erori: Orice erori JavaScript sau de rețea vor fi raportate, iar tu vei putea să le depistezi rapid pentru a le rezolva.

Concluzie

Integrarea Sentry și Web Vitals în aplicațiile tale Angular îți oferă o vizibilitate completă asupra performanței și erorilor, ajutându-te să îmbunătățești experiența utilizatorului. Sentry te ajută să monitorizezi erorile și performanța în timp real, iar Web Vitals îți oferă date esențiale despre cum se comportă aplicația ta din punct de vedere al vitezei de încărcare și interactivității. Folosind aceste instrumente împreună, poți să îmbunătățești performanța aplicației și să asiguri o experiență de utilizator de calitate.

Inspirație: OferteFirme

Recente

Arhive