blob: 1f8578fbdaf1a8b913ec9ee36227fd5294a2c334 [file] [log] [blame]
Girish Kumar46d7c3a2020-05-18 12:06:33 +00001// Copyright (c) 2017 Uber Technologies, Inc.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package jaeger
16
17import (
18 "fmt"
19
20 "github.com/opentracing/opentracing-go"
21)
22
23const (
24 // JaegerClientVersion is the version of the client library reported as Span tag.
25 JaegerClientVersion = "Go-2.23.1"
26
27 // JaegerClientVersionTagKey is the name of the tag used to report client version.
28 JaegerClientVersionTagKey = "jaeger.version"
29
30 // JaegerDebugHeader is the name of HTTP header or a TextMap carrier key which,
31 // if found in the carrier, forces the trace to be sampled as "debug" trace.
32 // The value of the header is recorded as the tag on the root span, so that the
33 // trace can be found in the UI using this value as a correlation ID.
34 JaegerDebugHeader = "jaeger-debug-id"
35
36 // JaegerBaggageHeader is the name of the HTTP header that is used to submit baggage.
37 // It differs from TraceBaggageHeaderPrefix in that it can be used only in cases where
38 // a root span does not exist.
39 JaegerBaggageHeader = "jaeger-baggage"
40
41 // TracerHostnameTagKey used to report host name of the process.
42 TracerHostnameTagKey = "hostname"
43
44 // TracerIPTagKey used to report ip of the process.
45 TracerIPTagKey = "ip"
46
47 // TracerUUIDTagKey used to report UUID of the client process.
48 TracerUUIDTagKey = "client-uuid"
49
50 // SamplerTypeTagKey reports which sampler was used on the root span.
51 SamplerTypeTagKey = "sampler.type"
52
53 // SamplerParamTagKey reports the parameter of the sampler, like sampling probability.
54 SamplerParamTagKey = "sampler.param"
55
56 // TraceContextHeaderName is the http header name used to propagate tracing context.
57 // This must be in lower-case to avoid mismatches when decoding incoming headers.
58 TraceContextHeaderName = "uber-trace-id"
59
60 // TracerStateHeaderName is deprecated.
61 // Deprecated: use TraceContextHeaderName
62 TracerStateHeaderName = TraceContextHeaderName
63
64 // TraceBaggageHeaderPrefix is the prefix for http headers used to propagate baggage.
65 // This must be in lower-case to avoid mismatches when decoding incoming headers.
66 TraceBaggageHeaderPrefix = "uberctx-"
67
68 // SamplerTypeConst is the type of sampler that always makes the same decision.
69 SamplerTypeConst = "const"
70
71 // SamplerTypeRemote is the type of sampler that polls Jaeger agent for sampling strategy.
72 SamplerTypeRemote = "remote"
73
74 // SamplerTypeProbabilistic is the type of sampler that samples traces
75 // with a certain fixed probability.
76 SamplerTypeProbabilistic = "probabilistic"
77
78 // SamplerTypeRateLimiting is the type of sampler that samples
79 // only up to a fixed number of traces per second.
80 SamplerTypeRateLimiting = "ratelimiting"
81
82 // SamplerTypeLowerBound is the type of sampler that samples
83 // at least a fixed number of traces per second.
84 SamplerTypeLowerBound = "lowerbound"
85
86 // DefaultUDPSpanServerHost is the default host to send the spans to, via UDP
87 DefaultUDPSpanServerHost = "localhost"
88
89 // DefaultUDPSpanServerPort is the default port to send the spans to, via UDP
90 DefaultUDPSpanServerPort = 6831
91
92 // DefaultSamplingServerPort is the default port to fetch sampling config from, via http
93 DefaultSamplingServerPort = 5778
94
95 // DefaultMaxTagValueLength is the default max length of byte array or string allowed in the tag value.
96 DefaultMaxTagValueLength = 256
97
98 // SelfRefType is a jaeger specific reference type that supports creating a span
99 // with an already defined context.
100 selfRefType opentracing.SpanReferenceType = 99
101)
102
103var (
104 // DefaultSamplingServerURL is the default url to fetch sampling config from, via http
105 DefaultSamplingServerURL = fmt.Sprintf("http://localhost:%d/sampling", DefaultSamplingServerPort)
106)