/** * Helper method to start tracing and return the span. */ private Span startTracing(String spanName) { if (!environment.operationTracingEnabled()) { return null; } Scope scope = environment.tracer() .buildSpan(spanName) .startActive(false); Span parent = scope.span(); scope.close(); return parent; }
public static void addRequestSpanWithParent(CouchbaseEnvironment env, Span parent, CouchbaseRequest request, String opName) { if (env.operationTracingEnabled()) { Scope scope = env.tracer() .buildSpan(opName) .asChildOf(parent) .startActive(false); request.span(scope.span(), env); scope.close(); } }
@Override @SuppressWarnings({"unchecked"}) public D call(final GetResponse response) { Transcoder<?, Object> transcoder = (Transcoder<?, Object>) transcoders.get(target); Scope decodeScope = null; if (environment.operationTracingEnabled()) { decodeScope = environment.tracer() .buildSpan("response_decoding") .asChildOf(response.request().span()) .startActive(true); } D decoded = (D) transcoder.decode(id, response.content(), response.cas(), 0, response.flags(), response.status()); if (environment.operationTracingEnabled() && decodeScope != null) { decodeScope.close(); if (decodeScope.span() instanceof ThresholdLogSpan) { decodeScope.span().setBaggageItem(ThresholdLogReporter.KEY_DECODE_MICROS, Long.toString(((ThresholdLogSpan) decodeScope.span()).durationMicros()) ); } } if (environment.operationTracingEnabled()) { environment.tracer().scopeManager() .activate(response.request().span(), true) .close(); } return decoded; }
@Override public Observable<D> call() { final Span parentSpan; if (environment.operationTracingEnabled()) { Scope scope = environment.tracer() .buildSpan("get_from_replica")
public static void addRequestSpan(CouchbaseEnvironment env, CouchbaseRequest request, String opName) { if (env.operationTracingEnabled()) { if (env.propagateParentSpan()) { Span potentialParent = env.tracer().activeSpan(); if (potentialParent != null) { // there is an active span, use it as a parent addRequestSpanWithParent(env, potentialParent, request, opName); return; } } Scope scope = env.tracer() .buildSpan(opName) .startActive(false); request.span(scope.span(), env); scope.close(); } }
@Override public Observable<DocumentFragment<Mutation>> call() { Span requestSpan = null; if (environment.operationTracingEnabled()) { Scope scope = environment.tracer() .buildSpan("subdoc_mutate")
@Override public Observable<D> call() { Span requestSpan = null; if (env.operationTracingEnabled()) { Tracer.SpanBuilder spanBuilder = env.tracer() .buildSpan("append");
@Override public Observable<D> call() { Span requestSpan = null; if (env.operationTracingEnabled()) { Tracer.SpanBuilder spanBuilder = env.tracer() .buildSpan("prepend");
@Override public Observable<D> call() { Span requestSpan = null; if (env.operationTracingEnabled()) { Tracer.SpanBuilder spanBuilder = env.tracer() .buildSpan("insert");
@Override public Observable<D> call() { Span requestSpan = null; if (env.operationTracingEnabled()) { Tracer.SpanBuilder spanBuilder = env.tracer() .buildSpan("upsert");
@Override public Observable<D> call() { Span requestSpan = null; if (env.operationTracingEnabled()) { Tracer.SpanBuilder spanBuilder = env.tracer() .buildSpan("replace");
@Override public Boolean call(GetResponse response) { if (response.status().isSuccess()) { return true; } ByteBuf content = response.content(); if (content != null && content.refCnt() > 0) { content.release(); } if (environment.operationTracingEnabled()) { environment.tracer().scopeManager() .activate(response.request().span(), true) .close(); } switch (response.status()) { case NOT_EXISTS: return false; case TEMPORARY_FAILURE: case SERVER_BUSY: case LOCKED: throw addDetails(new TemporaryFailureException(), response); case OUT_OF_MEMORY: throw addDetails(new CouchbaseOutOfMemoryException(), response); default: throw addDetails(new CouchbaseException(response.status().toString()), response); } } }
@Override public Boolean call(GetResponse response) { if (response.status().isSuccess()) { return true; } ByteBuf content = response.content(); if (content != null && content.refCnt() > 0) { content.release(); } if (environment.operationTracingEnabled()) { environment.tracer().scopeManager() .activate(response.request().span(), true) .close(); } switch (response.status()) { case NOT_EXISTS: return false; case TEMPORARY_FAILURE: case SERVER_BUSY: throw addDetails(new TemporaryFailureException(), response); case OUT_OF_MEMORY: throw addDetails(new CouchbaseOutOfMemoryException(), response); default: throw addDetails(new CouchbaseException(response.status().toString()), response); } } }
@Override public Boolean call(GetResponse response) { if (response.status().isSuccess()) { return true; } ByteBuf content = response.content(); if (content != null && content.refCnt() > 0) { content.release(); } if (environment.operationTracingEnabled()) { environment.tracer().scopeManager() .activate(response.request().span(), true) .close(); } switch (response.status()) { case NOT_EXISTS: return false; case TEMPORARY_FAILURE: case LOCKED: throw addDetails(new TemporaryLockFailureException(), response); case SERVER_BUSY: throw addDetails(new TemporaryFailureException(), response); case OUT_OF_MEMORY: throw addDetails(new CouchbaseOutOfMemoryException(), response); default: throw addDetails(new CouchbaseException(response.status().toString()), response); } } }