lhotari opened a new pull request, #15670:
URL: https://github.com/apache/pulsar/pull/15670

   ### Motivation
   
   - The GC logs don't currently include the safepoint time
     - This is necessary for investigating long GC pauses
   
   - Writing GC logs impacts the total duration of a "stop the world" pause. 
Add ways to address this problem.
     - For <Java 17, it is necessary to be able to write GC logs to a tmpfs or 
a fast disk that isn't saturated. See ["Eliminating Large JVM GC Pauses Caused 
by Background IO 
Traffic"](https://engineering.linkedin.com/blog/2016/02/eliminating-large-jvm-gc-pauses-caused-by-background-io-traffic)
 for more details.
     - On Java 17+, there's an option `-Xlog:async`, explained in 
https://bugs.openjdk.java.net/browse/JDK-8264323 . This addresses the problem 
explained in the [blog 
post](https://engineering.linkedin.com/blog/2016/02/eliminating-large-jvm-gc-pauses-caused-by-background-io-traffic)
 referenced above.
   
   - The GC log is currently always placed in `logs` directory.  
`PULSAR_LOG_DIR`/`BOOKIE_LOG_DIR` option is ignored. The GC log should go to 
the correct directory.
   
   ### Modifications
   
   - include the safepoint time in GC logs
      - Add "safepoint" to logged "tags" for Java 9+ and 
-XX:+PrintGCApplicationStoppedTime for Java 8
   - make it possible to specify the GC logs directory with `PULSAR_GC_LOG_DIR
   /`BOOKIE_GC_LOG_DIR` , default to `PULSAR_LOG_DIR`/`BOOKIE_LOG_DIR`. 
   
   - the logging layout is now common for both Pulsar and BK GC logs
     using "time,uptime,tags".
   
   - Add `-Xlog:async` to GC logging options on Java 17+


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to