github grafana/beyla v1.6.0

latest releases: v1.6.4, v1.6.3, beyla-1.2.0...
one month ago

What's Changed

Breaking changes 🔨

Standardized how we set peernames in traces

Now traces prefer the peer hostname over the IP addres. This could affect you if you have any alert or dashboard relying in the old IP-based peer address.

What's new

Attribute selectors for application metrics

Beyla 1.5 allowed to select which attributes were reported in the network metrics.

Beyla 1.6 extends this feature to application-level metrics. For example:

attributes:
  select:
    beyla_network_flow_bytes:
      # limit the beyla_network_flow_bytes attributes to only the three attributes
      include:
        - beyla.ip
        - src.name
        - dst.port
    sql_client_duration:
      # report all the possible attributes but db_statement
      include: ["*"]
      exclude: ["db_statement"]
    http_client_request_duration:
      # report the default attribute set but exclude the Kubernetes Pod information
      exclude: ["k8s.pod.*"]

Check the documentation for more details.

Filter flows and spans by attribute values

Beyla 1.6 lets filtering out metrics and spans not matching the provided selection criteria.

For example:

filter:
  network:
    transport: UDP
    dst_port: "53"

Would cause that beyla only reports UDP network flows whose destination port is 53.

It allows to match multiple values by with a filesystem-like Glob syntax. For example:

filter:
  application:
    k8s.pod.name: beyla-*

Would report only application metrics and traces from Kubernetes pods whose name starts with beyla-.

Check the documentation for more details.

Expire Application metrics with Prometheus exporter

To reduce cardinality of Application metrics in Prometheus, Beyla will stop reporting the metrics of an application between two endpoints when there is unobserved activity during 5 minutes. You can override the default 5-minutes value with the BEYLA_PROMETHEUS_TTL configuration options.

This feature was already available in Beyla 1.5 for network metrics exported via OTEL or Prometheus. However, the expiration is not yet available for Application observability with OpenTelemetry, as the OpenTelemetry SDK does not yet provide a feasible way to remove histogram metrics.

Support OTEL_GO_AUTO_TARGET_EXE environment variable

In order to enforce our compatibility with opentelemetry standards, the OTEL_GO_AUTO_TARGET_EXE configuration option is now supported.

This environment variable is equivalent to the BEYLA_EXECUTABLE_NAME environment variable.

Bug fixes 🐛

Add .total suffix to network flow bytes metric in OTEL

When network metrics are sent via Prometheus or via an intermadiate OTEL collector, the metrics are queryable as beyla_network_flow_metrics_total in Grafana.

Before this release, when using the OTEL endpoint in Grafana Cloud, metrics were visible as beyla_network_flow_metrics, without the _total.

Beyla 1.6.0 adds explicitly the .total suffix to the OTEL exporter.

Other bug fixes

Other changes/additions

New Contributors

Full Changelog: v1.5.3...v1.6.0

Don't miss a new beyla release

NewReleases is sending notifications on new releases.