report uncompressed message size when it does not need compression (#… · grpc/grpc-java@2aae68e
@@ -133,7 +133,7 @@ public void simplePayload() {
133133assertEquals(Bytes.asList(new byte[]{3, 14}), bytes(producer.getValue().next()));
134134verify(listener, atLeastOnce()).bytesRead(anyInt());
135135verifyNoMoreInteractions(listener);
136-checkStats(tracer, transportTracer.getStats(), fakeClock, 2, 2);
136+checkStats(tracer, transportTracer.getStats(), fakeClock, useGzipInflatingBuffer, 2, 2);
137137 }
138138139139@Test
@@ -148,7 +148,7 @@ public void smallCombinedPayloads() {
148148verify(listener, atLeastOnce()).bytesRead(anyInt());
149149assertEquals(Bytes.asList(new byte[]{14, 15}), bytes(streams.get(1).next()));
150150verifyNoMoreInteractions(listener);
151-checkStats(tracer, transportTracer.getStats(), fakeClock, 1, 1, 2, 2);
151+checkStats(tracer, transportTracer.getStats(), fakeClock, useGzipInflatingBuffer, 1, 1, 2, 2);
152152 }
153153154154@Test
@@ -162,7 +162,7 @@ public void endOfStreamWithPayloadShouldNotifyEndOfStream() {
162162verify(listener).deframerClosed(false);
163163verify(listener, atLeastOnce()).bytesRead(anyInt());
164164verifyNoMoreInteractions(listener);
165-checkStats(tracer, transportTracer.getStats(), fakeClock, 1, 1);
165+checkStats(tracer, transportTracer.getStats(), fakeClock, useGzipInflatingBuffer, 1, 1);
166166 }
167167168168@Test
@@ -177,7 +177,7 @@ public void endOfStreamShouldNotifyEndOfStream() {
177177 }
178178verify(listener).deframerClosed(false);
179179verifyNoMoreInteractions(listener);
180-checkStats(tracer, transportTracer.getStats(), fakeClock);
180+checkStats(tracer, transportTracer.getStats(), fakeClock, false);
181181 }
182182183183@Test
@@ -189,7 +189,7 @@ public void endOfStreamWithPartialMessageShouldNotifyDeframerClosedWithPartialMe
189189verify(listener, atLeastOnce()).bytesRead(anyInt());
190190verify(listener).deframerClosed(true);
191191verifyNoMoreInteractions(listener);
192-checkStats(tracer, transportTracer.getStats(), fakeClock);
192+checkStats(tracer, transportTracer.getStats(), fakeClock, false);
193193 }
194194195195@Test
@@ -206,7 +206,7 @@ public void endOfStreamWithInvalidGzipBlockShouldNotifyDeframerClosedWithPartial
206206deframer.closeWhenComplete();
207207verify(listener).deframerClosed(true);
208208verifyNoMoreInteractions(listener);
209-checkStats(tracer, transportTracer.getStats(), fakeClock);
209+checkStats(tracer, transportTracer.getStats(), fakeClock, false);
210210 }
211211212212@Test
@@ -228,10 +228,11 @@ public void payloadSplitBetweenBuffers() {
228228tracer,
229229transportTracer.getStats(),
230230fakeClock,
231+true,
2312327 /* msg size */ + 2 /* second buffer adds two bytes of overhead in deflate block */,
2322337);
233234 } else {
234-checkStats(tracer, transportTracer.getStats(), fakeClock, 7, 7);
235+checkStats(tracer, transportTracer.getStats(), fakeClock, false, 7, 7);
235236 }
236237 }
237238@@ -248,7 +249,7 @@ public void frameHeaderSplitBetweenBuffers() {
248249assertEquals(Bytes.asList(new byte[]{3}), bytes(producer.getValue().next()));
249250verify(listener, atLeastOnce()).bytesRead(anyInt());
250251verifyNoMoreInteractions(listener);
251-checkStats(tracer, transportTracer.getStats(), fakeClock, 1, 1);
252+checkStats(tracer, transportTracer.getStats(), fakeClock, useGzipInflatingBuffer, 1, 1);
252253 }
253254254255@Test
@@ -259,7 +260,7 @@ public void emptyPayload() {
259260assertEquals(Bytes.asList(), bytes(producer.getValue().next()));
260261verify(listener, atLeastOnce()).bytesRead(anyInt());
261262verifyNoMoreInteractions(listener);
262-checkStats(tracer, transportTracer.getStats(), fakeClock, 0, 0);
263+checkStats(tracer, transportTracer.getStats(), fakeClock, useGzipInflatingBuffer, 0, 0);
263264 }
264265265266@Test
@@ -273,9 +274,10 @@ public void largerFrameSize() {
273274verify(listener, atLeastOnce()).bytesRead(anyInt());
274275verifyNoMoreInteractions(listener);
275276if (useGzipInflatingBuffer) {
276-checkStats(tracer, transportTracer.getStats(), fakeClock, 8 /* compressed size */, 1000);
277+checkStats(tracer, transportTracer.getStats(), fakeClock,true,
278+8 /* compressed size */, 1000);
277279 } else {
278-checkStats(tracer, transportTracer.getStats(), fakeClock, 1000, 1000);
280+checkStats(tracer, transportTracer.getStats(), fakeClock, false, 1000, 1000);
279281 }
280282 }
281283@@ -292,7 +294,7 @@ public void endOfStreamCallbackShouldWaitForMessageDelivery() {
292294verify(listener).deframerClosed(false);
293295verify(listener, atLeastOnce()).bytesRead(anyInt());
294296verifyNoMoreInteractions(listener);
295-checkStats(tracer, transportTracer.getStats(), fakeClock, 1, 1);
297+checkStats(tracer, transportTracer.getStats(), fakeClock, useGzipInflatingBuffer, 1, 1);
296298 }
297299298300@Test
@@ -308,6 +310,7 @@ public void compressed() {
308310verify(listener).messagesAvailable(producer.capture());
309311assertEquals(Bytes.asList(new byte[1000]), bytes(producer.getValue().next()));
310312verify(listener, atLeastOnce()).bytesRead(anyInt());
313+checkStats(tracer, transportTracer.getStats(), fakeClock, true, 29, 1000);
311314verifyNoMoreInteractions(listener);
312315 }
313316@@ -502,15 +505,17 @@ public void sizeEnforcingInputStream_markReset() throws IOException {
502505 * @param sizes in the format {wire0, uncompressed0, wire1, uncompressed1, ...}
503506 */
504507private static void checkStats(
505-TestBaseStreamTracer tracer, TransportStats transportStats, FakeClock clock, long... sizes) {
508+TestBaseStreamTracer tracer, TransportStats transportStats, FakeClock clock,
509+boolean compressed, long... sizes) {
506510assertEquals(0, sizes.length % 2);
507511int count = sizes.length / 2;
508512long expectedWireSize = 0;
509513long expectedUncompressedSize = 0;
510514for (int i = 0; i < count; i++) {
511515assertEquals("inboundMessage(" + i + ")", tracer.nextInboundEvent());
512516assertEquals(
513-String.format(Locale.US, "inboundMessageRead(%d, %d, -1)", i, sizes[i * 2]),
517+String.format(Locale.US, "inboundMessageRead(%d, %d, %d)", i, sizes[i * 2],
518+compressed ? -1 : sizes[i * 2 + 1]),
514519tracer.nextInboundEvent());
515520expectedWireSize += sizes[i * 2];
516521expectedUncompressedSize += sizes[i * 2 + 1];