quarkus: OpenTelemetry JDBC instrumentation stops working after dev mode reload

Describe the bug

#29645 fixed instrumentation of REST endpoints in 2.15.0, but it seems JDBC instrumentation is now broken after dev mode reload.

Expected behavior

JDBC spans are shown in Jaeger after dev mode reload just as they were shown before

Actual behavior

No JDBC spans after dev mode reload

How to Reproduce?

hibernate-orm-quickstart.zip (hibernate-orm-quickstart with additional OTEL config and disabled query caching)

  1. docker compose up -d
  2. mvn quarkus:dev
  3. http://localhost:8080/fruits
  4. check console: SQL statement is logged
  5. check jaeger (http://localhost:16686): operation /fruits has 2 spans, one being a SELECT span
  6. call /fruits one more time and check again
  7. hit s in dev mode to trigger a restart
  8. http://localhost:8080/fruits
  9. check console: SQL statement is logged
  10. check jaeger: latest operation /fruits has only 1 span, SELECT span is missing
  11. (edited) call /fruits one more time and check again, still nothing

Output of uname -a or ver

No response

Output of java -version

No response

GraalVM version (if different from Java)

No response

Quarkus version or git rev

2.15.0

Build tool (ie. output of mvnw --version or gradlew --version)

No response

Additional information

No response

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 15 (14 by maintainers)

Most upvoted comments

Sorry, this message got buried. Yes, It’s available on 3.0.0.Final and above. The new activation instructions are here: https://quarkus.io/guides/opentelemetry#jdbc

Otel 1.23 has introduced changes on this jdbc instrumentation. Checking now along with other upgrades.

Created bug on the OTel side ^

Thanks @famod. Will look at it soon.