Beyla exported metrics
The following table describes the exported metrics in both OpenTelemetry and Prometheus format.
Family | Name (OTEL) | Name (Prometheus) | Type | Unit | Description |
---|---|---|---|---|---|
Application | http.client.request.duration | http_client_request_duration_seconds | Histogram | seconds | Duration of HTTP service calls from the client side |
Application | http.client.request.body.size | http_client_request_body_size_bytes | Histogram | bytes | Size of the HTTP request body as sent by the client |
Application | http.server.request.duration | http_server_request_duration_seconds | Histogram | seconds | Duration of HTTP service calls from the server side |
Application | http.server.request.body.size | http_server_request_body_size_bytes | Histogram | bytes | Size of the HTTP request body as received at the server side |
Application | rpc.client.duration | rpc_client_duration_seconds | Histogram | seconds | Duration of GRPC service calls from the client side |
Application | rpc.server.duration | rpc_server_duration_seconds | Histogram | seconds | Duration of RPC service calls from the server side |
Application | sql.client.duration | sql_client_duration_seconds | Histogram | seconds | Duration of SQL client operations (Experimental) |
Application | redis.client.duration | redis_client_duration_seconds | Histogram | seconds | Duration of Redis client operations (Experimental) |
Application | messaging.publish.duration | messaging_publish_duration | Histogram | seconds | Duration of Messaging (Kafka) publish operations (Experimental) |
Application | messaging.process.duration | messaging_process_duration | Histogram | seconds | Duration of Messaging (Kafka) process operations (Experimental) |
Application process | process.cpu.time | process_cpu_time_seconds_total | Counter | seconds | Total CPU seconds broken down by different states (system/user/wait) |
Application process | process.cpu.utilization | process_cpu_utilization_ratio | Gauge | ratio | Difference in process.cpu.time since the last measurement, divided by the elapsed time and number of CPUs available to the process |
Application process | process.memory.usage | process_memory_usage_bytes | UpDownCounter | bytes | The amount of physical memory in use |
Application process | process.memory.virtual | process_memory_virtual_bytes | UpDownCounter | bytes | The amount of committed virtual memory |
Application process | process.disk.io | process_disk_io_bytes_total | Counter | bytes | Disk bytes transferred |
Application process | process.network.io | process_network_io_bytes_total | Counter | bytes | Network bytes transferred |
Network | beyla.network.flow.bytes | beyla_network_flow_bytes | Counter | bytes | Bytes submitted from a source network endpoint to a destination network endpoint |
Network | beyla.network.inter.zone.bytes | beyla_network_inter_zone_bytes | Counter | bytes | Bytes flowing between cloud availability zones in your cluster (Experimental, currently only available in Kubernetes) |
Beyla can also export Span metrics and Service graph metrics, which you can enable via the features configuration option.
Attributes of Beyla metrics
For the sake of brevity, the metrics and attributes in this list use the OTEL dot.notation
. When using the Prometheus exporter, the metrics use underscore_notation
.
In order to configure which attributes to show or which attributes to hide, check the attributes
->select
section in the configuration documentation.
Metrics | Name | Default |
---|---|---|
Application (all) | http.request.method | shown |
Application (all) | http.response.status_code | shown |
Application (all) | http.route | shown if routes configuration section exists |
Application (all) | k8s.daemonset.name | shown if Kubernetes metadata is enabled |
Application (all) | k8s.deployment.name | shown if Kubernetes metadata is enabled |
Application (all) | k8s.namespace.name | shown if Kubernetes metadata is enabled |
Application (all) | k8s.node.name | shown if Kubernetes metadata is enabled |
Application (all) | k8s.owner.name | shown if Kubernetes metadata is enabled |
Application (all) | k8s.pod.name | shown if Kubernetes metadata is enabled |
Application (all) | k8s.container.name | shown if Kubernetes metadata is enabled |
Application (all) | k8s.pod.start_time | shown if Kubernetes metadata is enabled |
Application (all) | k8s.pod.uid | shown if Kubernetes metadata is enabled |
Application (all) | k8s.replicaset.name | shown if Kubernetes metadata is enabled |
Application (all) | k8s.statefulset.name | shown if Kubernetes metadata is enabled |
Application (all) | k8s.cluster.name | shown if Kubernetes metadata is enabled |
Application (all) | service.name | shown |
Application (all) | service.namespace | shown |
Application (all) | target.instance | shown |
Application (all) | url.path | hidden |
Application (client) | server.address | hidden |
Application (client) | server.port | hidden |
Application (process) | process.command | shown if process metrics are enabled |
Application (process) | process.command_args | shown if process metrics are enabled |
Application (process) | process.command_line | shown if process metrics are enabled |
Application (process) | process.executable.name | shown if process metrics are enabled |
Application (process) | process.executable.path | shown if process metrics are enabled |
Application (process) | process.owner | shown if process metrics are enabled |
Application (process) | process.parent_pid | shown if process metrics are enabled |
Application (process) | process.pid | shown if process metrics are enabled |
Application rpc.* | rpc.grpc.status_code | shown |
Application rpc.* | rpc.method | shown |
Application rpc.* | rpc.system | shown |
Application (server) | client.address | hidden |
beyla.network.flow.bytes | beyla.ip | hidden |
db.client.operation.duration | db.operation.name | shown |
db.client.operation.duration | db.collection.name | hidden |
messaging.publish.duration | messaging.system | shown |
messaging.publish.duration | messaging.destination.name | shown |
messaging.process.duration | messaging.system | shown |
messaging.process.duration | messaging.destination.name | shown |
beyla.network.flow.bytes | client.port | hidden |
beyla.network.flow.bytes | direction | hidden |
beyla.network.flow.bytes | dst.address | hidden |
beyla.network.flow.bytes | dst.cidr | shown if the cidrs configuration section exists |
beyla.network.flow.bytes | dst.name | hidden |
beyla.network.flow.bytes | dst.port | hidden |
beyla.network.flow.bytes | dst.zone (only Kubernetes) | hidden |
beyla.network.flow.bytes | iface | hidden |
beyla.network.flow.bytes | k8s.cluster.name | shown if Kubernetes is enabled |
beyla.network.flow.bytes | k8s.dst.name | hidden |
beyla.network.flow.bytes | k8s.dst.namespace | shown if Kubernetes is enabled |
beyla.network.flow.bytes | k8s.dst.node.ip | hidden |
beyla.network.flow.bytes | k8s.dst.node.name | hidden |
beyla.network.flow.bytes | k8s.dst.owner.type | hidden |
beyla.network.flow.bytes | k8s.dst.type | hidden |
beyla.network.flow.bytes | k8s.dst.owner.name | shown if Kubernetes is enabled |
beyla.network.flow.bytes | k8s.src.name | hidden |
beyla.network.flow.bytes | k8s.src.namespace | shown if Kubernetes is enabled |
beyla.network.flow.bytes | k8s.src.node.ip | hidden |
beyla.network.flow.bytes | k8s.src.owner.name | shown if Kubernetes is enabled |
beyla.network.flow.bytes | k8s.src.owner.type | hidden |
beyla.network.flow.bytes | k8s.src.type | hidden |
beyla.network.flow.bytes | server.port | hidden |
beyla.network.flow.bytes | src.address | hidden |
beyla.network.flow.bytes | src.cidr | shown if the cidrs configuration section exists |
beyla.network.flow.bytes | src.name | hidden |
beyla.network.flow.bytes | src.port | hidden |
beyla.network.flow.bytes | src.zone (only Kubernetes) | hidden |
beyla.network.flow.bytes | transport | hidden |
Traces (SQL, Redis) | db.query.text | hidden |
Note
The
beyla.network.inter.zone.bytes
metric supports the same set of attributes asbeyla.network.flow.bytes
, but all of them are hidden by default, exceptk8s.cluster.name
,src.zone
anddst.zone
.
Internal metrics
Beyla can be configured to report internal metrics in Prometheus Format.
Name | Type | Description |
---|---|---|
beyla_ebpf_tracer_flushes | Histogram | Length of the groups of traces flushed from the eBPF tracer to the next pipeline stage |
beyla_otel_metric_exports_total | Counter | Length of the metric batches submitted to the remote OTEL collector |
beyla_otel_metric_export_errors_total | CounterVec | Error count on each failed OTEL metric export, by error type |
beyla_otel_trace_exports_total | Counter | Length of the trace batches submitted to the remote OTEL collector |
beyla_otel_trace_export_errors_total | CounterVec | Error count on each failed OTEL trace export, by error type |
beyla_prometheus_http_requests_total | CounterVec | Number of requests towards the Prometheus Scrape endpoint, faceted by HTTP port and path |
beyla_instrumented_processes | GaugeVec | Instrumented processes by Beyla, with process name |
beyla_internal_build_info | GaugeVec | Version information of the Beyla binary, including the build time and commit hash |
Was this page helpful?
Related documentation
Related resources from Grafana Labs


