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

Class ChannelzBenchmark

core/src/jmh/java/io/grpc/internal/ChannelzBenchmark.java:38–148  ·  view source on GitHub ↗

Javadoc.

Source from the content-addressed store, hash-verified

36 * Javadoc.
37 */
38@State(Scope.Benchmark)
39public class ChannelzBenchmark {
40 // Number of items already present
41 @Param({"10", "100", "1000", "10000"})
42 public int preexisting;
43
44 public InternalChannelz channelz = new InternalChannelz();
45
46 public InternalInstrumented<ServerStats> serverToRemove;
47
48 public InternalInstrumented<ServerStats> serverToAdd;
49
50 public InternalInstrumented<ServerStats> serverForServerSocket;
51 public InternalInstrumented<SocketStats> serverSocketToAdd;
52 public InternalInstrumented<SocketStats> serverSocketToRemove;
53
54 /**
55 * Javadoc.
56 */
57 @Setup
58 @SuppressWarnings({"unchecked", "rawtypes"})
59 public void setUp() {
60 serverToRemove = create();
61 channelz.addServer(serverToRemove);
62
63 serverForServerSocket = create();
64 channelz.addServer(serverForServerSocket);
65
66 serverSocketToRemove = create();
67 channelz.addClientSocket(serverSocketToRemove);
68 channelz.addServerSocket(serverForServerSocket, serverSocketToRemove);
69
70 populate(preexisting);
71
72 serverToAdd = create();
73 serverSocketToAdd = create();
74 }
75
76 private void populate(int count) {
77 for (int i = 0; i < count; i++) {
78 // for addNavigable / removeNavigable
79 InternalInstrumented<ServerStats> srv = create();
80 channelz.addServer(srv);
81
82 // for add / remove
83 InternalInstrumented<SocketStats> sock = create();
84 channelz.addClientSocket(sock);
85
86 // for addServerSocket / removeServerSocket
87 channelz.addServerSocket(serverForServerSocket, sock);
88 }
89 }
90
91 @Benchmark
92 @BenchmarkMode(Mode.SampleTime)
93 @OutputTimeUnit(TimeUnit.NANOSECONDS)
94 public void addNavigable() {
95 channelz.addServer(serverToAdd);

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected