kamon-elasticsearch


License

License

Categories

Categories

Search Business Logic Libraries Elasticsearch
GroupId

GroupId

io.kamon
ArtifactId

ArtifactId

kamon-elasticsearch_2.10
Last Version

Last Version

0.6.7
Release Date

Release Date

Type

Type

jar
Description

Description

kamon-elasticsearch
kamon-elasticsearch
Project URL

Project URL

http://kamon.io
Project Organization

Project Organization

io.kamon

Download kamon-elasticsearch_2.10

How to add to project

<!-- https://jarcasting.com/artifacts/io.kamon/kamon-elasticsearch_2.10/ -->
<dependency>
    <groupId>io.kamon</groupId>
    <artifactId>kamon-elasticsearch_2.10</artifactId>
    <version>0.6.7</version>
</dependency>
// https://jarcasting.com/artifacts/io.kamon/kamon-elasticsearch_2.10/
implementation 'io.kamon:kamon-elasticsearch_2.10:0.6.7'
// https://jarcasting.com/artifacts/io.kamon/kamon-elasticsearch_2.10/
implementation ("io.kamon:kamon-elasticsearch_2.10:0.6.7")
'io.kamon:kamon-elasticsearch_2.10:jar:0.6.7'
<dependency org="io.kamon" name="kamon-elasticsearch_2.10" rev="0.6.7">
  <artifact name="kamon-elasticsearch_2.10" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.kamon', module='kamon-elasticsearch_2.10', version='0.6.7')
)
libraryDependencies += "io.kamon" % "kamon-elasticsearch_2.10" % "0.6.7"
[io.kamon/kamon-elasticsearch_2.10 "0.6.7"]

Dependencies

compile (3)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.10.6
io.kamon : kamon-core_2.10 jar 0.6.7
org.elasticsearch : elasticsearch jar 2.4.3

provided (1)

Group / Artifact Type Version
org.aspectj : aspectjweaver jar 1.8.10

test (4)

Group / Artifact Type Version
org.scalatest : scalatest_2.10 jar 3.0.1
com.typesafe.akka : akka-testkit_2.10 jar 2.3.15
org.slf4j : slf4j-api jar 1.7.7
org.slf4j : slf4j-nop jar 1.7.7

Project Modules

There are no modules declared in this project.

Elasticsearch Integration Build Status

Gitter Maven Central

The kamon-elasticsearch module brings bytecode instrumentation to trace elasticsearch requests

The kamon-elasticsearch module requires you to start your application using the AspectJ Weaver Agent. Kamon will warn you at startup if you failed to do so.

The bytecode instrumentation provided by the kamon-elasticsearch module hooks into Elasticsearch's internals to automatically start and finish segments for requests that are issued within a trace. This translates into you having metrics about how the requests you are doing are behaving.

Getting Started

Kamon Elasticsearch module is currently available for Scala 2.10, 2.11 and 2.12.

Supported releases and dependencies are shown below.

kamon-elasticseach status jdk scala akka
0.6.7 stable 1.7+, 1.8+ 2.10, 2.11, 2.12 2.3.x, 2.4.x

To get started with SBT, simply add the following to your build.sbt file:

libraryDependencies += "io.kamon" %% "kamon-elasticsearch" % "0.6.7"

Metrics

The following metrics will be recorded:

  • reads: a histogram that tracks the reads requests latency (Get and Search).
  • writes: a histogram that tracks the writes requests latency (Index, Update, and Delete).
  • slows: a simple counter with the number of measured slow requests.
  • errors: a simple counter with the number of failures.

Naming Segments

By default, the name generator bundled with the kamon-elasticsearch module will use the org.elasticsearch.action.ActionRequest class name to assign a name to the automatically generated segment (i.e GetRequest, SearchRequest, IndexRequest, etc). Currently, the only way to override that name would be to provide your own implementation of kamon.elasticsearch.ElasticsearchNameGenerator which is used to assign the segment name

Slow Requests

Requests that take longer to execute than the configured kamon.elasticsearch.slow-query-threshold can be processed by user-defined kamon.elasticsearch.SlowRequestProcessor. The default processor logs a warning message

Error Processor

Requests that error can be processed by user-defined kamon.elasticsearch.ElasticsearchErrorProcessor. The default processor logs an error message

Configuration

kamon {
  elasticsearch {
    slow-query-threshold = 2 seconds

    # Fully qualified name of the implementation of kamon.elasticsearch.SlowRequestProcessor.
    slow-query-processor = kamon.elasticsearch.DefaultSlowRequestProcessor

    # Fully qualified name of the implementation of kamon.elasticsearch.ElasticsearchErrorProcessor.
    elasticsearch-error-processor = kamon.elasticsearch.DefaultElasticsearchErrorProcessor

    # Fully qualified name of the implementation of kamon.elasticsearch.ElasticsearchNameGenerator that will be used for assigning names to segments.
    name-generator = kamon.elasticsearch.DefaultElasticsearchNameGenerator
  }
}
io.kamon

Kamon Open Source Project

Tools for monitoring applications running on the JVM

Versions

Version
0.6.7
0.6.6
0.6.5
0.6.3
0.6.2
0.6.1