Monitoring Metric Types

This section describes the monitoring metric types that are available in AM. The available types are:

Summary

Metric that samples observations, providing a count of observations, sum total of observed amounts, average rate of events, and moving average rates across sliding time windows.

  • Fields

    When using the Common REST, JMX, or Graphite interfaces, the Summary metric type has the following fields:

    FieldDescription
    _id The metric ID.
    _type The metric type.
    count The number of events recorded for this metric.
    total

    The sum of the values of events recorded for this metric.

    Note

    As the increment is always 1, the total and the count will always be equal.

    m1_rate The one-minute average rate.
    m5_rate The five-minute average rate.
    m15_rate The fifteen-minute average rate.
    mean_rate The average rate.
    units A description of the units the metric is presented in.

    The following is an example of the authentication.success metric from the Common REST endpoint:

    {
      "_id" : "authentication.success",
      "_type" : "summary",
      "count" : 2,
      "total" : 2.0,
      "m1_rate" : 3.2668341885586836E-14,
      "m5_rate" : 7.794695663154025E-5,
      "m15_rate" : 0.01377545747021923,
      "mean_rate" : 8.238608027596704E-4,
      "units" : "events/second"
    }
  • Prometheus Fields

    The Prometheus endpoint does not provide rate-based statistics, as rates can be calculated from the time-series data.

    When using the Prometheus interface, the Summary metric type has the following fields:

    FieldDescription
    # TYPE The metric ID, and type. Formatted as a comment.
    _count The number of events recorded.
    _total The sum of the amounts of events recorded

    The following is an example of the am_authentication{outcome="success"} metric from the Prometheus endpoint:

    # TYPE am_authentication summary
    am_authentication_count{outcome="success"} 2.0
    am_authentication_total{outcome="success"} 2.0
Timer

Metric that combines both rate and duration information.

  • Fields

    When using the Common REST, JMX, or Graphite interfaces, the Timer metric type has the following fields:

    FieldDescription
    _id The metric ID.
    _type The metric type.
    count The number of events recorded for this metric.
    total The sum of the durations recorded for this metric.
    min The minimum duration recorded for this metric.
    max The maximum duration recorded for this metric.
    mean The mean average duration recorded for this metric.
    stddev The standard deviation of durations recorded for this metric.
    duration_units The units used for measuring the durations in the metric.
    p50 50% of the durations recorded are at or below this value.
    p75 75% of the durations recorded are at or below this value.
    p95 95% of the durations recorded are at or below this value.
    p98 98% of the durations recorded are at or below this value.
    p99 99% of the durations recorded are at or below this value.
    p999 99.9% of the durations recorded are at or below this value.
    m1_rate The one-minute average rate.
    m5_rate The five-minute average rate.
    m15_rate The fifteen-minute average rate.
    mean_rate The average rate.
    rate_units The units used for measuring the rate of the metric.

    Note

    Duration-based values, such as min, max, and p50, are weighted towards newer data. By representing approximately the last five minutes of data, the timers make it easier to see recent changes in behavior, rather than a uniform average of recordings since the server was started.

    The following is an example of the cts.connection.success metric from the Common REST endpoint:

    {
      "_id" : "cts.connection.success",
      "_type" : "timer",
      "count" : 486,
      "total" : 80.0,
      "min" : 0.0,
      "max" : 1.0,
      "mean" : 0.1905615495053855,
      "stddev" : 0.39274399467782056,
      "duration_units" : "milliseconds",
      "p50" : 0.0,
      "p75" : 0.0,
      "p95" : 1.0,
      "p98" : 1.0,
      "p99" : 1.0,
      "p999" : 1.0,
      "m1_rate" : 0.1819109974890356,
      "m5_rate" : 0.05433445522996721,
      "m15_rate" : 0.03155662103953588,
      "mean_rate" : 0.020858521722211427,
      "rate_units" : "calls/second"
    }
  • Prometheus Fields

    The Prometheus endpoint does not provide rate-based statistics, as rates can be calculated from the time-series data.

    When using the Prometheus interface, the Timer metric type has the following fields:

    FieldDescription
    # TYPE The metric ID, and type. Note that the Timer metric type is reported as a Summary type. Formatted as a comment.
    _count The number of events recorded.
    _total The sum of the durations recorded.
    {quantile="0.5"} 50% of the durations are at or below this value.
    {quantile="0.75"} 75% of the durations are at or below this value.
    {quantile="0.95"} 95% of the durations are at or below this value.
    {quantile="0.98"} 98% of the durations are at or below this value.
    {quantile="0.99"} 99% of the durations are at or below this value.
    {quantile="0.999"} 99.9% of the durations are at or below this value.

    Note

    Duration-based quantile values are weighted towards newer data. By representing approximately the last five minutes of data, the timers make it easier to see recent changes in behavior, rather than a uniform average of recordings since the server was started.

    The following is an example of the am_authentication{outcome="success"} metric from the Prometheus endpoint:

    # TYPE am_cts_connection_seconds summary
    am_cts_connection_seconds{outcome="success",quantile="0.5",} 0.0
    am_cts_connection_seconds{outcome="success",quantile="0.75",} 0.0
    am_cts_connection_seconds{outcome="success",quantile="0.95",} 0.001
    am_cts_connection_seconds{outcome="success",quantile="0.98",} 0.001
    am_cts_connection_seconds{outcome="success",quantile="0.99",} 0.001
    am_cts_connection_seconds{outcome="success",quantile="0.999",} 0.001
    am_cts_connection_count{outcome="success",} 492.0
    am_cts_connection_seconds_total{outcome="success",} 0.081
