NethermindEth / juno

Starknet client implementation.
https://juno.nethermind.io
Apache License 2.0
378 stars 163 forks source link

Design telemetry approach for Juno #1360

Open stranger80 opened 10 months ago

stranger80 commented 10 months ago

Create a design for telemetry capability in Juno notes, including:

stranger80 commented 9 months ago
  1. Use OpenTelemetry architecture (https://opentelemetry.io/docs/what-is-opentelemetry/)

    • Design "signals" for Juno
      • Traces
      • all RPC calls???
      • P2P operations???
        • P2P message handler execution?
      • ...consider (estimate) the volume of telemetry data!!!
      • Metrics
      • ...list needed...
      • ...skip Logs
  2. Consider "passive" vs "active"

  3. Implement OT instrumentation framework in Juno

  4. Implement 1st iteration of traces and metrics

  5. Measure the performance impact

    • Need to test the node RPC performance with and without telemetry to quantify the infrastructure increase required to host RPC SaaS
  6. Design the OT Collector infrastructure

    • Collector agent or
    • Collector backend instance
  7. Implement the OT Collector infrastructure

  8. Implement Grafana integration for telemetry data

  9. Develop Grafana dashboards

stranger80 commented 1 month ago

Also take into account the recent discussion on "quick telemetry" as discussed in Brussels: https://github.com/NethermindEth/starknet-node-data-spec