@Override public final <K> Propagation<K> create(KeyFactory<K> keyFactory) { return new GrpcPropagation<>(this, keyFactory); }
GrpcTracing(Builder builder) { // intentionally hidden constructor tracing = builder.tracing; grpcPropagationFormatEnabled = builder.grpcPropagationFormatEnabled; Propagation.Factory propagationFactory = tracing.propagationFactory(); if (grpcPropagationFormatEnabled) { propagationFactory = GrpcPropagation.newFactory(propagationFactory); } propagation = propagationFactory.create(AsciiMetadataKeyFactory.INSTANCE); clientParser = builder.clientParser; serverParser = builder.serverParser; }
@Override public TraceContextOrSamplingFlags extract(C carrier) { Tags tags = null; if (carrier instanceof Metadata) { tags = extractTags(((Metadata) carrier).get(GRPC_TAGS_BIN)); byte[] bytes = ((Metadata) carrier).get(GRPC_TRACE_BIN); if (bytes != null) { TraceContext maybeContext = TraceContextBinaryFormat.parseBytes(bytes, tags); if (maybeContext != null) return TraceContextOrSamplingFlags.create(maybeContext); } } TraceContextOrSamplingFlags result = delegate.extract(carrier); if (tags == null) return result; return result.toBuilder().addExtra(tags).build(); } }
@Override public TraceContextOrSamplingFlags extract(C carrier) { Tags tags = null; if (carrier instanceof Metadata) { tags = extractTags(((Metadata) carrier).get(GRPC_TAGS_BIN)); byte[] bytes = ((Metadata) carrier).get(GRPC_TRACE_BIN); if (bytes != null) { TraceContext maybeContext = TraceContextBinaryFormat.parseBytes(bytes, tags); if (maybeContext != null) return TraceContextOrSamplingFlags.create(maybeContext); } } TraceContextOrSamplingFlags result = delegate.extract(carrier); if (tags == null) return result; return result.toBuilder().addExtra(tags).build(); } }
GrpcTracing(Builder builder) { // intentionally hidden constructor tracing = builder.tracing; grpcPropagationFormatEnabled = builder.grpcPropagationFormatEnabled; Propagation.Factory propagationFactory = tracing.propagationFactory(); if (grpcPropagationFormatEnabled) { propagationFactory = GrpcPropagation.newFactory(propagationFactory); } propagation = propagationFactory.create(AsciiMetadataKeyFactory.INSTANCE); clientParser = builder.clientParser; serverParser = builder.serverParser; }
@Override public final <K> Propagation<K> create(KeyFactory<K> keyFactory) { return new GrpcPropagation<>(this, keyFactory); }