The ability to monitor, troubleshoot, and debug your Hasura instance is essential
As your app grows and becomes more complex, it’s increasingly difficult to understand how it is used and performs. This is where observability comes in. Observability gauges a system’s internal conditions by looking at its outputs, such as metrics or logs. Observability means you can:
Gain insights into the functionality and health of your systems, collect data, visualize them, and set up alerts for potential problems.
Having distributed tracing provides end-to-end visibility into actual requests and code, helping you improve your application’s performance.
Audit, debug, and analyze logs from all your services, apps, and platforms at scale.
Because Hasura can act as a central gateway for your application stack, we take observability seriously.
Core Observability features
Monitor for slow queries
Find high-latency queries from the dashboard.
Optimize your database through explain/analyze.
Compare query performance over time.
Tracking errors
Check and filter response with “errors” object.
Debug in dev mode to pinpoint issues.
Run regression tests to prevent errors in production.
Enable higher logging level for debugging.
Websocket monitoring
Track number of websocket connections open.
Visualize average execution time of subscription workers.
Monitor open and closed states of a websocket connection.
Distributed tracing
Diagnose and troubleshoot applications issues in production with distributed tracing.
Collect and analyze your traces in the observability tool of your choice via OpenTelemetry.
Trace the life cycle and execution time of a request via flame graphs in your Observability tool with APM.
Supported integrations with external services
Export metrics, operations log, and tracing of your Hasura project to the following external services.