Let’s begin by understanding each of its meaning.
Lightbend(formerly known as ‘Typesafe’) provides an open-source platform for building Reactive applications for the JVM, consisting of the Play Framework, Akka middleware and Scala programming language.
And, Telemetry = tele(remote) + metron(measure)
Lightbend Telemetry provides insight into applications built with Lightbend technologies.
Some of the Lightbend technologies are mentioned below :
- Apache Cassandra
- Apache Kafka
- Apache Spark
- Play Framework
- Amazon EC2
- Apache Mesos
Lightbend Telemetry breaks captured data into composable parts that will provide better insight into your system.
It Provides a view into the workings of our distributed platforms.
This insight is done by a Java agent i.e, Lightbend Telemetry (a.k.a. Cinnamon) which collects information, in runtime, about your application based on a configuration that you must provide. Based on configuration Cinnamon will send data to a backend(Elasticsearch, StatsD, Datadog, JMX, etc.) of your choice.
Also Cinnamon runs in the same JVM as your application.
But how does it do this can be learnt from the original definition of telemetry –
Telemetry is the automatic measurement and wireless transmission of data from remote sources. Sensors at the source measure either electrical data or physical data. These measurements are converted to specific electrical voltages. The data along with some information is transmitted to a remote receiver as a single data stream. Upon reception, the data stream is separated into its original components and the data is displayed and processed according to user specifications.
A classic application of telemetry includes Internet of Things (IoT).
Telemetry makes it is possible to gather metric, event and trace information from Akka, Scala, and Lagom based applications. The information is transferred to various backends.
- Metrics include counters, gauges, and rates.
- Events include errors, unhandled messages, and dead letters.
- Traces follow asynchronous or distributed message flows.
In the next post, we will be discussing about How to use this to get actual insight of the services to reveal their state, latency, and throughput.
Happy Reading 🙂
References and Further Reading :