Search in sources :

Example 1 with Blocking

use of com.linecorp.armeria.server.annotation.Blocking in project zipkin by openzipkin.

the class ZipkinQueryApiV2 method getTraces.

@Get("/api/v2/traces")
@Blocking
public AggregatedHttpResponse getTraces(@Param("serviceName") Optional<String> serviceName, @Param("remoteServiceName") Optional<String> remoteServiceName, @Param("spanName") Optional<String> spanName, @Param("annotationQuery") Optional<String> annotationQuery, @Param("minDuration") Optional<Long> minDuration, @Param("maxDuration") Optional<Long> maxDuration, @Param("endTs") Optional<Long> endTs, @Param("lookback") Optional<Long> lookback, @Default("10") @Param("limit") int limit) throws IOException {
    QueryRequest queryRequest = QueryRequest.newBuilder().serviceName(serviceName.orElse(null)).remoteServiceName(remoteServiceName.orElse(null)).spanName(spanName.orElse(null)).parseAnnotationQuery(annotationQuery.orElse(null)).minDuration(minDuration.orElse(null)).maxDuration(maxDuration.orElse(null)).endTs(endTs.orElse(System.currentTimeMillis())).lookback(lookback.orElse(defaultLookback)).limit(limit).build();
    List<List<Span>> traces = storage.spanStore().getTraces(queryRequest).execute();
    return jsonResponse(writeTraces(SpanBytesEncoder.JSON_V2, traces));
}
Also used : QueryRequest(zipkin2.storage.QueryRequest) List(java.util.List) Get(com.linecorp.armeria.server.annotation.Get) Blocking(com.linecorp.armeria.server.annotation.Blocking)

Aggregations

Blocking (com.linecorp.armeria.server.annotation.Blocking)1 Get (com.linecorp.armeria.server.annotation.Get)1 List (java.util.List)1 QueryRequest (zipkin2.storage.QueryRequest)1