Hello Makism!
Greetings. Interesting data points. Here are my initial thoughts around it.
Allocation Stall vs Allocation Rate
As you have pointed out allocation stalls are happening at 01:25am, 01:55am and 03:16pm as indicated in the below graph. Red triangles indicates the cluster of allocation stalls happening around this time frame.
During this exact time frame, allocation rate (i.e. in other words object creation rate) is degrading as shown in the below graph:
Allocation stall is a mechanism employed by the JVM to stall the application, so that new objects will not be created. You might see great GC throughput and GC pause time behaviour because of allocation stall, however it will degrade the overall application's response time. Can you check how was your application response time during the time frame in which allocation stalls were happening i.e. during 01:25am, 01:55am and 03:16pm. Allocation stalls are more prevasive in Z GC than other applications. This is main side-effect I am seeing in Z GC algorithms.
Heap usage (before GC) & Heap usage (after GC) graph disconnect
Actually there is no disconnect. Infact it makes perfect sense. If you notice spike in 'Heap usage (after GC)' graph happens few seconds before the drop in 'Heap usage (before GC)' graph. Spike in activity is reported at 01:25:03am, 01:25:21am in the 'Heap usage (after GC)' graph, where as drop in the 'Heap usage (before GC)' graph is happening at 01:25:28am to 01:26:03am. Just because of spike in the heap usage, allocation stalls are kicking-in. You can zoom the graph and study the timeframe more closely.
Edit your Comment