private void logProducedBlock(final Block block, final BlockCreationTiming blockCreationTiming) {
    LOG.info(
        String.format(
            "Produced #%,d / %d tx / %d om / %,d (%01.1f%%) gas / (%s) in %01.3fs / Timing(%s)",
            block.getHeader().getNumber(),
            block.getBody().getTransactions().size(),
            block.getBody().getOmmers().size(),
            block.getHeader().getGasUsed(),
            (block.getHeader().getGasUsed() * 100.0) / block.getHeader().getGasLimit(),
            block.getHash(),
            blockCreationTiming.end("log").toMillis() / 1000.0,
            blockCreationTiming));
  }
Create a block with the given timestamp.

@param parentHeader The header of the parent of the block to be produced
@param timestamp unix timestamp of the new block.
@return the newly created block.
ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/BlockMiner.java