alloy
alloy copied to clipboard
Pyroscope: Bump async-profiler binaries for pyroscope.java
PR Description
Update the async-profiler binaries used in pyroscope.java to a newer nightly build to a newer nightly build that includes compatibility with Java 24.
Which issue(s) this PR fixes
Notes to the Reviewer
PR Checklist
- [x] CHANGELOG.md updated
- [ ] Documentation added
- [ ] Tests updated
- [ ] Config converters updated
cc @korniltsev
This looks good at a first glance. The tricky part is making sure the upgrade doesn't break anything. Unfortunately there are no integration tests for this right now, but have you tested it successfully @github-hamza-bouqal ?
Just wanted to verify the source of the binaries
async-profiler-linux-arm64-7c3aa59.zip async-profiler-linux-x64-7c3aa59.zip async-profiler-macos-7c3aa59.zip
I've downloaded artifacts from here https://github.com/async-profiler/async-profiler/actions/runs/14999321181
sha256sum async-profiler-*
5b56a0aa5cb632309bfc6ef8963954170c54c4e0145dc2d37eb7df5144e5ca57 async-profiler-linux-arm64-7c3aa59.zip
be3f3f64227de073f4f5e85127178916d06736a3ab756c232839028346b1d42a async-profiler-linux-x64-7c3aa59.zip
67ee543e9676798f2685861597210e2c7930525af8a5c4e20e454809951782b7 async-profiler-macos-7c3aa59.zip
These archive contains this artifacts
sha256sum async-profiler-*
92e3d18dd55308f63f2cd467062c5ef7c960254e2351ad57955b21d3844f6722 async-profiler-4.0-7c3aa59-linux-arm64.tar.gz
6e0a351fa21ff937392f857176861f584ca8aa29404f92e7e07d87b8660ec64d async-profiler-4.0-7c3aa59-linux-x64.tar.gz
17feca921903228bb73b81521248ad10c22d21b973da496af08c05d2d4f410f7 async-profiler-4.0-7c3aa59-macos.zip
which match the blobs in the PR :heavy_check_mark: .
Hello @korniltsev ,
i changed the binaries to latest version which is 87b7b42, because while working with the Nightly build, I ran into an issue where a header file named asprof was being treated as a binary due to the asprof wrapper, This happened because of the use of strings.Contains(name, "asprof"), which started matching unintended binaries.
A cleaner solution is changing the check to name == "asprof" i'm planning to do it in a separate PR.
Hi @aleks-p @korniltsev @dehaansa
I’ve completed testing the upgrade to async-profiler v4. I used the following setup:
Environment:
async-profiler version: 4.0 (Latest version which is `87b7b42`)
Instance type: c7g.8xlarge (Graviton3, 64 vCPUs, 64 GiB RAM)
OS: Ubuntu 22.04 (arm64)
JDK: Zulu OpenJDK 24.0.1
At Teads, we use Grafana Alloy to capture various signals—such as logs, traces, and metrics—and forward them to the appropriate backend. Each Alloy instance is deployed alongside the application container on every EC2 instance of a service.
I tested it on a service that handles more than 2,000 requests per second.
What I did:
-
Built the Alloy Docker image locally and pushed it to our ECR.
-
Deployed our service instance in the cloud using this custom image.
-
Enabled the profiler and restarted the Grafana backend to use the updated image.
Results:
-
Profiling works as expected.
-
Metrics are still being collected correctly.
-
Flamegraphs are generated without issues.
-
No errors or warnings were observed in the logs.
Everything appears stable after the upgrade. Let me know if there’s anything specific you'd like me to stress-test or validate further.
Hello, we are facing unsafe access to zombie method error (same as https://github.com/async-profiler/async-profiler/issues/1168) while running pyroscope.java in alloy v1.9.1.
It seems like async-profiler4.0 has fixed the problem. May I ask when this change will be released?