I am running application on the JDK12 with the -Xlog:safepoint+stats=debug:file=safepoint.log vm parameter to log the safepoint actions and running with ZGC
This is a safepoint with no VM operation. Its purpose is to perform periodic cleanup tasks like deflating idle monitors or purging inline cache buffer, which can be safely done only when no Java threads are running.
If there are cleanup tasks to do, a mandatory safepoint happens every GuaranteedSafepointInterval
milliseconds. The default value is 1000. Note that in your case no-op safepoint happens exactly 1 second after the previous safepoint.
The interval can be tuned with
-XX:+UnlockDiagnosticVMOptions -XX:GuaranteedSafepointInterval=<ms>
To avoid confusion, in JDK 13 such no-op safepoints got Cleanup
operation name.