brave.propagation.Propagation<K>public final class AWSPropagation<K> extends Object implements brave.propagation.Propagation<K>
x-amzn-trace-id is primarily for Amazon's X-Ray service, but it is
also integrated with AWS ALB, API Gateway and Lambda.
For example, if you are in a lambda environment, you can read the incoming context like this:
span = tracer.nextSpan(AWSPropagation.extractLambda());
x-amzn-trace-id (and the lambda equivalent _X_AMZN_TRACE_ID) follows RFC 6265
style syntax (https://tools.ietf.org/html/rfc6265#section-2.2): fields are split on semicolon and
optional whitespace.
Description of the Root (or Self) field from AWS CLI help:
A trace_id consists of three numbers separated by hyphens. For example,
1-58406520-a006649127e371903a2de979. This includes:
brave.propagation.Propagation.Factory, brave.propagation.Propagation.Getter<C extends Object,K extends Object>, brave.propagation.Propagation.KeyFactory<K extends Object>, brave.propagation.Propagation.Setter<C extends Object,K extends Object>| Modifier and Type | Field | Description |
|---|---|---|
static brave.propagation.Propagation.Factory |
FACTORY |
|
static int |
ROOT_LENGTH |
| Modifier and Type | Method | Description |
|---|---|---|
static String |
currentTraceId() |
Returns the current
traceId(TraceContext) or null if not available |
static brave.propagation.TraceContextOrSamplingFlags |
extract(String amznTraceId) |
Like
TraceContext.Extractor.extract(Object) except reading from a single field. |
static brave.propagation.TraceContextOrSamplingFlags |
extractLambda() |
This is used for extracting from the AWS lambda environment variable
_X_AMZN_TRACE_ID. |
<C> brave.propagation.TraceContext.Extractor<C> |
extractor(brave.propagation.Propagation.Getter<C,K> getter) |
|
<C> brave.propagation.TraceContext.Injector<C> |
injector(brave.propagation.Propagation.Setter<C,K> setter) |
|
List<K> |
keys() |
returns the name of the header field: "x-amzn-trace-id"
|
static String |
traceId(brave.propagation.TraceContext context) |
Used for log correlation or
tag values |
public static final brave.propagation.Propagation.Factory FACTORY
public static final int ROOT_LENGTH
public List<K> keys()
keys in interface brave.propagation.Propagation<K>public <C> brave.propagation.TraceContext.Injector<C> injector(brave.propagation.Propagation.Setter<C,K> setter)
injector in interface brave.propagation.Propagation<K>@Nullable public static String currentTraceId()
traceId(TraceContext) or null if not available@Nullable public static String traceId(brave.propagation.TraceContext context)
tag valuesAWSPropagation.public <C> brave.propagation.TraceContext.Extractor<C> extractor(brave.propagation.Propagation.Getter<C,K> getter)
extractor in interface brave.propagation.Propagation<K>public static brave.propagation.TraceContextOrSamplingFlags extractLambda()
_X_AMZN_TRACE_ID.extract(String)public static brave.propagation.TraceContextOrSamplingFlags extract(String amznTraceId)
TraceContext.Extractor.extract(Object) except reading from a single field.Copyright © 2016–2018 OpenZipkin. All rights reserved.