From 05007f1011de8ea352ee23725ae46c51f5d67338 Mon Sep 17 00:00:00 2001 From: Ivan Topolnjak Date: Sun, 25 May 2014 18:31:17 -0300 Subject: ! site: introduce a navigation tree on documentation pages and reorder the site structure accordingly --- .../main/jekyll/_includes/documentation-tree.html | 64 +++++++++++ site/src/main/jekyll/_includes/navigation-bar.html | 116 +++++++++++--------- site/src/main/jekyll/_layouts/documentation.html | 66 ++++++++++++ .../_posts/2014-03-17-kamon-meets-the-world.md | 6 +- ...14-04-24-kamon-for-akka-2-3-is-now-available.md | 5 +- ...27-get-started-quicker-with-our-docker-image.md | 5 +- site/src/main/jekyll/acknowledgments.md | 36 ------- site/src/main/jekyll/akka/index.md | 97 ----------------- site/src/main/jekyll/assets/css/kamon.css | 67 +++++++++++- site/src/main/jekyll/assets/js/kamon.js | 5 + site/src/main/jekyll/backends/datadog.md | 88 ++++++++++++++++ site/src/main/jekyll/backends/kamon-dashboard.md | 6 ++ site/src/main/jekyll/backends/newrelic.md | 117 +++++++++++++++++++++ site/src/main/jekyll/backends/statsd.md | 94 +++++++++++++++++ site/src/main/jekyll/changelog.md | 51 --------- site/src/main/jekyll/core/logging.md | 43 -------- site/src/main/jekyll/core/metrics.md | 93 ---------------- site/src/main/jekyll/core/metrics/basics.md | 93 ++++++++++++++++ site/src/main/jekyll/core/tracing.md | 101 ------------------ site/src/main/jekyll/core/tracing/basics.md | 101 ++++++++++++++++++ site/src/main/jekyll/core/tracing/logging.md | 43 ++++++++ site/src/main/jekyll/dashboard/index.md | 7 -- site/src/main/jekyll/datadog/index.md | 85 --------------- site/src/main/jekyll/get-started.md | 58 ---------- site/src/main/jekyll/index.html | 10 +- site/src/main/jekyll/integrations/akka/index.md | 97 +++++++++++++++++ .../main/jekyll/integrations/play/applications.md | 4 + .../main/jekyll/integrations/play/ws-library.md | 4 + .../main/jekyll/integrations/spray/client-side.md | 8 ++ .../main/jekyll/integrations/spray/server-side.md | 8 ++ site/src/main/jekyll/introduction/get-started.md | 66 ++++++++++++ site/src/main/jekyll/introduction/what-is-kamon.md | 6 ++ site/src/main/jekyll/license.md | 29 ----- site/src/main/jekyll/newrelic/index.md | 117 --------------------- .../main/jekyll/project-info/acknowledgments.md | 36 +++++++ site/src/main/jekyll/project-info/changelog.md | 51 +++++++++ site/src/main/jekyll/project-info/license.md | 29 +++++ site/src/main/jekyll/spray/index.md | 8 -- site/src/main/jekyll/statsd/index.md | 94 ----------------- 39 files changed, 1137 insertions(+), 877 deletions(-) create mode 100644 site/src/main/jekyll/_includes/documentation-tree.html create mode 100644 site/src/main/jekyll/_layouts/documentation.html delete mode 100644 site/src/main/jekyll/acknowledgments.md delete mode 100644 site/src/main/jekyll/akka/index.md create mode 100644 site/src/main/jekyll/assets/js/kamon.js create mode 100644 site/src/main/jekyll/backends/datadog.md create mode 100644 site/src/main/jekyll/backends/kamon-dashboard.md create mode 100644 site/src/main/jekyll/backends/newrelic.md create mode 100644 site/src/main/jekyll/backends/statsd.md delete mode 100644 site/src/main/jekyll/changelog.md delete mode 100644 site/src/main/jekyll/core/logging.md delete mode 100644 site/src/main/jekyll/core/metrics.md create mode 100644 site/src/main/jekyll/core/metrics/basics.md delete mode 100644 site/src/main/jekyll/core/tracing.md create mode 100644 site/src/main/jekyll/core/tracing/basics.md create mode 100644 site/src/main/jekyll/core/tracing/logging.md delete mode 100644 site/src/main/jekyll/dashboard/index.md delete mode 100644 site/src/main/jekyll/datadog/index.md delete mode 100644 site/src/main/jekyll/get-started.md create mode 100644 site/src/main/jekyll/integrations/akka/index.md create mode 100644 site/src/main/jekyll/integrations/play/applications.md create mode 100644 site/src/main/jekyll/integrations/play/ws-library.md create mode 100644 site/src/main/jekyll/integrations/spray/client-side.md create mode 100644 site/src/main/jekyll/integrations/spray/server-side.md create mode 100644 site/src/main/jekyll/introduction/get-started.md create mode 100644 site/src/main/jekyll/introduction/what-is-kamon.md delete mode 100644 site/src/main/jekyll/license.md delete mode 100644 site/src/main/jekyll/newrelic/index.md create mode 100644 site/src/main/jekyll/project-info/acknowledgments.md create mode 100644 site/src/main/jekyll/project-info/changelog.md create mode 100644 site/src/main/jekyll/project-info/license.md delete mode 100644 site/src/main/jekyll/spray/index.md delete mode 100644 site/src/main/jekyll/statsd/index.md diff --git a/site/src/main/jekyll/_includes/documentation-tree.html b/site/src/main/jekyll/_includes/documentation-tree.html new file mode 100644 index 00000000..ae2bf15a --- /dev/null +++ b/site/src/main/jekyll/_includes/documentation-tree.html @@ -0,0 +1,64 @@ +
+ +
\ No newline at end of file diff --git a/site/src/main/jekyll/_includes/navigation-bar.html b/site/src/main/jekyll/_includes/navigation-bar.html index a2ffb41e..cdc2a2d6 100644 --- a/site/src/main/jekyll/_includes/navigation-bar.html +++ b/site/src/main/jekyll/_includes/navigation-bar.html @@ -1,51 +1,73 @@ @@ -35,12 +35,12 @@ title: Kamon - Tools for Reactive Applications Monitoring
  • Message processing times
  • Time waiting in mailbox
  • Mailbox sizes
  • -
  • Message flow tracing
  • +
  • Message flow tracing
  • Dispatchers health soon
  • -

    Tell me more »

    +

    Tell me more »

    @@ -53,7 +53,7 @@ title: Kamon - Tools for Reactive Applications Monitoring

    -

    Tell me more »

    +

    Tell me more »

    @@ -67,7 +67,7 @@ title: Kamon - Tools for Reactive Applications Monitoring

    -

    Tell me more »

    +

    Tell me more »

    diff --git a/site/src/main/jekyll/integrations/akka/index.md b/site/src/main/jekyll/integrations/akka/index.md new file mode 100644 index 00000000..6ca89409 --- /dev/null +++ b/site/src/main/jekyll/integrations/akka/index.md @@ -0,0 +1,97 @@ +--- +title: kamon | Akka Toolkit | Documentation +layout: documentation +--- + +Akka Module +=== + +--- +Dependencies +--- + +Apart from scala library kamon depends on: + +- aspectj +- spray-io +- akka-actor + + +Installation +--- +Kamon works with SBT, so you need to add Kamon.io repository to your resolvers. + +Configuration +--- +Just like other products in the scala ecosystem, it relies on the typesafe configuration library. + +Since kamon uses the same configuration technique as [Spray](http://spray.io/documentation "Spray") / [Akka](http://akka.io/docs "Akka") you might want to check out the [Akka-Documentation-configuration](http://doc.akka.io/docs/akka/2.1.4/general/configuration.html "Akka Documentation on configuration") +. + +In order to see Kamon in action you need first to set up your sbt project. + +1) Add Kamon repository to resolvers + +```scala +"Kamon Repository" at "http://repo.kamon.io" +``` + +2) Add libraryDepenency + +```scala + "kamon" %% "kamon-spray" % "0.0.11", +``` + +In addition we suggest to create aspectj.sbt file and add this content + +```scala + import com.typesafe.sbt.SbtAspectj._ + + aspectjSettings + + javaOptions <++= AspectjKeys.weaverOptions in Aspectj +``` + +3) Add to your plugins.sbt in project folder (if you don't have one yet, create the file) and add the Kamon release to the resolver and the aspecj. + +```scala + resolvers += Resolver.url("Kamon Releases", url("http://repo.kamon.io"))(Resolver.ivyStylePatterns) + + addSbtPlugin("com.typesafe.sbt" % "sbt-aspectj" % "0.9.2") +``` +**application.conf** + +```scala + akka { + loggers = ["akka.event.slf4j.Slf4jLogger"] + + actor { + debug { + unhandled = on + } + } + } +``` + +Examples +--- + +TODO: (to be published) The example will start a spray server with akka and logback configuration. Adjust it to your needs. + +Follow the steps in order to clone the repository + +1. git clone git://github.com/kamon/kamon.git + +2. cd kamon + +For the first example run + +```bash + sbt "project kamon-uow-example" +``` + +In order to see how it works, you need to send a message to the rest service + +```bash + curl -v --header 'X-UOW:YOUR_TRACER_ID' -X GET 'http://0.0.0.0:6666/fibonacci' +``` diff --git a/site/src/main/jekyll/integrations/play/applications.md b/site/src/main/jekyll/integrations/play/applications.md new file mode 100644 index 00000000..97918dc5 --- /dev/null +++ b/site/src/main/jekyll/integrations/play/applications.md @@ -0,0 +1,4 @@ +--- +title: kamon | Play | Documentation +layout: documentation +--- \ No newline at end of file diff --git a/site/src/main/jekyll/integrations/play/ws-library.md b/site/src/main/jekyll/integrations/play/ws-library.md new file mode 100644 index 00000000..97918dc5 --- /dev/null +++ b/site/src/main/jekyll/integrations/play/ws-library.md @@ -0,0 +1,4 @@ +--- +title: kamon | Play | Documentation +layout: documentation +--- \ No newline at end of file diff --git a/site/src/main/jekyll/integrations/spray/client-side.md b/site/src/main/jekyll/integrations/spray/client-side.md new file mode 100644 index 00000000..15b41c72 --- /dev/null +++ b/site/src/main/jekyll/integrations/spray/client-side.md @@ -0,0 +1,8 @@ +--- +title: kamon | Spray | Documentation +layout: documentation +--- + +Spray Module(TODO) +=== + diff --git a/site/src/main/jekyll/integrations/spray/server-side.md b/site/src/main/jekyll/integrations/spray/server-side.md new file mode 100644 index 00000000..15b41c72 --- /dev/null +++ b/site/src/main/jekyll/integrations/spray/server-side.md @@ -0,0 +1,8 @@ +--- +title: kamon | Spray | Documentation +layout: documentation +--- + +Spray Module(TODO) +=== + diff --git a/site/src/main/jekyll/introduction/get-started.md b/site/src/main/jekyll/introduction/get-started.md new file mode 100644 index 00000000..84c53314 --- /dev/null +++ b/site/src/main/jekyll/introduction/get-started.md @@ -0,0 +1,66 @@ +--- +title: Kamon | Get Started +layout: documentation +--- + +Get Started with Kamon +====================== + +Kamon is distributed as a core and a set of modules that you include in your application classpath. This modules contain +all the required pointcuts and advices (yeap, Kamon uses Aspectj!) for instrumenting Akka actors message passing, +dispatchers, futures, Spray components and much more. + +To get started just follow this steps: + + +First: Include the modules you want in your project. +---------------------------------------------------- + +All Kamon components are available through Sonatype and Maven Central and no special repositories need to be configured. +If you are using SBT, you will need to add something like this to your build definition: + +```scala +libraryDependencies += "io.kamon" % "kamon-core" % "0.3.0" +``` + +Then, add any additional module you need: + +* kamon-core +* kamon-spray +* kamon-statsd +* kamon-newrelic + +### Compatibility Notes: ### + +* 0.3.x releases are compatible with Akka 2.3, Spray 1.3 and Play 2.3-M1. +* 0.2.x releases are compatible with Akka 2.2, Spray 1.2 and Play 2.2. + + +Second: Start your app with the AspectJ Weaver +---------------------------------------------- + +Starting your app with the AspectJ weaver is dead simple, just add the `-javaagent` JVM startup parameter pointing to +the weaver's file location and you are done: + +``` +-javaagent:/path-to-aspectj-weaver.jar +``` + +In case you want to keep the AspectJ related settings in your build and enjoy using `run` from the console, take a look +at the [sbt-aspectj] plugin. + + +Third: Enjoy! +------------- + +Refer to module's documentation to find out more about core concepts like [tracing], [metrics] and [logging], and learn +how to report your metrics data to external services like [StatsD], [Datadog] and [New Relic]. + + +[sbt-aspectj]: https://github.com/sbt/sbt-aspectj/ +[tracing]: /core/tracing/basics/ +[metrics]: /core/metrics/basics/ +[logging]: /core/tracing/logging/ +[StatsD]: /backends/statsd/ +[Datadog]: /backends/datadog/ +[New Relic]: /backends/newrelic/ \ No newline at end of file diff --git a/site/src/main/jekyll/introduction/what-is-kamon.md b/site/src/main/jekyll/introduction/what-is-kamon.md new file mode 100644 index 00000000..3bc3ae8e --- /dev/null +++ b/site/src/main/jekyll/introduction/what-is-kamon.md @@ -0,0 +1,6 @@ +--- +title: Kamon | Get Started +layout: documentation +--- + +Intro on what is Kamon. \ No newline at end of file diff --git a/site/src/main/jekyll/license.md b/site/src/main/jekyll/license.md deleted file mode 100644 index 8bbc65b1..00000000 --- a/site/src/main/jekyll/license.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: Kamon | License -layout: default ---- - -License -================= -
    -
    - -``` - - This software is licensed under the Apache 2 license, quoted below. - - Copyright © 2013-2014 the kamon project - - 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. - -``` diff --git a/site/src/main/jekyll/newrelic/index.md b/site/src/main/jekyll/newrelic/index.md deleted file mode 100644 index 38a87245..00000000 --- a/site/src/main/jekyll/newrelic/index.md +++ /dev/null @@ -1,117 +0,0 @@ ---- -title: kamon | NewRelic Module | Documentation -layout: default ---- - -NewRelic Module -=============== - -If you are a Newrelic user and tried to start start your app using the Newrelic agent you probably noticed a crude reality: -nothing is shown in your dashboard, no web transactions are recognized and errors are not reported for your Spray applications. -Don't even think about detailed traces for the slowest transactions. - -We love Spray, and we love Newrelic, we couldn't leave this happening anymore! - -Currently the Newrelic Module works together with the Spray Module to get information about your Web Transactions and send -that information to Newrelic servers as a aggregate to the data already colected by Newrelic's Agent. Currently the data -being reported is: - -- Time spent for Web Transactions: Also known as `HttpDispatcher` time, represents the total time taken to process a web -transaction, from the moment the `HttpRequest` is received by spray-can, to the moment the answer is sent to the IO layer. -- Apdex -- Errors - -Differentiation between JVM and External Services is coming soon, as well as actor metrics and detailed traces. - - - -Installation -------------- - -To use the Newrelic module just make sure you put the `kamon-newrelic` and `kamon-spray` libraries in your classpath and -start your application with both, the Aspectj Weaver and Newrelic agents. Please refer to our [get started](/get-started) page -for more info on how to add the AspectJ Weaver and the [Newrelic Agent Installations Instructions](https://docs.newrelic.com/docs/java/new-relic-for-java#h2-installation). - - -Configuration -------------- - -Currently you will need to add a few settings to your `application.conf` file for the module to work: - -```scala -akka { - // Custom logger for NewRelic that takes all the `Error` events from the event stream and publish them to NewRelic - loggers = ["akka.event.slf4j.Slf4jLogger", "kamon.newrelic.NewRelicErrorLogger"] - // Make sure the NewRelic extension is loaded with the ActorSystem - extensions = ["kamon.newrelic.NewRelic"] -} - -kamon { - newrelic { - // These values must match the values present in your newrelic.yml file. - app-name = "KamonNewRelicExample[Development]" - license-key = 0123456789012345678901234567890123456789 - } -} -``` - - -Let's see it in Action! ------------------------ - -Let's create a very simple Spray application to show what you should expect from this module. The entire application code -is at [Github](https://github.com/kamon-io/Kamon/tree/master/kamon-examples/kamon-newrelic-example). - -```scala -import akka.actor.ActorSystem -import spray.routing.SimpleRoutingApp - -object NewRelicExample extends App with SimpleRoutingApp { - - implicit val system = ActorSystem("kamon-system") - - startServer(interface = "localhost", port = 8080) { - path("helloKamon") { - get { - complete { -

    Say hello to Kamon

    - } - } - } ~ - path("helloNewRelic") { - get { - complete { -

    Say hello to NewRelic

    - } - } - } - } -} -``` - -As you can see, this is a dead simple application: two paths, different responses for each of them. Now let's hit it hard -with Apache Bench: - -```bash -ab -k -n 200000 http://localhost:8080/helloKamon -ab -k -n 200000 http://localhost:8080/helloNewRelic -``` - -After a couple minutes running you should start seeing something similar to this in your dashboard: - -![newrelic](/assets/img/newrelic.png "NewRelic Screenshot") - -
    -Note: Don't think that those numbers are wrong, Spray is that fast! -
    - - -Limitations ------------ -* The first implementation only supports a subset of NewRelic metrics - - -Licensing ---------- -NewRelic has [its own, separate licensing](http://newrelic.com/terms). - diff --git a/site/src/main/jekyll/project-info/acknowledgments.md b/site/src/main/jekyll/project-info/acknowledgments.md new file mode 100644 index 00000000..f75f4e24 --- /dev/null +++ b/site/src/main/jekyll/project-info/acknowledgments.md @@ -0,0 +1,36 @@ +--- +title: Kamon | Acknowledgments +layout: default +--- + +Acknowledgments +=============== + +We, the Kamon team, would like to express our gratitude to all the people and companies that help us make Kamon the best +solution in the metrics collection space for Akka, Spray and Play!. Let's give names and regards to this wonderful +fellows: + +Our contributors +---------------- + +Everything starts with an idea, and [this](https://github.com/kamon-io/Kamon/graphs/contributors) guys are helping us +take that idea and make it a reality. A reality that is helping developers around the world to measure and monitor their +success with reactive technologies. Kudos to all of you! + + +Our users +--------- + +It is absolutely rewarding to know that Kamon is useful for people around the world, and it is even better when these +people come to us looking for help, reporting issues, giving feedback or telling us how smoothly Kamon is monitoring +their production systems, thanks for using Kamon! keep coming and spread the word :). + + + +[YourKit, LLC](http://www.yourkit.com) +-------------------------------------- + +We care a lot about performance and we try hard to keep Kamon's overhead as low as possible, but we couldn't succeed on +this matter without [YourKit's Java Profiler](http://www.yourkit.com/java/profiler/index.jsp). It is well known to be +one of the best profilers out there and they have been so kind to support us by providing a open source use license to +Kamon developers. Thanks YourKit! We highly appreciate your support and commitment to the open source community. diff --git a/site/src/main/jekyll/project-info/changelog.md b/site/src/main/jekyll/project-info/changelog.md new file mode 100644 index 00000000..5c0ee4ff --- /dev/null +++ b/site/src/main/jekyll/project-info/changelog.md @@ -0,0 +1,51 @@ +--- +title: Kamon | Changelog +layout: default +--- + +Changelog +========= + +
    +Version 0.3.0/0.2.0 (2014-04-24) +-------------------------------- + +* Same feature set as 0.0.15 but now available for Akka 2.2 and Akka 2.3: + * 0.3.0 is compatible with Akka 2.3, Spray 1.3 and Play 2.3-M1. + * 0.2.0 is compatible with Akka 2.2, Spray 1.2 and Play 2.2. + +
    +Version 0.0.15 (2014-04-10) +--------------------------- + +* kamon + * Now publishing to Sonatype and Maven Central + * `reference.conf` files are now "sbt-assembly merge friendly" + +* kamon-core + * Control of AspectJ weaving messages through Kamon configuration + * Avoid the possible performance issues when calling `MessageQueue.numberOfMessages` by keeping a external counter. + +* kamon-statsd + * Now you can send Actor and Trace metrics to StatsD! Check out our [StatsD documentation](/statsd/) for more + details. + +* kamon-play (Experimental) + * Experimental support to trace metrics collection, automatic trace token propagation and HTTP Client request + metrics is now available for Play! applications. + + +
    +Version 0.0.14 (2014-03-17) +--------------------------- +* kamon-core + * Improved startup times + * Remake of trace metrics collection + * Support for custom metrics collection (Experimental) + +* kamon-play + * Initial support (Experimental) + +* site + * [logging](/core/logging/) (WIP) + * [tracing](/core/tracing/) (WIP) diff --git a/site/src/main/jekyll/project-info/license.md b/site/src/main/jekyll/project-info/license.md new file mode 100644 index 00000000..8bbc65b1 --- /dev/null +++ b/site/src/main/jekyll/project-info/license.md @@ -0,0 +1,29 @@ +--- +title: Kamon | License +layout: default +--- + +License +================= +
    +
    + +``` + + This software is licensed under the Apache 2 license, quoted below. + + Copyright © 2013-2014 the kamon project + + 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. + +``` diff --git a/site/src/main/jekyll/spray/index.md b/site/src/main/jekyll/spray/index.md deleted file mode 100644 index f62072f0..00000000 --- a/site/src/main/jekyll/spray/index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: kamon | Spray | Documentation -layout: default ---- - -Spray Module(TODO) -=== - diff --git a/site/src/main/jekyll/statsd/index.md b/site/src/main/jekyll/statsd/index.md deleted file mode 100644 index ec818521..00000000 --- a/site/src/main/jekyll/statsd/index.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -title: Kamon | StatsD | Documentation -layout: default ---- - -Reporting Metrics to StatsD -=========================== -
    - -[StatsD](https://github.com/etsy/statsd/) is a simple network daemon that continuously receives metrics over UDP and -periodically sends aggregate metrics to upstream services like (but not limited to) Graphite. Because it uses UDP, -sending metrics data to StatsD is very fast with little to no overhead. - - -Installation ------------- - -To use the StatsD module just add the `kamon-statsd` dependency to your project and start your application using the -Aspectj Weaver agent. Please refer to our [get started](/get-started) page for more info on how to add dependencies to -your project and starting your application with the AspectJ Weaver. - - -Configuration -------------- - -First, include the Kamon(StatsD) extension under the `akka.extensions` key of your configuration files as shown here: - -```scala -akka { - extensions = ["kamon.statsd.StatsD"] -} -``` - -Then, tune the configuration settings according to your needs. Here is the `reference.conf` that ships with kamon-statsd -which includes a brief explanation of each setting: - -``` -kamon { - statsd { - # Hostname and port in which your StatsD is running. Remember that StatsD packets are sent using UDP and - # setting unreachable hosts and/or not open ports wont be warned by the Kamon, your data wont go anywhere. - hostname = "127.0.0.1" - port = 8125 - - # Interval between metrics data flushes to StatsD. It's value must be equal or greater than the - # kamon.metrics.tick-interval setting. - flush-interval = 1 second - - # Max packet size for UDP metrics data sent to StatsD. - max-packet-size = 1024 bytes - - # Subscription patterns used to select which metrics will be pushed to StatsD. Note that first, metrics - # collection for your desired entities must be activated under the kamon.metrics.filters settings. - includes { - actor = [ "*" ] - trace = [ "*" ] - } - - simple-metric-key-generator { - # Application prefix for all metrics pushed to StatsD. The default namespacing scheme for metrics follows - # this pattern: - # application.host.entity.entity-name.metric-name - application = "kamon" - } - } -} -``` - - -Integration Notes ------------------ - -* Contrary to many StatsD client implementations, we don't flush the metrics data as soon as the measurements are taken - but instead, all metrics data is buffered by the `Kamon(StatsD)` extension and flushed periodically using the - configured `kamon.statsd.flush-interval` and `kamon.statsd.max-packet-size` settings. -* Currently only Actor and Trace metrics are being sent to StatsD. -* All timing measurements are sent in nanoseconds, make sure you correctly set the scale when plotting or using the - metrics data. -* It is advisable to experiment with the `kamon.statsd.flush-interval` and `kamon.statsd.max-packet-size` settings to - find the right balance between network bandwidth utilization and granularity on your metrics data. - - - -Visualization and Fun ---------------------- - -StatsD is widely used and there are many integrations available, even alternative implementations that can receive UDP -messages with the StatsD protocol, you just have to pick the option that best suits you. For our internal testing we -choose to use [Graphite](http://graphite.wikidot.com/) as the StatsD backend and [Grafana](http://grafana.org) to create -beautiful dashboards with very useful metrics. Have an idea of how your metrics data might look like in Grafana with the -screenshot bellow or use our [docker image](https://github.com/kamon-io/docker-grafana-graphite) to get up and running -in a few minutes and see it with your own metrics! - -![statsD](/assets/img/kamon-statsd-grafana.png "Grafana Screenshot") -- cgit v1.2.3