diff options
author | Diego <diegolparra@gmail.com> | 2016-12-13 13:06:29 -0300 |
---|---|---|
committer | Diego <diegolparra@gmail.com> | 2016-12-13 13:06:29 -0300 |
commit | a74379942b2c672c9ba507093f27ead5693c1240 (patch) | |
tree | 1a22f1ae9080e4ec7496f0b5536107b35a5acd68 /kamon-examples/kamon-annotation-example/java/src | |
parent | ee7e2218f869eeea8be00441c82b5e6e8f4d99eb (diff) | |
download | Kamon-a74379942b2c672c9ba507093f27ead5693c1240.tar.gz Kamon-a74379942b2c672c9ba507093f27ead5693c1240.tar.bz2 Kamon-a74379942b2c672c9ba507093f27ead5693c1240.zip |
wip
Diffstat (limited to 'kamon-examples/kamon-annotation-example/java/src')
8 files changed, 123 insertions, 0 deletions
diff --git a/kamon-examples/kamon-annotation-example/java/src/main/java/kamon/KamonSpringApplication.java b/kamon-examples/kamon-annotation-example/java/src/main/java/kamon/KamonSpringApplication.java new file mode 100644 index 00000000..8103306b --- /dev/null +++ b/kamon-examples/kamon-annotation-example/java/src/main/java/kamon/KamonSpringApplication.java @@ -0,0 +1,12 @@ +package kamon; + +import kamon.akka.pingpong.PingPong; +import kamon.annotation.KamonController; +import org.springframework.boot.SpringApplication; + +public class KamonSpringApplication { + public static void main(String... args) { + Kamon.start(); + SpringApplication.run(new Object[] {KamonController.class, PingPong.class}, args); + } +} diff --git a/kamon-examples/kamon-annotation-example/java/src/main/java/kamon/akka/pingpong/PingPong.java b/kamon-examples/kamon-annotation-example/java/src/main/java/kamon/akka/pingpong/PingPong.java new file mode 100644 index 00000000..8ef2f621 --- /dev/null +++ b/kamon-examples/kamon-annotation-example/java/src/main/java/kamon/akka/pingpong/PingPong.java @@ -0,0 +1,22 @@ +package kamon.akka.pingpong; + +import akka.actor.ActorRef; +import akka.actor.ActorSystem; +import akka.actor.Props; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; + +@Component +public class PingPong { + + @PostConstruct + public void initialize() { + final ActorSystem system = ActorSystem.create("kamon-spring-boot-actor-system"); + + final ActorRef pinger = system.actorOf(Props.create(Pinger.class), "pinger"); + final ActorRef ponger = system.actorOf(Props.create(Ponger.class), "ponger"); + + pinger.tell(new Ponger.PongMessage(), ponger); + } +} diff --git a/kamon-examples/kamon-annotation-example/java/src/main/java/kamon/akka/pingpong/Pinger.java b/kamon-examples/kamon-annotation-example/java/src/main/java/kamon/akka/pingpong/Pinger.java new file mode 100644 index 00000000..dcab35b6 --- /dev/null +++ b/kamon-examples/kamon-annotation-example/java/src/main/java/kamon/akka/pingpong/Pinger.java @@ -0,0 +1,12 @@ +package kamon.akka.pingpong; + +import akka.actor.UntypedActor; + +class Pinger extends UntypedActor { + static final class PingMessage {} + + public void onReceive(Object message) throws Exception { + if (message instanceof Ponger.PongMessage) getSender().tell(new PingMessage(), getSelf()); + else unhandled(message); + } +} diff --git a/kamon-examples/kamon-annotation-example/java/src/main/java/kamon/akka/pingpong/Ponger.java b/kamon-examples/kamon-annotation-example/java/src/main/java/kamon/akka/pingpong/Ponger.java new file mode 100644 index 00000000..b4e8ecfa --- /dev/null +++ b/kamon-examples/kamon-annotation-example/java/src/main/java/kamon/akka/pingpong/Ponger.java @@ -0,0 +1,12 @@ +package kamon.akka.pingpong; + +import akka.actor.UntypedActor; + +class Ponger extends UntypedActor { + static final class PongMessage {} + + public void onReceive(Object message) throws Exception { + if (message instanceof Pinger.PingMessage) getSender().tell(new PongMessage(), getSelf()); + else unhandled(message); + } +} diff --git a/kamon-examples/kamon-annotation-example/java/src/main/java/kamon/annotation/KamonController.java b/kamon-examples/kamon-annotation-example/java/src/main/java/kamon/annotation/KamonController.java new file mode 100644 index 00000000..27eeda53 --- /dev/null +++ b/kamon-examples/kamon-annotation-example/java/src/main/java/kamon/annotation/KamonController.java @@ -0,0 +1,17 @@ +package kamon.annotation; + +import org.springframework.boot.autoconfigure.*; +import org.springframework.stereotype.*; +import org.springframework.web.bind.annotation.*; + +@Controller +@EnableAutoConfiguration +@RequestMapping("/kamon") +@EnableKamon +public class KamonController { + + @RequestMapping("/counter") + @ResponseBody + @Count(name = "awesomeCounter") + public String counter() { return "count!!!"; } +} diff --git a/kamon-examples/kamon-annotation-example/java/src/main/resources/META-INF/aop.xml b/kamon-examples/kamon-annotation-example/java/src/main/resources/META-INF/aop.xml new file mode 100644 index 00000000..9b144860 --- /dev/null +++ b/kamon-examples/kamon-annotation-example/java/src/main/resources/META-INF/aop.xml @@ -0,0 +1,8 @@ +<!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" "http://www.eclipse.org/aspectj/dtd/aspectj.dtd"> + +<aspectj> + <weaver options="-Xlint:ignore"> + <include within="kamon..*"/> + <exclude within="org.aspectj.*"/> + </weaver> +</aspectj> diff --git a/kamon-examples/kamon-annotation-example/java/src/main/resources/application.conf b/kamon-examples/kamon-annotation-example/java/src/main/resources/application.conf new file mode 100644 index 00000000..1755bfc5 --- /dev/null +++ b/kamon-examples/kamon-annotation-example/java/src/main/resources/application.conf @@ -0,0 +1,21 @@ +############################### +# Kamon related configuration # +############################### + +kamon { + + metric { + filters { + trace.includes = [ "**" ] + akka-actor.includes = [ "**" ] + akka-actor.excludes = ["*/system/**", "*/user/IO-**" ] + akka-dispatcher.includes = [ "**" ] + akka-dispatcher.excludes = [ ] + } + } + + modules { + kamon-annotation.auto-start = yes + kamon-log-reporter.auto-start = yes + } +} diff --git a/kamon-examples/kamon-annotation-example/java/src/main/resources/logback.xml b/kamon-examples/kamon-annotation-example/java/src/main/resources/logback.xml new file mode 100644 index 00000000..fac5ad3d --- /dev/null +++ b/kamon-examples/kamon-annotation-example/java/src/main/resources/logback.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<configuration> + <property name="CONSOLE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${PID:- } [%t] --- %-40.40logger{39} : %m%n%wex"/> + + <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" /> + + <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <pattern>${CONSOLE_LOG_PATTERN}</pattern> + </encoder> + </appender> + + <root level="INFO"> + <appender-ref ref="CONSOLE" /> + </root> + + <!-- logger name="org.springframework" level="DEBUG"/ --> + +</configuration> |