1.2.1 • Published 1 year ago

chiper-web-logger-metrics v1.2.1

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

Chiper Web loggin metrics

Tabla de contenido

Descripción

Lib que contiene varios modulos para capturar el performance y los crashes de Apps basadas en React

Requerimientos

Firebase

  1. Tener creado un proyecto en firebase console
  2. Una vez este creado el proyecto, copiar el objeto de keys que nos provee firebase para configurar nuestros proyectos web

Error reporting (GCP)

  1. Tener creado un proyecto google console
  2. Copiar los keys que requerimos para inicializar error reporting

Uso

Instalaciones

yarn add chiper-web-logger-metrics o npm i chiper-web-logger-metrics

Inicialización

Firebase

MetodosDescripciónParametros
initFirebaseInicializar firebase, recibe los keys que nos dan en firebase console y retorna una instancia inicializadainitFirebase({apiKey, authDomain, databaseURL, projectId, messagingSenderId, appId}): firebase.app.App
initPerformanceInicializa el serivico de performanceinitPerformance(): void
newTraceCrea un nuevo segumientonewTrace(traceName: string): void
startTraceInicia un seguimiento previamente creadostartTrace(): void
stopTraceTermina un seguimientostopTrace(): void
putAttributeAgrega un atributo para el seguimiento actualsputAttribute(key: string, value: string): void

Inicializar firebase

  • Lo primero a tener encuenta es configurar nuestros keys para inicializar firebase, puede ser en un archivo independiente

=> src/config/firebase.ts

import { firebaseService } from 'chiper-web-logger-metrics'

export const initializeApp = firebaseService.initFirebase({
  apiKey: "AIzaSyA4v0E23-fake-dZK9HXskasdrfsaZJNLS34FGQ",
  authDomain: "projectId.fake.firebaseapp.com",
  databaseURL: "https://projectId.firebaseio.com",
  projectId: "fake-project-id",
  messagingSenderId: "12356789101",
  appId: "1:123456789101:fake:3123be123456a123a456789"
});

Crear un nuevo seguimiento

import { useEffect } from 'react'
import { performanceService } from 'chiper-web-logger-metrics';


export const PrivateRoute = () => {
  const location = useLocation();

  useEffect(() => {
    performanceService.newTrace(location.pathname);
    // code
	}, []);

  return ()
}

Iniciar un seguimiento y agregar un atributo al seguimiento

import { useEffect } from 'react'
import { performanceService } from 'chiper-web-logger-metrics';


export const PrivateRoute = () => {
  const location = useLocation();

  useEffect(() => {
    performanceService.startTrace();
    performanceService.putAttribute("storeID", storeId);
    // code
	}, []);

  return ()
}

Terminar un seguimiento

import { useEffect } from 'react'
import { performanceService } from 'chiper-web-logger-metrics';


export const PrivateRoute = () => {
  const location = useLocation();

  useEffect(() => {
	 // code
     return () => {
       performanceService.stopTrace();
      };
	}, []);

  return ()
}

GCP

MetodosDescripciónParametros
startReportingInicializar gcp(Error reporting) con los keys q nos da google console cuando creamos un proyectostartReporting(keys: InitGoogleEntity): void
reportErrorReportar un error que quedara en los logs de la consola de error reportingrecordError(error: Error, jsErrorName?: string)

Inicializar Error Reportin (GCP)

  • Lo primero a tener encuenta es configurar nuestros keys para inicializar Error reporting.
import { useEffect } from 'react'
import { googleService } from 'chiper-web-logger-metrics';


export const Main = () => {


  useEffect(() => {
    googleService.startReporting({
      key: REACT_APP_GCP_KEY,
      projectId: REACT_APP_GCP_PROJECT_ID,
      service: REACT_APP_GCP_SERVICE,
      version: REACT_APP_GCP_VERSION
     });
	}, []);
  
  return ()
}

Reportar un error

import { googleService } from 'chiper-web-logger-metrics';


axios.interceptors.response.use(
  (response) => response,
  (error) => {
    // code ...
    googleService.reportError(error, myStoreId);
    return Promise.reject(error);
   }
);