# 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)

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.

### 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)