...

/

Instrumenting For Metrics

Instrumenting For Metrics

Learn how to capture metrics built on client/server applications.

Metrics are measurements at a given moment of a particular aspect of an application during runtime. An individual capture is called a metric event and consists of a timestamp, a measurement, and associated metadata. Metric events are used to provide an aggregated view of the behavior of an application at runtime. For example, a metric event can be a counter incremented by 1 when a request is handled by a service. The individual event is not especially useful. However, when aggregated into a sum of requests over a period of time, we can see how many requests are made to service over that period of time.

The OpenTelemetry API does not allow for custom aggregations but does provide some common aggregations, such as sum, count, last value, and histograms, which are supported by backend visualization and analysis software such as Prometheus. To give a better idea of when metrics are useful, here are some example scenarios:

  • Providing the aggregate total number of bits read or written in a process.

  • Providing CPU or memory utilization.

  • Providing the number of requests over a period of time.

  • Providing the number of errors over a period of time.

  • Providing the duration of requests to form a statistical distribution of the request processing time.

OpenTelemetry offers three types of metrics:

  • counter: To count a value over time, such as the number of requests.

  • measure: To sum or otherwise aggregate a value over a period of time, such as how many bytes are read per minute.

  • ...