En 2022, nous avons cherché une solution pour répondre à nos besoins de visibilité sur le fonctionnement de nos services. Nouveau standard poussé par la CNCF, OpenTelemetry s'est imposé à nous comme l'évidence en terme de tracing.
Les premiers paragraphes du tutoriel sont prometteurs. Quelques lignes de code insérées au milieu d'une fonction, et les premières traces apparaissent ! De la théorie à la pratique, il n'y aurait donc qu'un pas... Ou presque.
Comment aller au-delà de l'auto-instrumentation proposée ?
Comment rendre cette implémentation transparente pour les autres devs et leurs futurs développements ?
Comment implémenter un tracing distribué entre des composants aux architectures différentes, communiquant par des protocoles différents ?
Retour sur nos péripéties dans les terres de l'observabilité, et les leçons que nous en avons tirées.