aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/resources/reference.conf
diff options
context:
space:
mode:
Diffstat (limited to 'kamon-core/src/main/resources/reference.conf')
-rw-r--r--kamon-core/src/main/resources/reference.conf59
1 files changed, 55 insertions, 4 deletions
diff --git a/kamon-core/src/main/resources/reference.conf b/kamon-core/src/main/resources/reference.conf
index 6ad06325..ad180f1c 100644
--- a/kamon-core/src/main/resources/reference.conf
+++ b/kamon-core/src/main/resources/reference.conf
@@ -85,20 +85,71 @@ kamon {
reporter-queue-size = 1024
+ # Decide whether a new, locally created Span should have the same Span Identifier as it's remote parent (if any) or
+ # get a new local identifier. Certain tracing systems use the same Span Identifier to represent both sides (client
+ # and server) of a RPC call, if you are reporting data to such systems then this option should be enabled.
+ #
+ # If you are using Zipkin, keep this option enabled. If you are using Jaeger, disable it.
+ join-remote-parents-with-same-span-id = no
+
# Configures a sample that decides which traces should be reported to the trace backends. The possible values are:
# - always: report all traces.
# - never: don't report any trace.
- # - random: use the random tracer.
+ # - random: randomly decide using the probability defined in the random-sampler.probability setting.
#
sampler = "random"
# The random sampler uses the "chance" setting and a random number to take a decision, if the random number is
# on the upper (chance * 100) percent of the number spectrum the trace will be sampled. E.g. a chance of 0.01 will
# hint that 1% of all traces should be reported.
- sampler-random {
+ random-sampler {
+
+ # Probability of a span being sampled. Must be a value between 0 and 1.
+ probability = 0.01
+ }
+
+ # The IdentityProvider used to generate Trace and Span Identifiers in Kamon. There are two default implementations
+ # that ship with Kamon:
+ # - kamon.trace.IdentityProvider$Default: Creates 8-byte identifiers for both Traces and Spans.
+ # - kamon.trace.IdentityProvider$DoubleSizeTraceID: Creates 16-byte identifiers for Traces and 8-byte identifiers
+ # for Spans.
+ #
+ # Any external implementation can be configured here, as long as it can be instantiated with a parameterless constructor.
+ identity-provider = "kamon.trace.IdentityProvider$Default"
+
+ # The SpanContextCodecs are used to encode/decode the SpanContext data into simple TextMaps, HTTP Headers or Binary
+ # carriers. The decision about which one to use is based on the kamon.trace.SpanContextCodec.Format instance passed
+ # to inject/extract calls.
+ #
+ # Any external implementation can be configured here, as long as it can be instantiated with a single parameter
+ # constructor that accepts a IdentityProvider.
+ span-context-codec {
+
+ # Encodes/Decodes the SpanContext data using a simple key/value pair. Since this is very rarely going to be used
+ # we default to using the same codec for HTTP Headers, as it is built on top of a TextMap.
+ text-map = "kamon.trace.SpanContextCodec$ExtendedB3"
+
+ # Encodes/Decodes the SpanContext into a TextMap with HTTP Header friendly, URLEncoded values. The default
+ # implementation follows the guidelines of B3 propagation. See more at https://github.com/openzipkin/b3-propagation.
+ http-headers = "kamon.trace.SpanContextCodec$ExtendedB3"
- # Chance of a span being sampled. Must be a value between 0 and 1.
- chance = 0.01
+ # Encodes/Decodes the SpanContext using a binary representation.
+ binary = "TODO"
+ }
+
+
+ }
+
+ context {
+ encoding {
+
+ http-headers {
+ span = "kamon.trace.SpanCodec$B3"
+ }
+
+ binary {
+ # span = "kamon.trace.propagation.Binary"
+ }
}
}