v1.7.0
版本发布时间: 2024-07-30 17:11:29
grafana/beyla最新发布版本:v1.8.4(2024-09-18 00:24:41)
Beyla 1.7.0 is out with a huge amount of features and bugfixes!
Please check the Beyla documentation for more information about how to configure and enable them: https://grafana.com/docs/beyla/latest/
What's Changed
Breaking changes 🔨
Use proper pre/suffixes for internal metrics names by @marctc in https://github.com/grafana/beyla/pull/941
This breaking change would only affect users configuring Beyla to report internal metrics of its own Behavior (mainly used for performance testing and debugging purposes)
Fix typo in BPF debug yaml field by @marctc in https://github.com/grafana/beyla/pull/964
Replaces the bfp_debug
configuration option by bpf_debug
. This option is mainly used by Beyla developers for internal debugging.
enable by default: server_address and server_port attributes by @mariomac in https://github.com/grafana/beyla/pull/989
The user still has the possibility to disable them by means of the attributes selection YAML section.
Set heuristic as default value for unmatched routes arg by @marctc in https://github.com/grafana/beyla/pull/988
The user still has the possibility to disable heuristic routes in the routes
YAML configuration.
Bug fixes 🐛
- check kafka pkt length before parsing clientid by @esara in https://github.com/grafana/beyla/pull/906
- Fix race condition in Expiry Map by @mariomac in https://github.com/grafana/beyla/pull/946
- Fix OTEL traces URL endpoint by @mariomac in https://github.com/grafana/beyla/pull/952
- App metrics/traces: decorate peer service IPs with service names by @mariomac in https://github.com/grafana/beyla/pull/968
- Improve .NET language detection by @marctc in https://github.com/grafana/beyla/pull/967
- Avoid un-understandable Pipes panics by @mariomac in https://github.com/grafana/beyla/pull/1012
- remove client.address as default attribute on RPC metrics by @mariomac in https://github.com/grafana/beyla/pull/1022
- Fix missing gRPC/HTTP2 events by @grcevski in https://github.com/grafana/beyla/pull/867
Highlighted additions
Reporting application processes
⚠️ This feature is based in the current OpenTelemetry semantic convention for OS Processes, which is currently marked as Experimental. You might expect some breaking changes in the future.
Add application_process
to the BEYLA_OTEL_METRIC_FEATURES
or BEYLA_PROMETHEUS_FEATURES
option to get the following Process metrics:
-
process.cpu.time
-
process.cpu.utilization
-
process.memory.usage
-
process.memory.virtual
-
process.disk.io
-
process.network.io
New supported protocols for Go and Non-Go programs
Beyla now supports the following application protocols for both Go programs:
- Redis
- Kafka
- SQL
Network metrics, new client.port
and server.port
attributes
Network metrics bring src.port
and dst.port
, which would be swapped in request and response network metrics. client.port
and server.port
remain consistent for both request and response network metrics.
Other changes/additions
- Remove check-ebpf-integrity from release_binaries task (1.6 backport) by @mariomac in https://github.com/grafana/beyla/pull/850
- Remove check-ebpf-integrity from release_binaries task by @mariomac in https://github.com/grafana/beyla/pull/849
- Update OpenTelemetry SDK to 1.27 by @mariomac in https://github.com/grafana/beyla/pull/853
- Fix array index panic on SQL parsing (1.6 backport) by @mariomac in https://github.com/grafana/beyla/pull/856
- Fix array index panic on SQL parsing by @mariomac in https://github.com/grafana/beyla/pull/855
- Change the PID filter implementation to use bloom filter by @grcevski in https://github.com/grafana/beyla/pull/851
- Track connection errors in grpc_go by @grcevski in https://github.com/grafana/beyla/pull/852
- Fix attributes filter network documentation by @mariomac in https://github.com/grafana/beyla/pull/861
- Improve http2/grpc termination detection by @grcevski in https://github.com/grafana/beyla/pull/858
- Restore service.name as metric attribute by @mariomac in https://github.com/grafana/beyla/pull/868
- Update default Beyla version in helm chart by @mariomac in https://github.com/grafana/beyla/pull/862
- Add config options for traces backoff config by @marctc in https://github.com/grafana/beyla/pull/865
- Update Gopsutil library to v3 by @mariomac in https://github.com/grafana/beyla/pull/884
- Update
make docs
procedure by @github-actions in https://github.com/grafana/beyla/pull/888 - Initial infrastructure for dealing with Kafka protocol in Go by @grcevski in https://github.com/grafana/beyla/pull/886
- Fix http parsing for duplicate HTTP by @grcevski in https://github.com/grafana/beyla/pull/887
- Updating image version in documentation by @mariomac in https://github.com/grafana/beyla/pull/866
- Add support for tracking Redis client calls for non-Go programs by @grcevski in https://github.com/grafana/beyla/pull/891
- Add instrumentation for redis in Go by @grcevski in https://github.com/grafana/beyla/pull/894
- Automatic update of offsets.json by @github-actions in https://github.com/grafana/beyla/pull/896
- Fix DNS resolution error when network monitoring is turned on by @kirankumar-grootan in https://github.com/grafana/beyla/pull/898
- Add kafka support by @marctc in https://github.com/grafana/beyla/pull/890
- Fix typo in metrics.md by @marctc in https://github.com/grafana/beyla/pull/902
- Fixes for SQL detection and Go events handled by kprobes by @grcevski in https://github.com/grafana/beyla/pull/901
- Automatic update of offsets.json by @github-actions in https://github.com/grafana/beyla/pull/904
- Foundation to report application processes by @mariomac in https://github.com/grafana/beyla/pull/892
- Push Go Kafka events using the current parser by @grcevski in https://github.com/grafana/beyla/pull/900
- Fix code coverage reports for testing by @mariomac in https://github.com/grafana/beyla/pull/908
- Prometheus process metrics exporter by @mariomac in https://github.com/grafana/beyla/pull/907
- Report Redis failed calls by @grcevski in https://github.com/grafana/beyla/pull/909
- Remove beyla metrics and traces by default by @grcevski in https://github.com/grafana/beyla/pull/910
- Automatic update of offsets.json by @github-actions in https://github.com/grafana/beyla/pull/913
- Bump collector SDK version to 102 by @grcevski in https://github.com/grafana/beyla/pull/912
- Complete process metrics for CPU by @mariomac in https://github.com/grafana/beyla/pull/911
- Decorate process metrics with kubernetes metadata by @mariomac in https://github.com/grafana/beyla/pull/917
- check for empty redis commands by @esara in https://github.com/grafana/beyla/pull/916
- Improve process discovery performance by @grcevski in https://github.com/grafana/beyla/pull/919
- Process memory metrics by @mariomac in https://github.com/grafana/beyla/pull/922
- Support kafka fetch version 15 by @grcevski in https://github.com/grafana/beyla/pull/903
- Speed up HTTP2 check by @grcevski in https://github.com/grafana/beyla/pull/923
- Process metrics for disk I/O bytes by @mariomac in https://github.com/grafana/beyla/pull/924
- Process network metrics by @mariomac in https://github.com/grafana/beyla/pull/925
- Various fixes for corrupt gRPC URLs and wrong request directions by @grcevski in https://github.com/grafana/beyla/pull/930
- Add elixir based integration test by @grcevski in https://github.com/grafana/beyla/pull/938
- Using experimental OTEL API for removing metrics by @mariomac in https://github.com/grafana/beyla/pull/937
- Add metric for instrumented processes by @marctc in https://github.com/grafana/beyla/pull/928
- Fix flaky unit test by @mariomac in https://github.com/grafana/beyla/pull/939
- More reliable SSL black-box tracing tracking by @grcevski in https://github.com/grafana/beyla/pull/940
- Fix delayed SSL server trace cleanup by @grcevski in https://github.com/grafana/beyla/pull/942
- Fixes for service naming, redis and kafka support by @grcevski in https://github.com/grafana/beyla/pull/945
- Fix link in options.md by @marctc in https://github.com/grafana/beyla/pull/947
- OTEL: removing metrics from removed entities by @mariomac in https://github.com/grafana/beyla/pull/948
- Fix bpf load problems on older kernels by @grcevski in https://github.com/grafana/beyla/pull/949
- Process memory metrics: report deltas instead of absolute values in OTEL exporter by @mariomac in https://github.com/grafana/beyla/pull/950
- Direction based on flags instead of relation between src_port and dst_port by @bareckidarek in https://github.com/grafana/beyla/pull/883
- updated pipeline map with process metrics by @mariomac in https://github.com/grafana/beyla/pull/951
- Fix one more grpc wrong direction bug by @grcevski in https://github.com/grafana/beyla/pull/954
- max_entries of flow_directions map sets from configuration by @bareckidarek in https://github.com/grafana/beyla/pull/959
- Update to new oats, improve tests by @grcevski in https://github.com/grafana/beyla/pull/957
- Add logger to display BPF logs by @marctc in https://github.com/grafana/beyla/pull/955
- Fix default config value in Helm chart by @marctc in https://github.com/grafana/beyla/pull/961
- Remove unnecessary filtered connection info map by @grcevski in https://github.com/grafana/beyla/pull/963
- Add ability to choose what instrumentations are enabled by @grcevski in https://github.com/grafana/beyla/pull/958
- Merging app and network K8s informers by @mariomac in https://github.com/grafana/beyla/pull/956
- Optimize InstrumentationSelection by @mariomac in https://github.com/grafana/beyla/pull/965
- Remove commented code by @marctc in https://github.com/grafana/beyla/pull/966
- Add detection for PHP language by @marctc in https://github.com/grafana/beyla/pull/970
- Fixes to http2 connection detection and bad gRPC paths by @grcevski in https://github.com/grafana/beyla/pull/969
- Add host.name to process metrics by @mariomac in https://github.com/grafana/beyla/pull/973
- Add PHP in attacher by @marctc in https://github.com/grafana/beyla/pull/974
- Fix bad iovec length check by @grcevski in https://github.com/grafana/beyla/pull/972
- Reduce number of iteration to 4 to process gRPC frames by @marctc in https://github.com/grafana/beyla/pull/977
- Introduce bpf tail call to increase the size of grpc parsing loop by @grcevski in https://github.com/grafana/beyla/pull/978
- Add k8s_cluster_name to resource attrs by @marctc in https://github.com/grafana/beyla/pull/976
- Update
make docs
procedure by @github-actions in https://github.com/grafana/beyla/pull/979 - Add service_namespace attr to span metrics by @marctc in https://github.com/grafana/beyla/pull/980
- Enable ServiceNamespace in appAttributes by @marctc in https://github.com/grafana/beyla/pull/981
- Fix typo by @marctc in https://github.com/grafana/beyla/pull/983
- Automatic update of offsets.json by @github-actions in https://github.com/grafana/beyla/pull/985
- updating integration test accessory images by @mariomac in https://github.com/grafana/beyla/pull/986
- Differentiation between metric and resource attributes by @mariomac in https://github.com/grafana/beyla/pull/984
- Add build_info metrics to internal metrics by @marctc in https://github.com/grafana/beyla/pull/987
- Add logging on pod/svc ip k8s operations by @marctc in https://github.com/grafana/beyla/pull/990
- Fix flaky ssl test by @grcevski in https://github.com/grafana/beyla/pull/982
- Use service when resolving k8s ips by @marctc in https://github.com/grafana/beyla/pull/992
- Revert "Add logging on pod/svc ip k8s operations (#990)" by @marctc in https://github.com/grafana/beyla/pull/993
- Selection of metric attributes by "glob" in metric name by @mariomac in https://github.com/grafana/beyla/pull/991
- correct behavior of glob-based attribute selection by @mariomac in https://github.com/grafana/beyla/pull/995
- Fix wrong kafka protocol detection by @grcevski in https://github.com/grafana/beyla/pull/994
- Revert "Differentiation between metric and resource attributes (#984)" by @mariomac in https://github.com/grafana/beyla/pull/999
- Allow to selectively disable some K8s informers by @mariomac in https://github.com/grafana/beyla/pull/997
- Automatic update of offsets.json by @github-actions in https://github.com/grafana/beyla/pull/1000
- Tracking the NodeJS event loop by @grcevski in https://github.com/grafana/beyla/pull/998
- Document wildcards in attributes.select by @mariomac in https://github.com/grafana/beyla/pull/996
- Exclude src_port from kubernetes neto11y tests by @mariomac in https://github.com/grafana/beyla/pull/1002
- OTEL process attributes moved to resource-level by @mariomac in https://github.com/grafana/beyla/pull/1003
- Add support for segment.io kafka-go library by @grcevski in https://github.com/grafana/beyla/pull/1006
- Switch default network mode to socket filter to avoid cilium conflict by @grcevski in https://github.com/grafana/beyla/pull/1008
- Make sure we have enough access for span metrics by @grcevski in https://github.com/grafana/beyla/pull/1010
- Cleanup BTF by @grcevski in https://github.com/grafana/beyla/pull/1011
- Automatic update of offsets.json by @github-actions in https://github.com/grafana/beyla/pull/1014
- Documentation: set up network metrics for Asserts by @grafsean in https://github.com/grafana/beyla/pull/1007
- Allow for easier network metrics enablement by @grcevski in https://github.com/grafana/beyla/pull/1013
- Fix PR conflict by @grcevski in https://github.com/grafana/beyla/pull/1018
- Fix dashboard linting by @mariomac in https://github.com/grafana/beyla/pull/1016
- Network metrics: report client and server port by @mariomac in https://github.com/grafana/beyla/pull/1015
- Replace custom EKS cluster-name retrieval by OTEL-contrib code by @mariomac in https://github.com/grafana/beyla/pull/1017
- Fix uninitialized go connection info by @grcevski in https://github.com/grafana/beyla/pull/1019
- Docs: enumerate client/server port and process metrics by @mariomac in https://github.com/grafana/beyla/pull/1020
- Use bpf_dbg_printk instead of bpf_printk by @marctc in https://github.com/grafana/beyla/pull/1026
- Move export package from internal to pkg by @marctc in https://github.com/grafana/beyla/pull/1033
- Use Prometheus registry when specified by @marctc in https://github.com/grafana/beyla/pull/1034
- Add SetDebugMode function in config.go by @marctc in https://github.com/grafana/beyla/pull/1037
- Export k8s flags by @marctc in https://github.com/grafana/beyla/pull/1038
- avoid ipv6 loopback address reported as src or dst of span by @esara in https://github.com/grafana/beyla/pull/1021
- Disable DNS name resolver by default by @mariomac in https://github.com/grafana/beyla/pull/1032
- More fixes for Go connection fetching by @grcevski in https://github.com/grafana/beyla/pull/1036
- Automatic update of offsets.json by @github-actions in https://github.com/grafana/beyla/pull/1043
- Add host ID reporting to application metrics by @mariomac in https://github.com/grafana/beyla/pull/1042
- Fix fetching Go server status code by @grcevski in https://github.com/grafana/beyla/pull/1044
- Fixes for the new eBPF code for older kernels by @grcevski in https://github.com/grafana/beyla/pull/1047
- Prevent beyla self-instrumentation by @grcevski in https://github.com/grafana/beyla/pull/1048
- Short timeout for cloud instance ID fetcher by @mariomac in https://github.com/grafana/beyla/pull/1050
- Link directly to resource in GitHub by @grafsean in https://github.com/grafana/beyla/pull/1051
- Add exclusion lists to discovery section by @mariomac in https://github.com/grafana/beyla/pull/1052
- Cleans up some stray fmt and dead code by @grcevski in https://github.com/grafana/beyla/pull/1056
- Introduce JSON span printer by @rafaelroquetto in https://github.com/grafana/beyla/pull/1035
- Automatic update of offsets.json by @github-actions in https://github.com/grafana/beyla/pull/1061
- Fix k8 namespace cache in database by @grcevski in https://github.com/grafana/beyla/pull/1059
- Expire span metrics and service graph metrics in the OTEL exporter by @mariomac in https://github.com/grafana/beyla/pull/1062
- Remove debug prints preventing debug to load on 5.10 by @grcevski in https://github.com/grafana/beyla/pull/1063
- Fix some issues for Alloy integration by @marctc in https://github.com/grafana/beyla/pull/1058
- Count testing in OTEL histogram export by @mariomac in https://github.com/grafana/beyla/pull/1064
- Disable OTEL expirer and hide it from docs by @mariomac in https://github.com/grafana/beyla/pull/1066
- Remove expiration code from OTEL metrics by @mariomac in https://github.com/grafana/beyla/pull/1068
- Change SetDebugMode by a more flexible ExternalLogger functionality by @mariomac in https://github.com/grafana/beyla/pull/1069
New Contributors
- @kirankumar-grootan made their first contribution in https://github.com/grafana/beyla/pull/898
- @bareckidarek made their first contribution in https://github.com/grafana/beyla/pull/883
- @rafaelroquetto made their first contribution in https://github.com/grafana/beyla/pull/1035
Full Changelog: https://github.com/grafana/beyla/compare/v1.6.4...v1.7.0
1、 beyla-linux-amd64-v1.7.0.tar.gz 33.71MB
2、 beyla-linux-arm64-v1.7.0.tar.gz 31.54MB