diff options
author | Diego <diegolparra@gmail.com> | 2015-11-29 01:30:14 -0300 |
---|---|---|
committer | Diego <diegolparra@gmail.com> | 2015-12-09 13:32:50 -0300 |
commit | 68b3a96057a8cc93c0406f139b2bf9a91572cff5 (patch) | |
tree | 3d6f7891d4c0604c85f088be9905e25f3e9e7b70 /kamon-autoweave/src/main/scala/kamon/autoweave/Autoweave.scala | |
parent | a9b9261aa17968df385dde29e9fe0e7eff5d370b (diff) | |
download | Kamon-68b3a96057a8cc93c0406f139b2bf9a91572cff5.tar.gz Kamon-68b3a96057a8cc93c0406f139b2bf9a91572cff5.tar.bz2 Kamon-68b3a96057a8cc93c0406f139b2bf9a91572cff5.zip |
+ kamon-autoweave: this new module allow attach the AspectJ loadtime weaving agent to a JVM after it has started (you don't need to use -javaagent). This offers extra flexibility but obviously any classes loaded before attachment will not be woven.
Diffstat (limited to 'kamon-autoweave/src/main/scala/kamon/autoweave/Autoweave.scala')
-rw-r--r-- | kamon-autoweave/src/main/scala/kamon/autoweave/Autoweave.scala | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/kamon-autoweave/src/main/scala/kamon/autoweave/Autoweave.scala b/kamon-autoweave/src/main/scala/kamon/autoweave/Autoweave.scala new file mode 100644 index 00000000..29c4254a --- /dev/null +++ b/kamon-autoweave/src/main/scala/kamon/autoweave/Autoweave.scala @@ -0,0 +1,32 @@ +/* ========================================================================================= + * Copyright © 2013-2015 the kamon project <http://kamon.io/> + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language governing permissions + * and limitations under the License. + * ========================================================================================= + */ + +package kamon.autoweave + +import kamon.Kamon +import kamon.autoweave.loader.AgentLoader +import org.aspectj.weaver.loadtime.Agent + + +object Autoweave { + val config = Kamon.config.getConfig("kamon.autowave.options") + val verbose = config.getBoolean("verbose") + val showWeaveInfo = config.getBoolean("showWeaveInfo") + + System.setProperty("aj.weaving.verbose", verbose.toString) + System.setProperty("org.aspectj.weaver.showWeaveInfo", showWeaveInfo.toString) + + AgentLoader.attachAgentToJVM(classOf[Agent]) + } |