PositionNomadic Labs is looking for a Live Monitoring of Tezos Nodes : Tezos-metrics Protocols intern.
Tutors: Pietro Abate
Tezos-metrics is an OpenMetrics-compliant server which uses the Octez libraries (the Tezos node implementation from Nomadic Labs) to scrape data from a Tezos node and feed this information to time series databases such as Prometheus.
The Tezos-metrics project is nearly two years old and has been in internal use at Nomadic Labs for development and testing of live code.
The project aims to release a free and open-source Tezos-metrics precompiled binary, and corresponding self-contained docker image, for use by Octez developers and the wider community to monitor node statistics, conveniently and in real time.
- The first release will support key shell metrics and offer limited support for protocol metrics.
- A second release will add bakers and additional protocol metrics.
- A third phase will provide Tezos-metrics as an opam library for Octez with a well defined api, and so allow a node to serve open-metrics directly without an external scraper, lowering the load on the RPC interface.
Providing metrics about the inner working of the node, the p2p layer and the proto-col (and henceforth the Tezos network), can help developers to diagnose problems, collect historical data, and monitor network health.
Since Tezos-metrics is integrated in the Octez code base, this binary can evolve together with the Octez suite, never getting out of sync. This is accomplished by directly using the Octez data-encodings definitions. Tezos-metrics also has a system to change protocols, making it a valuable tool to diagnose issues and gather simulated data regarding protocol updates.
The intern will enhance and test Tezos-metrics: You will learn low-level details of the Octez codebase and the Tezos protocol, and focus on the development of protocol metrics via a plugin system designed to allow Tezos-metrics to evolve alongside with the Tezos protocol. Part of the work will also concern the development of a solid test framework for Tezos-metrics.
Since Tezos-metrics is written in OCaml, you should be proficient in OCaml program-ming, and in particular you should have some familiarity with Lwt, the lightweight threads OCaml library.
An understanding of the OpenMetrics standard and of Prometheus/Grafana is also a plus.
You will work at the Nomadic Labs’ offices in Paris.
Participating in a large scale open-source project you will have to rapidly learn to use collaborative tools (Git, merge request, issues, gitlab, continuous integration, documentation) and to communicate about your work. The final results might be presented at an international conference or workshop.
You will have a designated advisor at Nomadic Labs and will have to work independently and to propose thoroughly-considered solutions to the different problems you will have to solve. You will be encouraged to seek advice from members of the team.
All material produced (essays, documentation, code, etc.) will be released under an open source license (e.g. MIT or CC).
➡️ If you don’t meet all the criteria above, but think you can still be an asset to us, please consider applying.