@Override
    public synchronized byte[] generate(long position) {
        // Make the random number generator deterministic for unit tests.
        random.setSeed(seed + position);

        // Calculate the next message size based on a gaussian distribution.
        if ((messageSize == 0) || (messageTracker >= messagesUntilSizeChange)) {
            messageTracker = 0;
            messageSize = Math.max((int) (random.nextGaussian() * messageSizeDeviation) + messageSizeAverage, Long.BYTES);
        }
        messageTracker += 1;

        // Generate the byte array before the timestamp generation.
        byte[] result = new byte[messageSize];

        // Do the timestamp generation as the very last task.
        buffer.clear();
        buffer.putLong(Time.SYSTEM.milliseconds());
        buffer.rewind();
        System.arraycopy(buffer.array(), 0, result, 0, Long.BYTES);
        return result;
    }
This class behaves identically to TimestampConstantPayloadGenerator, except the message size follows a gaussian
distribution.

This should be used in conjunction with TimestampRecordProcessor in the Consumer to measure true end-to-end latency
of a system.

`messageSizeAverage` - The average size in bytes of each message.
`messageSizeDeviation` - The standard deviation to use when calculating message size.
`messagesUntilSizeChange` - The number of messages to keep at the same size.

Here is an example spec:

{
   "type": "gaussianTimestampConstant",
   "messageSizeAverage": 512,
   "messageSizeDeviation": 100,
   "messagesUntilSizeChange": 100
}

This will generate messages on a gaussian distribution with an average size each 512-bytes. The message sizes will
have a standard deviation of 100 bytes, and the size will only change every 100 messages.  The distribution of
messages will be as follows:

   The average size of the messages are 512 bytes.
   ~68% of the messages are between 412 and 612 bytes
   ~95% of the messages are between 312 and 712 bytes
   ~99% of the messages are between 212 and 812 bytes
trogdor/src/main/java/org/apache/kafka/trogdor/workload/GaussianTimestampConstantPayloadGenerator.java