Skip to content

Commit b8cd4c8

Browse files
Add support for grafana-pyroscope to besu (#8510)
* add support for grafana-pyroscope to besu Signed-off-by: Joshua Fernandes <joshua.fernandes@consensys.net> * changelog Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com> --------- Signed-off-by: Joshua Fernandes <joshua.fernandes@consensys.net> Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com> Co-authored-by: Sally MacFarlane <macfarla.github@gmail.com>
1 parent 3013b76 commit b8cd4c8

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
- Add `--profile=PERFORMANCE_RPC` for high spec RPC nodes: increases rocksdb cache and caches last 2048 blocks [#8560](https://github.com/hyperledger/besu/pull/8560)
1111
- Refine gas estimation algorithm for `eth_estimateGas` and `eth_createAccessList` [#8478](https://github.com/hyperledger/besu/pull/8478) including a new option to specify `--estimate-gas-tolerance-ratio`
1212
- Increase default target-gas-limit to 60M for Holesky and Sepolia [#8594](https://github.com/hyperledger/besu/pull/8594)
13+
- Add support for [Pyroscope](https://grafana.com/docs/pyroscope/latest/) to Docker image [#8510](https://github.com/hyperledger/besu/pull/8510)
1314

1415
#### Dependencies
1516
- update jc-kzg-4844 dependency from 2.0.0 to 2.1.1

docker/Dockerfile

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ ARG BESU_USER=besu
2222
USER ${BESU_USER}
2323
WORKDIR /opt/besu
2424

25+
ADD --chown=besu:besu https://github.com/grafana/pyroscope-java/releases/download/v0.18.1/pyroscope.jar /opt/pyroscope/lib/pyroscope.jar
26+
2527
COPY --chown=besu:besu besu /opt/besu/
2628

2729
# Expose services ports
@@ -40,6 +42,16 @@ ENV BESU_GRAPHQL_HTTP_HOST 0.0.0.0
4042
ENV BESU_PID_PATH "/tmp/pid"
4143

4244
ENV OTEL_RESOURCE_ATTRIBUTES="service.name=besu,service.version=$VERSION"
45+
# https://grafana.com/docs/pyroscope/latest/configure-client/language-sdks/java/
46+
ENV PYROSCOPE_APPLICATION_NAME="besu-$VERSION"
47+
ENV PYROSCOPE_SERVER_ADDRESS=http://pyroscope:4040
48+
ENV PYROSCOPE_FORMAT=jfr
49+
ENV PYROSCOPE_PROFILING_INTERVAL=10ms
50+
ENV PYROSCOPE_PROFILER_EVENT=itimer
51+
ENV PYROSCOPE_PROFILER_LOCK=10ms
52+
ENV PYROSCOPE_PROFILER_ALLOC=512k
53+
ENV PYROSCOPE_UPLOAD_INTERVAL=15s
54+
ENV PYROSCOPE_LOG_LEVEL=debug
4355

4456
ENV OLDPATH="${PATH}"
4557
ENV PATH="/opt/besu/bin:${OLDPATH}"

0 commit comments

Comments
 (0)