MCPcopy Create free account
hub / github.com/grpc/grpc-java / ChannelTracerTest

Class ChannelTracerTest

core/src/test/java/io/grpc/internal/ChannelTracerTest.java:40–167  ·  view source on GitHub ↗

Unit tests for ChannelTracer.

Source from the content-addressed store, hash-verified

38 * Unit tests for {@link ChannelTracer}.
39 */
40@RunWith(JUnit4.class)
41public class ChannelTracerTest {
42 private static final Logger logger = Logger.getLogger(ChannelLogger.class.getName());
43 private final ArrayList<LogRecord> logs = new ArrayList<>();
44 private final Handler handler = new Handler() {
45 @Override
46 public void publish(LogRecord record) {
47 logs.add(record);
48 }
49
50 @Override
51 public void flush() {
52 }
53
54 @Override
55 public void close() throws SecurityException {
56 }
57 };
58
59 private final InternalLogId logId = InternalLogId.allocate("test", /*details=*/ null);
60 private final String logPrefix = "[" + logId + "] ";
61
62 @Before
63 public void setUp() {
64 logger.addHandler(handler);
65 logger.setLevel(Level.ALL);
66 }
67
68 @After
69 public void tearDown() {
70 logger.removeHandler(handler);
71 }
72
73 @Test
74 public void channelTracerWithZeroMaxEvents() {
75 ChannelTracer channelTracer =
76 new ChannelTracer(logId, /* maxEvents= */ 0, /* channelCreationTimeNanos= */ 3L, "fooType");
77 ChannelStats.Builder builder = new ChannelStats.Builder();
78 Event e1 = new Event.Builder()
79 .setDescription("e1").setSeverity(Severity.CT_ERROR).setTimestampNanos(1001).build();
80 channelTracer.reportEvent(e1);
81
82 channelTracer.updateBuilder(builder);
83 ChannelStats stats = builder.build();
84 assertThat(stats.channelTrace).isNull();
85
86 assertThat(logs).hasSize(2);
87 LogRecord log = logs.remove(0);
88 assertThat(log.getMessage()).isEqualTo(logPrefix + "fooType created");
89 assertThat(log.getLevel()).isEqualTo(Level.FINEST);
90 log = logs.remove(0);
91 assertThat(log.getMessage()).isEqualTo(logPrefix + "e1");
92 assertThat(log.getLevel()).isEqualTo(Level.FINE);
93 }
94
95 @Test
96 public void reportEvents() {
97 ChannelTracer channelTracer =

Callers

nothing calls this directly

Calls 2

allocateMethod · 0.95
getNameMethod · 0.65

Tested by

no test coverage detected