Gauge

Metric for a numerical value that can increase or decrease. The value for a gauge is calculated when requested, and represents the state of the metric at that specific time.

  • Fields

    When using the Common REST, JMX, or Graphite interfaces, the Timer metric type has the following fields:

    FieldDescription
    _id The metric ID.
    _type The metric type.
    value The current value of the metric.

    The following is an example of the jvm.used-memory metric from the Common REST endpoint:

    {
      "_id" : "jvm.used-memory",
      "_type" : "gauge",
      "value" : 2.13385216E9
    }
  • Prometheus Fields

    When using the Prometheus interface, the Timer metric type has the following fields:

    FieldDescription
    # TYPE The metric ID, and type. Formatted as a comment.
    {Metric ID} The current value. Large values may be represented in scientific E-notation.

    The following is an example of the am_jvm_used_memory_bytes metric from the Prometheus endpoint:

    # TYPE am_jvm_used_memory_bytes gauge
    am_jvm_used_memory_bytes 2.13385216E9
DistinctCounter

Metric providing an estimate of the number of unique values recorded.

For example, this could be used to estimate the number of unique users who have authenticated, or unique client IP addresses.

Note

The DistinctCounter metric is calculated per instance of AM, and cannot be aggregated across multiple instances to get a site-wide view.

  • Fields

    When using the Common REST, JMX, or Graphite interfaces, the DistinctCounter metric type has the following fields:

    FieldDescription
    _id The metric ID.
    _type The metric type. Note that the distinctCounter type is reported as a gauge type. The output formats are identical.
    value The calculated estimate of the number of unique values recorded in the metric.

    The following is an example of the authentication.unique-uuid.success metric from the Common REST endpoint:

    {
      "_id" : "authentication.unique-uuid.success",
      "_type" : "gauge",
      "value" : 3.0
    }
  • Prometheus Fields

    When using the Prometheus interface, the distinctCounter metric type has the following fields:

    FieldDescription
    # TYPE The metric ID, and type. Note that the distinctCounter type is reported as a gauge type. The output formats are identical. Formatted as a comment.
    {Metric ID} The calculated estimate of the number of unique values recorded in the metric.

    The following is an example of the am_authentication_unique_uuid{outcome="success"} metric from the Prometheus endpoint:

    # TYPE am_authentication_unique_uuid gauge
    am_authentication_unique_uuid{outcome="success"} 3.0
Read a different version of :