Manejo de Errores

“Ways in which things go right are special cases of the ways in which things go wrong. -- John Allspaw”

Pasos previos

Entender el problema

Reproducir el problema

Entender el histórico del problema

Estrategias

Performance Analysis

http://www.brendangregg.com/methodology.html

Anti Metodologias

”Echarle” la culpa a otro

  1. Encontrar un componente del sistema o ambiente del que no sea responsable
  2. Teorizar que hay un problema en ese componente
  3. Redirigir el problema
  4. Cuando se prueba que no ... vuelva al paso 1.

Lámpara de calle

  1. Elija herramientas familiares o encontradas aleatoriamente en internet
  2. Córralas
  3. Busque problemas obvios

Borracho

  1. Cambie cosas al azar hasta que algo funcione

Cambio aleatorio

  1. Elija una variable
  2. Mida
  3. Cambie la variable en una dirección
  4. Mida
  5. Cambie la variable en la dirección contraria
  6. Mida
  7. Si algo mejoró mantenga el cambio, si no devuélvalo
  8. Vuelva al paso 1

Benchmarking pasivo

  1. Elija una herramienta
  2. Corrala con diferentes opciones
  3. Haga un power point con los resultados
  4. Presente el power point

Semáforo

  1. Abra el dashboard
  2. ¿Todo en verde? Asuma que todo esta bien
  3. ¿Algo en rojo? ahí debe estar el problema

Metodologias

USE (Usage Saturation Error)

  1. Liste los recursos(sistemas, componentes, relaciones)
  2. Para cada uno revise (USE)

RED (Rate Errors Duration)

Ad hoc checklist

Definición del problema

  1. ¿Qué le hace pensar que hay algo mal?
  2. ¿Se ha comportado alguna vez bien el sistema?
  3. ¿Qué ha cambiado recientemente?(Software? Hardware? Carga?)
  4. ¿El problema afecta a otras personas o aplicaciones (o solo a ud)?
  5. ¿Cúal es el ambiente?¿Qué software y hardware se usa? ¿Versiones? ¿Configuración?

RTFM

Read The Fine Manual

Método Científico

OODA

  1. Observe
  2. Orient
  3. Decide
  4. Act

Drill-Down

Eliminación (Búsqueda Binaria)

Herramientas

  1. Liste las herramientas (y/o adicione algunas)
  2. Para cada herramienta liste las métricas útiles
  3. Para cada métrica liste su interpretación
  4. Corra las herramientas elegidas e interprételas

5 ¿Por qué?

CPU profile with flame graph

Solución

Temporales vs Largo plazo

Manuales vs Automatizadas

Prevención

Principio Pareto