Search in sources :

Example 1 with BatchWriteSpansRequest

use of com.google.devtools.cloudtrace.v2.BatchWriteSpansRequest in project curiostack by curioswitch.

the class StackdriverReporter method flush.

@Override
public void flush() {
    List<Span> spans = new ArrayList<>(queue.size());
    queue.drain(spans::add);
    if (spans.isEmpty()) {
        return;
    }
    List<com.google.devtools.cloudtrace.v2.Span> translated = SpanTranslator.translate(projectId, spans);
    BatchWriteSpansRequest request = BatchWriteSpansRequest.newBuilder().setName("projects/" + projectId).addAllSpans(translated).build();
    Futures.addCallback(traceServiceClient.get().batchWriteSpans(request), new FutureCallback<Empty>() {

        @Override
        public void onFailure(Throwable t) {
            logger.warn("Error reporting traces.", t);
        }

        @Override
        public void onSuccess(Empty result) {
            logger.trace("Successfully reported traces.");
        }
    }, MoreExecutors.directExecutor());
}
Also used : BatchWriteSpansRequest(com.google.devtools.cloudtrace.v2.BatchWriteSpansRequest) Empty(com.google.protobuf.Empty) ArrayList(java.util.ArrayList) Span(zipkin2.Span)

Aggregations

BatchWriteSpansRequest (com.google.devtools.cloudtrace.v2.BatchWriteSpansRequest)1 Empty (com.google.protobuf.Empty)1 ArrayList (java.util.ArrayList)1 Span (zipkin2.Span)1