Skip to content

Latest commit

 

History

History
71 lines (48 loc) · 2.63 KB

README.md

File metadata and controls

71 lines (48 loc) · 2.63 KB

Metrics Client Protocol

License: Apache 2 Jenkins Build Maven Artifact

Defines a protocol for transmitting metric samples or statistics from a client to an aggregator.

Features

Dimensions

Encode each record's dimensions as a key-value pair of identifiers. The dimensions on a Record apply to all samples and statistics on that Record.

Samples

Encode each metric's measurements into each MetricSampleEntry instance. The samples are all of one type. Currently, only double values are supported for samples.

Statistics

Encode each metric's statistic into each MetricStatisticsEntry instance. Encoding a statistic and samples for the same metric is valid so long as the statistic and samples are of compatible types. Currently, only AugmentedHistogram statistic is supported and can be paired with DoubleSamples type samples.

Identifiers

Even under intensive (broad and frequent) measurement, the identifiers in a payload occupy a non-trivial amount of static space in each request. Instead, of clients sending the actual string identifiers with each request this format will support sending identifiers instead. The client and server would agree on a int64 id to use during a session for a particular string. This feature is not yet implemented.

Building

Prerequisites:

  • None

Building:

client-protocol> ./jdk-wrapper.sh ./mvnw verify

To use the local version you must first install it locally:

client-protocol> ./jdk-wrapper.sh ./mvnw install

You can determine the version of the local build from the pom file. Using the local version is intended only for testing or development.

You may also need to add the local repository to your build in order to pick-up the local version:

  • Maven - Included by default.
  • Gradle - Add mavenLocal() to build.gradle in the repositories block.
  • SBT - Add resolvers += Resolver.mavenLocal into project/plugins.sbt.

License

Published under Apache Software License 2.0, see LICENSE

© Inscope Metrics Inc., 2016