aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/Kamon.scala
diff options
context:
space:
mode:
Diffstat (limited to 'kamon-core/src/main/scala/kamon/Kamon.scala')
-rw-r--r--kamon-core/src/main/scala/kamon/Kamon.scala40
1 files changed, 36 insertions, 4 deletions
diff --git a/kamon-core/src/main/scala/kamon/Kamon.scala b/kamon-core/src/main/scala/kamon/Kamon.scala
index 96aba81c..50c3e69d 100644
--- a/kamon-core/src/main/scala/kamon/Kamon.scala
+++ b/kamon-core/src/main/scala/kamon/Kamon.scala
@@ -15,9 +15,9 @@
package kamon
-import com.typesafe.config.{Config, ConfigRenderOptions}
+import com.typesafe.config.{Config, ConfigFactory, ConfigRenderOptions}
import kamon.metric.PeriodSnapshot
-import kamon.module.{MetricReporter, Module}
+import kamon.trace.Span
object Kamon extends ClassLoading
with Configuration
@@ -42,16 +42,41 @@ object Kamon extends ClassLoading
object QuickTest extends App {
+ val manualConfig =
+ """
+ |kamon.modules {
+ | kamon-zipkin {
+ | enabled = false
+ | description = "Module that sends data to particular places"
+ | kind = metric
+ | class = kamon.MyCustomMetricDude
+ | }
+ |}
+ """.stripMargin
+
+ val newConfig = ConfigFactory.parseString(manualConfig).withFallback(Kamon.config())
+ Kamon.reconfigure(newConfig)
+
+
+
Kamon.loadModules()
- Kamon.registerModule("my-module", new MetricReporter {
+ Kamon.registerModule("my-module", new kamon.module.MetricReporter {
override def reportPeriodSnapshot(snapshot: PeriodSnapshot): Unit = {}
override def start(): Unit = {}
override def stop(): Unit = {}
override def reconfigure(newConfig: Config): Unit = {}
})
+ Kamon.registerModule("my-module-for-spans", new kamon.module.SpanReporter {
+ override def reportSpans(spans: Seq[Span.FinishedSpan]): Unit = {}
+ override def start(): Unit = {}
+ override def stop(): Unit = {}
+ override def reconfigure(newConfig: Config): Unit = {}
+ })
+
- Kamon.histogram("test").refine("tagcito" -> "value").record(10)
+ Kamon.histogram("test").refine("actor_class" -> "com.kamon.something.MyActor", "system" -> "HRMS").record(10)
+ Kamon.rangeSampler("test-rs").refine("actor_class" -> "com.kamon.something.MyActor", "system" -> "HRMS").increment(34)
Kamon.counter("test-counter").refine("tagcito" -> "value").increment(42)
//println("JSON CONFIG: " + Kamon.config().root().render(ConfigRenderOptions.concise().setFormatted(true).setJson(true)))
@@ -61,3 +86,10 @@ object QuickTest extends App {
}
+
+class MyCustomMetricDude extends kamon.module.MetricReporter {
+ override def reportPeriodSnapshot(snapshot: PeriodSnapshot): Unit = {}
+ override def start(): Unit = {}
+ override def stop(): Unit = {}
+ override def reconfigure(newConfig: Config): Unit = {}
+}