Observability
To properly understand what is going on inside your application, you can collect a whole range of telemetry.
An application is properly instrumented when developers donโt need to add more instrumentation to troubleshoot an issue, because they have all of the information they need.
https://opentelemetry.io/docs/concepts/observability-primer/
You can bring your own observability stack. Arrower does not force you into any specific direction, our recommendation is however: Grafana, Loki, Prometheus, and Tempo.
For metrics and traces Arrower uses OTEL,
for logging the new slog
from the Go standard library.
Screenshot how logs & trances & metrics are linked in Grafana
To quickstart your development the docker-compose.yaml
file contains everything you need locally
and can give inspiration on how to setup your own infrastructure.
๐๏ธ Logging
Log to see what is going on in your application.
๐๏ธ Metrics
๐๏ธ Traces
Show dashboard with some interesting charts & queries
- Number of http requests
- Number of application functions called
- Number of Jobs
- Average response times
- Number of failures