Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[DEVFR25] L'observabilité dès le développement:...

[DEVFR25] L'observabilité dès le développement: Maîtrisez vos applications Java en production avec OpenTelemetry

Alexandre Touret

April 18, 2025
Tweet

More Decks by Alexandre Touret

Other Decks in Programming

Transcript

  1. 2024-06-10T10:44:54.444+02:00 ERROR 387865 --- [easypay-service] [o-auto-1-exec-5] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for

    servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.NullPointerException: Cannot invoke "java.lang.Boolean.booleanValue()" because "java.util.List.get(int).active" is null] with root cause java.lang.NullPointerException: Cannot invoke "java.lang.Boolean.booleanValue()" because "java.util.List.get(int).active" is null at com.worldline.easypay.payment.control.PosValidator.isActive(PosVali dator.java:34) at com.worldline.easypay.payment.control.PaymentService.process(Paymen tService.java:46)
  2. Alexandre TOURET Architecte logiciel @touret.info blog.touret.info alexandre-touret David PEQUEGNOT Ingénieur

    Performance @foxlegend blog.worldline.tech foxlegend Qui sommes-nous? 5
  3. We design payments technology that powers the growth of millions

    of businesses around the world. 7000+ engineers in over 40 countries Managing 43+ billion transactions per year €250M spent in R&D every year Handling 150+ payment methods #1 European payment processor
  4. Identifier les soucis dans les logs et les améliorer Remonter

    des métriques Mettre en place les traces Corréler le tout! Le déroulement
  5. L’application poses t e s poses an c ec s

    & card aut ori es t e pa ent custo er
  6. Logs, traces & métriques Logs Traces Métriques Ou est-ce que

    ça arrive? Quelque chose se passe ’ - q ’ nous arrive?
  7. poses an c ec s & card aut ori es

    t e pa ent tores traces tores Lo s Alimentation des données
  8. n ad inistrator o bro ses das bards and e

    tracts data ro ra ana tores traces tores Lo s Visualisation n ad inistrator o bro ses das bards and e tracts data ro ra ana tores traces tores Lo s
  9. Comment instrumenter mon programme ? 2 manières de faire Librairies

    • Plus rapide au démarrage • Indispensable pour le mode natif Agent • Fonctionne « out of the box » • Permet de décorréler le livrable onctionnel d’un a ent • Offre plus de souplesse
  10. Logs Benchmark from Sebastian Daschner: Logging Performance Comparison https://www.javacodegeeks.com/2022/07/logging-performance-comparison.html Le

    manque de logs impacte la co pré ension de l’application Trop de logs impacte la performance
  11. Métriques Vert.X: Micrometer Metrics Performance https://vertx.io/blog/micrometer-metrics- performance/ Très utile pour

    comprendre l’état d’un système ou d’un processus Le nombre de métriques peut impacter les performances (ex. La mémoire) •Attention aux isto ra es buc ets … •Attention à la cardinalité des labels
  12. Traces 1201,51 1477,82371 1468,98875 0 200 400 600 800 1000

    1200 1400 1600 100% DISABLED 0% RPS (29 spans/trace) 1471,708845 1478,591626 1478,69221 0 200 400 600 800 1000 1200 1400 1600 100% DIS. 0% RPS (7 spans/trace) Par défaut, on peut générer une trace pour chaque transaction Mais… cela peut impacter les performances de votre application et de votre stockage → Utilisez un collecteur
  13. Traces Head Sampling & Performance 1477,82371 1468,98875 1422,40019 1320,57735 1252,411

    1201,51 0 200 400 600 800 1000 1200 1400 1600 RPS - 29 spans/trace 549,89 553,13 571,25 615,37 648,82 676,22 0 100 200 300 400 500 600 700 800 Avg. Response Time (ms) – 29 spans / trace
  14. Traces Head Sampling & Resources Usage 0,00% 10,00% 20,00% 30,00%

    40,00% 50,00% 60,00% 70,00% 80,00% 90,00% 100,00% CPU% - 29 spans/trace 576,06 624,53 718,47 818,42 918,7 992,88 0 200 400 600 800 1000 1200 RSS (MB) - 29 spans/trace
  15. Don’t be a stran er! Follow & get in touch

    @foxlegend linkedin.com/in /davidpequegnot Follow us: @touret.info linkedin.com/in /atouret 34 |