v1.2.0
版本发布时间: 2024-01-18 21:38:57
grafana/beyla最新发布版本:v1.8.4(2024-09-18 00:24:41)
What's Changed
Fixing docker command
arguments
⚠️ this might lead to a breaking change in some Docker compose setups.
In the Beyla Dockerfile
, we replaced CMD
by ENTRYPOINT
in Beyla, as it should be the standard way of specifying a container command.
This will cause that some docker-compose setups will break because this command
value won't be valid anymore:
command:
- /beyla
- --config=config-file.yml
The correct and standard way will be:
command:
- --config=config-file.yml
Kubernetes deployments will still keep working because they accept either command
for the whole CLI and args
for the arguments.
In addition, the BEYLA_CONFIG_PATH
environment variable is now the preferred way to specify the configuration file path in Docker and Kubernetes environments.
Context propagation (distributed traces) for Go services
Beyla 1.0, was able to read the Traceparent header of the incoming service calls and report it as part of the generated traces. However, it was not able to inject the traceparent header in the outgoing calls of the instrumented service.
This means that it was possible to relate a service span with its parent trace, but not with their child invocations to other services, as the trace parent was lost.
For Go services Beyla 1.2 is able to inject the traceparent header to the child service requests from an instrumented application, enabling fully distributed traces.
For more information, read the distributed traces documentation.
Kubernetes service selectors
In Beyla 1.0, the user could select which applications to instrument by specifying their used ports or the name of the executable file. These criteria were difficult to use to select Kubernetes Pods or Services, as they work in a higher level of abstraction.
Beyla 1.2 allows specifying the following service selection criteria: k8s_namespace
, k8s_deployment_name
, k8s_replicaset_name
and/or k8s_pod_name
.
You need to run Beyla with the BEYLA_KUBE_METADATA_ENABLE
configuration option set to true
.
For more information, read the Kubernetes tutorial.
OpenTelemetry-compliant Kubernetes metadata decoration
Beyla 1.0 allowed, as an experimental-hidden (undocumented) feature, decorating metrics and traces with Kubernetes metadata about source and destination Pods. These attributes were not standard and, due to an experimental implementation, not 100% reliable.
Beyla 1.2 can decorate any metric with the following, standard OpenTelemetry attributes:
-
k8s.namespace.name
-
k8s.deployment.name
-
k8s.node.name
-
k8s.pod.name
-
k8s.pod.uid
-
k8s.pod.start_time
You need to run Beyla with the BEYLA_KUBE_METADATA_ENABLE
configuration option
set to true
.
For more information, read the Kubernetes tutorial.
Full list of PRs
- Fix Dockerfile by @mariomac in https://github.com/grafana/beyla/pull/551
- Send K8s metadata as resource metadata by @mariomac in https://github.com/grafana/beyla/pull/548
- Remove Public Preview notice from docs by @mariomac in https://github.com/grafana/beyla/pull/434
- Fix workflow conditional by @jdbaldry in https://github.com/grafana/beyla/pull/437
- Make release_branch_regexp match existing release branch by @jdbaldry in https://github.com/grafana/beyla/pull/438
- Fix escaping in quoted regexp by @jdbaldry in https://github.com/grafana/beyla/pull/439
- Trigger tests in release-* branches by @mariomac in https://github.com/grafana/beyla/pull/444
- Fix Basic auth key encoding by @mariomac in https://github.com/grafana/beyla/pull/446
- Update go offsets tracker version by @mariomac in https://github.com/grafana/beyla/pull/449
- Add systemd service file and related docs by @proffalken in https://github.com/grafana/beyla/pull/448
- Fix support for skipping Go tracers by @grcevski in https://github.com/grafana/beyla/pull/451
- Different handling of traceparent by @grcevski in https://github.com/grafana/beyla/pull/455
- OTEL-compliant K8s decoration by @mariomac in https://github.com/grafana/beyla/pull/460
- Add utility helper to determine the kernel lockdown mode by @grcevski in https://github.com/grafana/beyla/pull/461
- Kubernetes decoration documentation by @mariomac in https://github.com/grafana/beyla/pull/462
- Fix container parse from cgroup file by @mariomac in https://github.com/grafana/beyla/pull/468
- Fix documentation links by @mariomac in https://github.com/grafana/beyla/pull/469
- Fix more cloud documentation links by @mariomac in https://github.com/grafana/beyla/pull/473
- Document service discovery section by @mariomac in https://github.com/grafana/beyla/pull/476
- Fix concurrent access crash in PIDsFilter by @mariomac in https://github.com/grafana/beyla/pull/479
- Reuse BPF programs in multi-process mode by @grcevski in https://github.com/grafana/beyla/pull/471
- Fix 'grafana-agent' URL on Kubernetes docs by @myhro in https://github.com/grafana/beyla/pull/481
- Automatic update of offsets.json by @github-actions in https://github.com/grafana/beyla/pull/488
- Add test for unsupported Go by @grcevski in https://github.com/grafana/beyla/pull/490
- Fix host parsing in httpfltr by @grcevski in https://github.com/grafana/beyla/pull/487
- Fix linting/testing on nonlinux systems by @mariomac in https://github.com/grafana/beyla/pull/497
- Update and document Beyla requirements by @mariomac in https://github.com/grafana/beyla/pull/500
- Remove Go tracers when they become unused by @mariomac in https://github.com/grafana/beyla/pull/499
- Add Go version detection by @myhro in https://github.com/grafana/beyla/pull/485
- Propagate HTTP trace context in Go by @grcevski in https://github.com/grafana/beyla/pull/491
- K8s: fix crash on pod undeployment by @mariomac in https://github.com/grafana/beyla/pull/503
- Propagate context go gRPC by @grcevski in https://github.com/grafana/beyla/pull/507
- Automatic update of offsets.json by @github-actions in https://github.com/grafana/beyla/pull/510
- Documented Grafana OTLP credentials setup with the new OpenTelemetry box by @mariomac in https://github.com/grafana/beyla/pull/509
- Fix integration tests by @mariomac in https://github.com/grafana/beyla/pull/512
- K8s discovery by @mariomac in https://github.com/grafana/beyla/pull/511
- Automatic name/namespace setting from K8s metadata by @mariomac in https://github.com/grafana/beyla/pull/513
- Update kubernetes.md by @Obito1903 in https://github.com/grafana/beyla/pull/514
- Refactor: clean code for else if by @lwangrabbit in https://github.com/grafana/beyla/pull/520
- Documenting Kubernetes discovery by @mariomac in https://github.com/grafana/beyla/pull/516
- Refactor: delete magic number by @lwangrabbit in https://github.com/grafana/beyla/pull/522
- Fix tutorial usage of open_port by @grcevski in https://github.com/grafana/beyla/pull/523
- Add pointer to the community Slack by @grcevski in https://github.com/grafana/beyla/pull/525
- Remove stray print by @grcevski in https://github.com/grafana/beyla/pull/527
- use privileged: true by default in some examples by @mariomac in https://github.com/grafana/beyla/pull/528
- Embed Grafana Office Hours video on deploying Beyla in Kubernetes by @nicolevanderhoeven in https://github.com/grafana/beyla/pull/529
- First draft for Go quickstart guide by @mariomac in https://github.com/grafana/beyla/pull/530
- Improve gRPC context propagation with hpack by @grcevski in https://github.com/grafana/beyla/pull/531
- Improve Ruby and Python executable detection by @mariomac in https://github.com/grafana/beyla/pull/533
- Quickstart guides for C/C++, Ruby, Python and Node.js by @mariomac in https://github.com/grafana/beyla/pull/534
- Automatic update of offsets.json by @github-actions in https://github.com/grafana/beyla/pull/535
- Open source redirects by @grafsean in https://github.com/grafana/beyla/pull/537
- Replace Grafana cloud credentials by standard OTLP credentials in quickstart guides by @mariomac in https://github.com/grafana/beyla/pull/538
- Report Beyla as SDK name by @grcevski in https://github.com/grafana/beyla/pull/540
- Forward port of the LRU size fix by @grcevski in https://github.com/grafana/beyla/pull/539
- Add "we are hiring" note by @fstab in https://github.com/grafana/beyla/pull/543
- Document distributed traces by @grcevski in https://github.com/grafana/beyla/pull/541
- Rust quickstart tutorial by @mariomac in https://github.com/grafana/beyla/pull/544
- Suggestion to group tutorials into a folder by @mariomac in https://github.com/grafana/beyla/pull/545
- Add BEYLA_CONFIG_PATH env var by @mariomac in https://github.com/grafana/beyla/pull/549
- Fix K8s tutorial images by @mariomac in https://github.com/grafana/beyla/pull/550
- Black box context propagation by @grcevski in https://github.com/grafana/beyla/pull/547
- Fix wrong reported program type and missing traces by @grcevski in https://github.com/grafana/beyla/pull/552
- Add backport workflow to cherry-pick PR merge commits to other long-lived branches by @jdbaldry in https://github.com/grafana/beyla/pull/553
- minor fixes to k8s-walkthrough.md by @mariomac in https://github.com/grafana/beyla/pull/554
- Disable context propagation on kprobes by @grcevski in https://github.com/grafana/beyla/pull/556
- Fix GITHUB_TOKEN lookup by @jdbaldry in https://github.com/grafana/beyla/pull/558
- Java quickstart tutorial by @mariomac in https://github.com/grafana/beyla/pull/546
New Contributors
- @proffalken made their first contribution in https://github.com/grafana/beyla/pull/448
- @myhro made their first contribution in https://github.com/grafana/beyla/pull/481
- @Obito1903 made their first contribution in https://github.com/grafana/beyla/pull/514
- @lwangrabbit made their first contribution in https://github.com/grafana/beyla/pull/520
- @nicolevanderhoeven made their first contribution in https://github.com/grafana/beyla/pull/529
Full Changelog: https://github.com/grafana/beyla/compare/v1.0.2...v1.2.0
1、 beyla-linux-amd64-v1.2.0.tar.gz 27.4MB
2、 beyla-linux-arm64-v1.2.0.tar.gz 25.51MB