Wat is observability
Observability is het vermogen om, op basis van output (logs, metrics, traces), te verklaren wat er intern in het systeem gebeurt.
Observability voor testers
Meer zicht
Op basis van onze metrics in productie weten we dat onze applicatie op piekmomenten 500 requests per seconde op het betalingen-endpoint verwerkt, maar uit onze logs weten we ook dat dit soms samengaat met fouten. Voor het testen van verbeteringen in de stabiliteit van de applicatie, testen we met een hypothese: de applicatie kan 500 requests per seconde aan zonder fouten. Wanneer we performance-tests draaien in onze acceptatieomgeving, houden we niet alleen de output (status en responstijden) in de gaten, maar observeren we ook andere metrics en logs. Zo zien we dat de betalingen nu slagen, maar dat er ook bijwerkingen zijn: als de systemen onder druk staan, zien we foutmeldingen ontstaan op andere endpoints.
Meer begrip
- Rate – Requests per seconde
- Errors – Aantal falende requests
- Duration – Tijd die requests duren
Meer focus
We analyseren metrics van de productieomgeving en zien dat de API-response time voor de zoekfunctie in de piekuren gemiddeld 2 seconden is, terwijl dit 's nachts 200 milliseconden is. Hieruit leiden we af dat deze functie onder belasting kwetsbaar is. Op basis hiervan kunnen we beslissen om meer tijd te besteden aan load- en stresstests, en juist minder aan tests en optimalisaties van enkele requests.
