---
title: "Instrument an application with Beyla | OpenTelemetry documentation"
description: "Instrument an application with Beyla for Application Observability."
---

# Instrument an application with Beyla

[Grafana Beyla](/docs/beyla/) provides an easy-to-set-up eBPF instrumentation solution. Beyla automatically instruments network-level telemetry for all languages and frameworks and exports OTLP data.

## Recommended setup for Grafana Cloud

Grafana Labs recommends that you set up OpenTelemetry components, including instrumentation and an OpenTelemetry Collector distribution, using one of the [Grafana Cloud setup guides](/docs/opentelemetry/grafana-cloud/).

These opinionated guides make it easy to get started. They include all the binaries, configuration, and connection parameters you need to set up OpenTelemetry for [Grafana Cloud](/products/cloud/).

## Other setup methods

To explore more Beyla installation and configuration options, see the [Beyla](/docs/beyla/latest/) documentation.

## Test your instrumentation

To verify successful instrumentation with Beyla, run your application with Beyla and fetch metrics from the exposed Prometheus endpoint:

sh ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```sh
curl http://localhost:9090/metrics
```

If you installed Beyla using the Grafana Helm chart, first run `kubectl -n beyla port-forward <BEYLA_POD_NAME>`, replacing `<BEYLA_POD_NAME>` with your Beyla pod name.

The curl request should return results similar to:

log ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```log
# HELP beyla_build_info A metric with a constant '1' value labeled by version, revision, branch, goversion from which Beyla was built, the goos and goarch for the build, and thelanguage of the reported services
# TYPE beyla_build_info gauge
beyla_build_info{goarch="arm64",goos="linux",goversion="go1.22.4",revision="b672ca01",target_lang="generic",version="b672ca01"} 1
beyla_build_info{goarch="arm64",goos="linux",goversion="go1.22.4",revision="b672ca01",target_lang="go",version="b672ca01"} 1
# HELP http_client_request_body_size_bytes size, in bytes, of the HTTP request body as sent from the client side
# TYPE http_client_request_body_size_bytes histogram
http_client_request_body_size_bytes_bucket{http_request_method="GET",http_response_status_code="200",http_route="/**",service_name="coredns",service_namespace="",target_instance="",le="0"} 2
http_client_request_body_size_bytes_bucket{http_request_method="GET",http_response_status_code="200",http_route="/**",service_name="coredns",service_namespace="",target_instance="",le="32"} 2
```

## Resources

1. [Beyla docs](/docs/beyla/).
2. [Beyla on GitHub](https://github.com/grafana/beyla).
3. [Beyla on Docker Hub](https://hub.docker.com/r/grafana/beyla).
