This is a guide to learn more about how you can instrument your services by exposing custom metrics that are crucial for your app/use case. For example, you can recordDocumentation Index
Fetch the complete documentation index at: https://docs.localops.co/llms.txt
Use this file to discover all available pages before exploring further.
emails_received, emails_sent, emails_bounced if you’re building a transaction email
service. Or you can record tcp_connections if you’re building realtime services.
How to instrument your services
LocalOps by default embeds Prometheus in every environment. To make your service’s metrics available to Prometheus, follow these steps to expose an endpoint that responds with metrics in the format Prometheus expects.1. Use a Prometheus client library in code
You can do this without a Prometheus client library too, but it is much easier if you use the library. Prometheus officially supports client libraries for these languages:- Go
- Java
- Python
- Rust
- Erlang
- NodeJS
2. Expose an endpoint in your service like /metrics
Define a specific endpoint like /metrics in your service and connect the Prometheus client library’s URL handler to
it. This endpoint will be called by the inbuilt monitoring stack (Prometheus) periodically to scrape the metrics
exposed in step 1.
3. Declare the metrics endpoint in ops.json
ops.json lets you define configuration specific to your service. Just declare a metrics key like below in
ops.json:
interval is how often Prometheus will hit this endpoint, in seconds. Please don’t keep it too low (like 1 second).
Your service might get too busy handling these requests instead of handling real user requests.
LocalOps will then make these metrics available automatically in the Grafana dashboard via Prometheus, just like any
other metric.
Language-specific guides
End-to-end examples (dependency install, sample code,ops.json, and recommended community Grafana dashboard IDs) are
available for each runtime:
For Helm charts, the same instrumentation can be included in the charts you generate and publish. If a Prometheus + Grafana stack is installed and configured in any target Kubernetes cluster where your Helm chart is deployed, it will automatically collect and visualize the same metrics in Grafana.