aboutsummaryrefslogtreecommitdiff
path: root/kamon-spray/src/main/resources/reference.conf
blob: c5270ef59ac13e55fb3fef8e5eee478d9bee4ac6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# =================================== #
# Kamon-Spray Reference Configuration #
# =================================== #

kamon {
  spray {

    # Header name used when propagating the `TraceContext.token` value across applications.
    trace-token-header-name = "X-Trace-Token"

    # When set to true, Kamon will automatically set and propogate the `TraceContext.token` value under the following
    # conditions:
    #  - When a server side request is received containing the trace token header, the new `TraceContext` will have that
    #    some token, and once the response to that request is ready, the trace token header is also included in the
    #    response.
    #  - When a spray-client request is issued and a `TraceContext` is available, the trace token header will be included
    #    in the `HttpRequest` headers.
    automatic-trace-token-propagation = true

    # Fully qualified name of the implementation of kamon.spray.SprayNameGenerator that will be used for assigning names
    # to traces and client http segments.
    name-generator = kamon.spray.DefaultSprayNameGenerator

    client {
      # Strategy used for automatic trace segment generation when issue requests with spray-client. The possible values
      # are:
      #  - request-level: measures the time during which the user application code is waiting for a spray-client request to
      #    complete, by attaching a callback to the Future[HttpResponse] returned by `spray.client.pipelining.sendReceive`.
      #    If `spray.client.pipelining.sendReceive` is not used, the segment measurement wont be performed.
      #  - host-level: measures the internal time taken by spray-client to finish a request. Sometimes the user application
      #    code has a finite future timeout (like when using `spray.client.pipelining.sendReceive`) that doesn't match
      #    the actual amount of time spray might take internally to resolve a request, counting retries, redirects,
      #    connection timeouts and so on. If using the internal strategy, the measured time will include the entire time
      #    since the request has been received by the corresponding `HttpHostConnector` until a response is sent back
      #    to the requester.
      instrumentation-level = request-level
    }
  }

  modules {
    kamon-spray {
      auto-start = yes
      requires-aspectj = yes
      extension-id = "kamon.spray.Spray"
    }
  }
}