Using Dynatrace and Kibana to Identify Bad Queries and Optimise Them
summary
Dynatrace and Kibana expose long JVM GC pauses that freeze Neo4j for minutes and cause reboots; tracing unique query IDs shows microservices issue bad traversals and large aggregations. Replacing a heavy custom traverser with a light traversal-plugin and streaming relationships instead of collect/unwind aggregations cuts memory pressure and stops full GCs. Load tests (JMeter) show one endpoint drops average latency by 64% and another by 93% avg / 96% max, and the DB records zero failures in the last year.
AI-written summary · about
chapters (7)
- 0:00Introduction to talk
- 1:55NEJ memory and garbage collection
- 4:06Detecting issues with Dynatrace
- 5:10Identifying slow queries
- 6:14Optimizing graph traversal
- 8:23Case study water network
- 11:43Results and conclusion
related talks
40mDebugging JVM performance issues
51mNavigating Distributed Traces
33mObservability and Debuggability in Cassandra
52mIs your JVM app flying blind? Unmask hidden issues with Observability superpowers!
47mHow I Solved Production Issues with OpenTelemetry (And How You Can Too)
19mOops my app performance sucks... what if observability could be a game changer?
40mProfiling Without Pain: Always-On Performance for the JVM
46mProfiling your Java Application A Beginner’s Guide
