aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/resources/reference.conf
blob: 3c8f3686fda80905be9cd840c4f6172288027438 (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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# ================================== #
# Kamon-Core Reference Configuration #
# ================================== #

kamon {

  # Default dispatcher for all Kamon components, unless a more specific one is configured.
  default-dispatcher = "akka.actor.default-dispatcher"

  metrics {

    # Time interval for collecting all metrics and send the snapshots to all subscribed actors.
    tick-interval = 1 second

    # Time interval for recording values on all registered gauges.
    gauge-recording-interval = 100 milliseconds


    # Default size for the LongBuffer that gets allocated for metrics collection and merge. The
    # value should correspond to the highest number of different buckets with values that might
    # exist in a single histogram during a metrics collection. The default value of 33792 is a
    # very conservative value and its equal to the total number of buckets required to cover values
    # from 1 nanosecond to 1 hour with 0.1% precision (3 significant value digits). That means
    # that would need to have at least one measurement on every bucket of a single histogram to
    # fully utilize this buffer, which is *really* unlikely to ever happen. Since the buffer should
    # be allocated once and reused it shouldn't impose a memory footprint issue.
    default-collection-context-buffer-size = 33792

    dispatchers {

      # Dispatcher for periodical gauge value recordings.
      gauge-recordings = ${kamon.default-dispatcher}

      # Dispatcher for subscriptions and metrics collection actors.
      metric-subscriptions = ${kamon.default-dispatcher}
    }


    filters = [
      {
        actor {
          includes = []
          excludes = [ "system/*", "user/IO-*" ]
        }
      },
      {
        trace {
          includes = [ "*" ]
          excludes = []
        }
      },
      {
        dispatcher {
          includes = [ "default-dispatcher" ]
          excludes = []
        }
      }
    ]

    precision {
      default-histogram-precision {
        highest-trackable-value = 3600000000000
        significant-value-digits = 2
      }

      default-min-max-counter-precision {
        refresh-interval = 100 milliseconds
        highest-trackable-value = 999999999
        significant-value-digits = 2
      }

      default-gauge-precision {
        refresh-interval = 100 milliseconds
        highest-trackable-value = 999999999
        significant-value-digits = 2
      }


      actor {
        processing-time = ${kamon.metrics.precision.default-histogram-precision}
        time-in-mailbox = ${kamon.metrics.precision.default-histogram-precision}
        mailbox-size = ${kamon.metrics.precision.default-min-max-counter-precision}
      }

      trace {
        elapsed-time = ${kamon.metrics.precision.default-histogram-precision}
        segment = ${kamon.metrics.precision.default-histogram-precision}
      }

      dispatcher {
        maximum-pool-size {
          highest-trackable-value = 999999999
          significant-value-digits = 2
        }
        running-thread-count {
          highest-trackable-value = 999999999
          significant-value-digits = 2
        }
        queued-task-count {
          highest-trackable-value = 999999999
          significant-value-digits = 2
        }
        pool-size {
          highest-trackable-value = 999999999
          significant-value-digits = 2
        }
      }
    }
  }

  trace {

    # If ask-pattern-tracing is enabled, a WARN level log message will be generated if a future generated by the `ask`
    # pattern fails with a `AskTimeoutException` and the log message will contain a stack trace captured at the moment
    # the future was created.
    ask-pattern-tracing = off
  }

  weaver {

    # AspectJ options supported by LTW
    # showWeaveInfo: show informational messages whenever the weaver touches a class file.
    # verbose: show informational messages about the weaving process.
    # debug: show a messages for each class passed to the weaver indicating whether it was woven, excluded or ignored.
    # showWarn: show warning messages about the weaving process.

    showWeaveInfo = off
    verbose = off
    debug = off
    showWarn = off
  }
}