# EPF5 Week-17: Teku histogram metrics ## Week overview - [X] Created a PR with PeerDAS dashboard for Kurtosis - [X] Collaborated with Barnabas on supernode filter - [X] Discussed metrics specs during PeerDAS Breakout Room - [X] Created a new PR for metrics overview across clients - [X] Received comments from Lighthouse team on my metrics implementation - [X] Created a PR for Teku histogram implemenation - [X] Learned how to set up custom variables in Grafana This week, I continued working on metrics specs and summary PeerDAS dashboard. I also created a draft PR for Teku histogram metric and a dashboard PR for Kurtosis. ### Kurtosis I've improved and pushed a [PeerDAS dashboard](https://github.com/ethpandaops/ethereum-package/pull/790) to ethereum-package repo. This dashboard follows our current metrics specs and works for all clients with metrics implemented align with the specs. Clients don't need to build their own dashboards; they can simply run Kurtosis and use this ready-made dashboard. ### DevOps Grafana Updates Barnabas and I worked together on creating a filter for supernode/full nodes. This filter helps us clearly see metrics that vary significantly between full nodes (8-20) and supernodes (128-512). He merged a PR adding a new label, and I enhanced the summary dashboard with filters for network, client, full node, and instance. I spent time learning about custom variables to create the visualizations we need. [Grafana Custom Variables](https://grafana.com/docs/grafana/latest/dashboards/variables/add-template-variables/#add-a-custom-variable) [Grafana : Dashboard Variables](https://www.youtube.com/watch?v=-y0rd8Z4u_8) [Grafana Variables explained with examples](https://www.youtube.com/watch?v=N95yP2Ir9FA) ![Screenshot 2024-10-05 at 13.00.56](https://hackmd.io/_uploads/rk8FZoCCA.png) We also discussed standardizing units for runtime metrics. Some clients use seconds, while others use milliseconds. This inconsistency causes big differences in values on the same graph. Thanks to the dashboard, I caught issues with PeerDAS metrics during the launch of peerdas-devnet-3. This shows how valuable the dashboard is for monitoring PeerDAS issues. ![Screenshot 2024-10-04 at 20.38.16](https://hackmd.io/_uploads/BkilYiA0C.png) ### Metrics specs During the PeerDAS Breakout room, we decided to split [the large PR](https://github.com/ethereum/beacon-metrics/pull/13) into smaller parts. I created [the first part](https://github.com/ethereum/beacon-metrics/pull/14), focusing on data column, kzg, and custody metrics. This PR gives an overview of metrics across clients. I received new comments from the Nimbus team. ### Lighthouse Lighthouse team reviewed my [metrics PR](https://github.com/sigp/lighthouse/pull/6430). Next week, I'll refactor the code based on their feedback. ### Grandine Hangleang merged the metrics I built earlier into the peerdas branch. These metrics will appear on the summary peerdas-devnet-3 dashboard once the Grandine image is updated. We compared Grandine and other clients metrics values. ### Teku I developed a histogram class using the [Prometheus Java Metrics Library](https://github.com/prometheus/client_java), implemented the first metric and sent a [draft PR](https://github.com/Nashatyrev/teku/pull/160) for a review. ## Weekly EPF Activity - [Pectra Interop Testing Call]() - [EPF5 Standup]() - [PeerDAS Breakout Room #9](https://github.com/ethereum/pm/issues/1155) [Youtube recording](https://youtu.be/v5BWEX4FYnw) - [EPF5 Office Hours: AMA with Manu from Prysm](https://github.com/eth-protocol-fellows/cohort-five/issues/472) - [ACDC #143](https://www.youtube.com/live/dplciLdQTM0) [Github issue #1158](https://github.com/ethereum/pm/issues/1158) Devnets 3,4, Pectra PRs, engine_getBlobsV1 ## TODO - [ ] Proceed with Lighthouse and Teku opened PRs - [ ] Review Prysm metrics implementations - [ ] Continue metrics specs discussions with the clients and the DevOps team ## Links [Grafana Custom Variables](https://grafana.com/docs/grafana/latest/dashboards/variables/add-template-variables/#add-a-custom-variable) [Grafana : Dashboard Variables](https://www.youtube.com/watch?v=-y0rd8Z4u_8) [Grafana Variables explained with examples](https://www.youtube.com/watch?v=N95yP2Ir9FA) [Prometheus Java Metrics Library](https://github.com/prometheus/client_java) [Lighthouse metrics PR](https://github.com/sigp/lighthouse/pull/6430) [Teku histogram PR](https://github.com/Nashatyrev/teku/pull/160) [Kurtosis PeerDAS dashboard PR](https://github.com/ethpandaops/ethereum-package/pull/790) [Metrics specs PR](https://github.com/ethereum/beacon-metrics/pull/14)