Search in sources :

Example 1 with Iface

use of org.apache.accumulo.tracer.thrift.TestService.Iface in project accumulo by apache.

the class TracerTest method testThrift.

@Test
public void testThrift() throws Exception {
    TestReceiver tracer = new TestReceiver();
    org.apache.htrace.Trace.addReceiver(tracer);
    ServerSocket socket = new ServerSocket(0);
    TServerSocket transport = new TServerSocket(socket);
    transport.listen();
    TThreadPoolServer.Args args = new TThreadPoolServer.Args(transport);
    args.processor(new Processor<Iface>(TraceWrap.service(new Service())));
    final TServer tserver = new TThreadPoolServer(args);
    Thread t = new Thread() {

        @Override
        public void run() {
            tserver.serve();
        }
    };
    t.start();
    TTransport clientTransport = new TSocket(new Socket("localhost", socket.getLocalPort()));
    TestService.Iface client = new TestService.Client(new TBinaryProtocol(clientTransport), new TBinaryProtocol(clientTransport));
    client = TraceWrap.client(client);
    assertFalse(client.checkTrace(null, "test"));
    Span start = Trace.on("start");
    assertTrue(client.checkTrace(null, "my test"));
    start.stop();
    assertNotNull(tracer.traces.get(start.traceId()));
    String[] traces = { "my test", "checkTrace", "client:checkTrace", "start" };
    assertTrue(tracer.traces.get(start.traceId()).size() == traces.length);
    for (int i = 0; i < traces.length; i++) assertEquals(traces[i], tracer.traces.get(start.traceId()).get(i).description);
    tserver.stop();
    t.join(100);
}
Also used : TServer(org.apache.thrift.server.TServer) TestService(org.apache.accumulo.tracer.thrift.TestService) TestService(org.apache.accumulo.tracer.thrift.TestService) ServerSocket(java.net.ServerSocket) TServerSocket(org.apache.thrift.transport.TServerSocket) Span(org.apache.accumulo.core.trace.Span) TServerSocket(org.apache.thrift.transport.TServerSocket) Iface(org.apache.accumulo.tracer.thrift.TestService.Iface) Iface(org.apache.accumulo.tracer.thrift.TestService.Iface) TBinaryProtocol(org.apache.thrift.protocol.TBinaryProtocol) TTransport(org.apache.thrift.transport.TTransport) TThreadPoolServer(org.apache.thrift.server.TThreadPoolServer) Socket(java.net.Socket) ServerSocket(java.net.ServerSocket) TSocket(org.apache.thrift.transport.TSocket) TServerSocket(org.apache.thrift.transport.TServerSocket) TSocket(org.apache.thrift.transport.TSocket) Test(org.junit.Test)

Aggregations

ServerSocket (java.net.ServerSocket)1 Socket (java.net.Socket)1 Span (org.apache.accumulo.core.trace.Span)1 TestService (org.apache.accumulo.tracer.thrift.TestService)1 Iface (org.apache.accumulo.tracer.thrift.TestService.Iface)1 TBinaryProtocol (org.apache.thrift.protocol.TBinaryProtocol)1 TServer (org.apache.thrift.server.TServer)1 TThreadPoolServer (org.apache.thrift.server.TThreadPoolServer)1 TServerSocket (org.apache.thrift.transport.TServerSocket)1 TSocket (org.apache.thrift.transport.TSocket)1 TTransport (org.apache.thrift.transport.TTransport)1 Test (org.junit.Test)1