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
    _idThe metric ID.
    _typeThe metric type.
    countThe 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_rateThe one-minute average rate.
    m5_rateThe five-minute average rate.
    m15_rateThe fifteen-minute average rate.
    mean_rateThe average rate.
    unitsA 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
    # TYPEThe metric ID, and type. Formatted as a comment.
    _countThe number of events recorded.
    _totalThe 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
    _idThe metric ID.
    _typeThe metric type.
    countThe number of events recorded for this metric.
    totalThe sum of the durations recorded for this metric.
    minThe minimum duration recorded for this metric.
    maxThe maximum duration recorded for this metric.
    meanThe mean average duration recorded for this metric.
    stddevThe standard deviation of durations recorded for this metric.
    duration_unitsThe units used for measuring the durations in the metric.
    p5050% of the durations recorded are at or below this value.
    p7575% of the durations recorded are at or below this value.
    p9595% of the durations recorded are at or below this value.
    p9898% of the durations recorded are at or below this value.
    p9999% of the durations recorded are at or below this value.
    p99999.9% of the durations recorded are at or below this value.
    m1_rateThe one-minute average rate.
    m5_rateThe five-minute average rate.
    m15_rateThe fifteen-minute average rate.
    mean_rateThe average rate.
    rate_unitsThe 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
    # TYPEThe metric ID, and type. Note that the Timer metric type is reported as a Summary type. Formatted as a comment.
    _countThe number of events recorded.
    _totalThe 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
    _idThe metric ID.
    _typeThe metric type.
    valueThe 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
    # TYPEThe 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
    _idThe metric ID.
    _type

    The metric type. Note that the distinctCounter type is reported as a gauge type. The output formats are identical.

    valueThe 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 :