aboutsummaryrefslogtreecommitdiff
path: root/kamon-core/src/main/scala/kamon/package.scala
diff options
context:
space:
mode:
authorDiego Parra <diegolparra@gmail.com>2018-01-30 20:30:36 -0300
committerGitHub <noreply@github.com>2018-01-30 20:30:36 -0300
commit50e87dc33fc468628f04f6c18139cf2e6f466100 (patch)
tree21c9e11312634d9ad4e8669ab1813a0efce5ff15 /kamon-core/src/main/scala/kamon/package.scala
parent8231d18493e33c44668e4e5a5d45034f155f64e8 (diff)
parent083c31cb0eb18dce4f2a46d52b3606a92128230b (diff)
downloadKamon-50e87dc33fc468628f04f6c18139cf2e6f466100.tar.gz
Kamon-50e87dc33fc468628f04f6c18139cf2e6f466100.tar.bz2
Kamon-50e87dc33fc468628f04f6c18139cf2e6f466100.zip
Merge pull request #508 from ivantopo/issue#502/allow-jvm-to-shutdown-when-no-reporters
turn all Kamon threads into daemon threads, except for reporters
Diffstat (limited to 'kamon-core/src/main/scala/kamon/package.scala')
-rw-r--r--kamon-core/src/main/scala/kamon/package.scala6
1 files changed, 4 insertions, 2 deletions
diff --git a/kamon-core/src/main/scala/kamon/package.scala b/kamon-core/src/main/scala/kamon/package.scala
index c746efa1..d3b25500 100644
--- a/kamon-core/src/main/scala/kamon/package.scala
+++ b/kamon-core/src/main/scala/kamon/package.scala
@@ -30,18 +30,19 @@ package object kamon {
/**
* Creates a thread factory that assigns the specified name to all created Threads.
*/
- def threadFactory(name: String): ThreadFactory =
+ def threadFactory(name: String, daemon: Boolean = false): ThreadFactory =
new ThreadFactory {
val defaultFactory = Executors.defaultThreadFactory()
override def newThread(r: Runnable): Thread = {
val thread = defaultFactory.newThread(r)
thread.setName(name)
+ thread.setDaemon(daemon)
thread
}
}
- def numberedThreadFactory(name: String): ThreadFactory =
+ def numberedThreadFactory(name: String, daemon: Boolean = false): ThreadFactory =
new ThreadFactory {
val count = new AtomicLong()
val defaultFactory = Executors.defaultThreadFactory()
@@ -49,6 +50,7 @@ package object kamon {
override def newThread(r: Runnable): Thread = {
val thread = defaultFactory.newThread(r)
thread.setName(name + "-" + count.incrementAndGet().toString)
+ thread.setDaemon(daemon)
thread
}
}