public void ProduceSize() { int partitions = 1; short version = 0; byte messageVersion = 0; var results = new List <object>(); foreach (var codec in new[] { MessageCodec.None, MessageCodec.Gzip, MessageCodec.Snappy }) { foreach (var messages in new[] { 100, 10000 }) { foreach (var messageSize in new[] { 1, 1000 }) { foreach (var level in new[] { CompressionLevel.Fastest }) { Compression.ZipLevel = level; var request = new ProduceRequest( Enumerable.Range(1, partitions) .Select(partitionId => new ProduceRequest.Topic( "topic", partitionId, Enumerable.Range(1, messages) .Select(i => new Message(GenerateMessageBytes(messageSize), new ArraySegment <byte>(), 0, version: messageVersion)), codec))); var result = new { Codec = codec.ToString(), Level = codec == MessageCodec.None ? "-" : level.ToString(), Messages = messages, MessageSize = messageSize, Bytes = request.ToBytes(new RequestContext(1, version)).Count }; results.Add(result); } } } } WriteResults(results); }
public ArraySegment <byte> Encode() { return(_request.ToBytes(new RequestContext(1, Version))); }