

# Monitoring channels using Amazon CloudWatch metrics
<a name="monitoring-eml-metrics"></a>

You can monitor AWS Elemental MediaLive using Amazon CloudWatch metrics. CloudWatch collects raw data that it receives from MediaLive, and processes it into readable, near real-time metrics that are kept for 15 months. You use CloudWatch to view the metrics. Metrics can help you gain a better perspective about how MediaLive is performing over the short term and long term. 

You can set alarms that watch for certain thresholds, and send notifications or take actions when those thresholds are met. For more information, see the [Amazon CloudWatch User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/). 

**Topics**
+ [

# Components of a metric
](eml-metrics-gen-info.md)
+ [

# Pricing to view MediaLive metrics
](eml-metrics-pricing.md)
+ [

# Viewing metrics
](eml-metrics-view.md)
+ [

# Alphabetical list of MediaLive metrics
](eml-metrics-alpha-list.md)
+ [

# Global metrics
](eml-metrics-global.md)
+ [

# Input metrics
](eml-metrics-input-metrics.md)
+ [

# MQCS metrics
](eml-metrics-quality-score.md)
+ [

# Output metrics
](eml-metrics-output-metrics.md)
+ [

# Pipeline locking metrics
](eml-metrics-output-lock.md)

# Components of a metric
<a name="eml-metrics-gen-info"></a>

AWS Elemental MediaLive collects data that is the basis for metrics. It collects these *datapoints* every second and sends them immediately to Amazon CloudWatch. You can use CloudWatch to generate *metrics* for these datapoints.

A metric is a collection of datapoints that has had an aggregation (a *statistic*) applied and that has a *period* and a *time range*. For example, you can request the Dropped frames metric as an average (the statistic) for a 1-minute period over 10 minutes (the time range). This result of this request is 10 metrics (because the range divided by the period is 10). 

## Statistics
<a name="eml-metrics-about-statistics"></a>

MediaLive supports all the statistics offered by CloudWatch. However, some statistics aren't useful for MediaLive metrics. In the description of metrics later in this chapter, we include the recommended statistics for each metric.

## Period
<a name="eml-metrics-about-period"></a>

All MediaLive metrics have a *high resolution period*, which means that the minimum period is 1 second.

## Time range
<a name="eml-metrics-about-time-range"></a>

Each period has a *maximum time range*. For example, if you specify 1 day as the time range, you won't be able to retrieve metrics with a 10 second period. 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/medialive/latest/ug/eml-metrics-gen-info.html)

Periods don't have a *minimum time range*. But there is a point where the statistic you apply becomes meaningless if you have a low period. For example, assume that you set the period to 1 second. This means that CloudWatch retrieves one datapoint. You can't obtain an average, a minimum or a maximum on one datapoint. However, this doesn't mean that the metric is meaningless. Instead, the metric is for the raw datapoint, with no statistic.

## Maximum storage time
<a name="eml-metrics-about-storage"></a>

Metrics are available for the last 15 months. Make sure that you specify a period that allows the time range that you want.

## Dimensions for MediaLive
<a name="eml-metrics-dimensions"></a>

Each MediaLive metric includes one or two specific sets of dimensions. MediaLive metrics include the following dimensions, from the dimension with the widest scope to the dimension with the narrowest scope.
+ ChannelID – Identifies a specific channel.
+ Pipeline – Identifies a specific pipeline. Standard channels have two pipelines (pipeline 0 or pipeline 1). Single-pipeline channels only have pipeline 0.
+ ActiveInputFailoverLabel – This dimension identifies the currently active input in a failover pair (part of the[ automatic input failover feature](automatic-input-failover.md)). Choose a dimension set that includes this dimension only if your channel implements automatic input failover.

  If you use this dimension, then the metric shows data only for the active input in the channel. If you don't use this dimension, the metric shows data for both inputs.
+ OutputGroupName – Identifies a specific output group.
+ AudioDescriptionName – Identifies a specific audio description (audio encode) among all the outputs of a channel.

## Definition of a running channel
<a name="eml-metrics-running-channel"></a>

Many metrics collect data only when a channel is running.

*Running *means that the channel has started. It could be both ingesting and producing output. Or it could be paused, meaning that it is still ingesting but not producing output.

Keep in mind that you can view or retrieve metrics when the channel isn't running. The only requirement is that the channel has run in the last 15 months.

# Pricing to view MediaLive metrics
<a name="eml-metrics-pricing"></a>

There is no charge to view metrics on the [**Health** tab ](eml-metrics-view.md)of the MediaLive console.

For information about charges to view metrics on the CloudWatch console or to retrieve metrics using a CloudWatch API, see the [Amazon CloudWatch User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/). 

# Viewing metrics
<a name="eml-metrics-view"></a>

You can view some metrics in the MediaLive console. You can view all metrics in the CloudWatch console. You can also retrieve metrics using the CLI, the REST API, or any AWS SDK.

On the CloudWatch console, the minimum refresh rate for metrics is 30 seconds.

**To view metrics on the MediaLive console**

You can view some metrics in the MediaLive console. You can view those metrics for a range from the last hour up to the last week. (To view other metrics or to view historical metrics, you must use the CloudWatch console.)

1. Open the MediaLive console at [https://console.aws.amazon.com/medialive/](https://console.aws.amazon.com/medialive/).

1. In the navigation pane, choose **Channels**. In the **Channels** page, choose the channel you want. The **Channel details** page appears. 

1. Choose the **Health** tab. The metrics that MediaLive supports on this tab appears.

1. Choose the period and time range. For example, **Past 1 day (5 min period)**.

**To view metrics using the CloudWatch console**

On the CloudWatch console you can view all MediaLive metrics for any range of time — the current metrics or historical metrics. There is a charge to view metrics on the CloudWatch console.

1. Open the CloudWatch console at [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. In the navigation pane, choose **Metrics**, then choose **All metrics**. In the bottom half of the page, the **Browse** tab shows cards with names. 

   No cards appear if you are completely new to AWS, and you haven't performed an action that creates metrics in any service.

1. Select the card that is named **AWS/MediaLive**. 

   This card appears only if you have started at least one channel in the last 15 months in the AWS Region that is currently selected for CloudWatch. This card won't appear if have never started a MediaLive channel. In this case, come back to this procedure after you have created and started a channel.

   (A card named **MediaLive** might appear in the custom namespace section of the page. This card is for the old namespace for MediaLive metrics. The two namespaces became duplicates of each other in September of 2022, so there is no advantage to choosing this card. Always choose **AWS/MediaLive**.)

1. The **Browse** tab in the bottom half of the page now shows dimensions. Choose a metric dimension. For example, choose **Channel ID**.

   The **Browse** tab now shows a table with one column that shows the chosen dimension (for example, channel IDs) and one column that shows all the metrics. You can sort the table.

1. Select one or more rows. As soon as you select a row, it appears in the graph in the top half of the page.

1. In the bottom half of the page, choose the **Graphed metrics** tab. 

1. On the choices on the right of the tab, specify the **Statistic** and the **Period**. 

   When you choose the period, the graph refreshes to show the [maximum time range for that period](eml-metrics-gen-info.md#eml-metrics-about-time-range). If the graph is now empty on the left, you can adjust the timeline in the choices at the top right of the graph. Choose a lower number so that the full space is filled up. For example, change **1w** to **1d**.

# Alphabetical list of MediaLive metrics
<a name="eml-metrics-alpha-list"></a>

[Active alerts](eml-metrics-global.md#eml-metrics-active-alerts)

[Active outputs](eml-metrics-output-metrics.md#eml-metrics-active-outputs)

[Complex FRC present](eml-metrics-output-metrics.md#eml-metrics-complex-frc-present)

[Channel input error seconds](eml-metrics-input-metrics.md#eml-metrics-input-error-seconds)

[Dropped frames](eml-metrics-output-metrics.md#eml-metrics-dropped-frames)

[FEC row packets received](eml-metrics-input-metrics.md#eml-metrics-fec-row-received)

[FEC column packets received](eml-metrics-input-metrics.md#eml-metrics-fec-col-received)

[Fill msec](eml-metrics-output-metrics.md#eml-metrics-fill)

[Input loss seconds](eml-metrics-input-metrics.md#eml-metrics-udp-input-loss)

[Input timecodes present](eml-metrics-input-metrics.md#eml-metrics-input-timecode)

[Input video aligned](eml-metrics-output-lock.md#eml-metrics-input-video-aligned)

[Input video frame rate](eml-metrics-input-metrics.md#eml-metrics-input-frate)



[Minimum MQCS](eml-metrics-quality-score.md#mqcs-min-mqcs)

[MQCS black frame detected](eml-metrics-quality-score.md#mqcs-black-frame)

[MQCS continuity counter errors](eml-metrics-quality-score.md#mqcs-continuity-counter)

[MQCS fill frame insertions](eml-metrics-quality-score.md#mqcs-fill-frame)

[MQCS freeze frame detected](eml-metrics-quality-score.md#mqcs-freeze-frame)

[MQCS SVQ](eml-metrics-quality-score.md#mqcs-svq)

[MQCS video frame drop](eml-metrics-quality-score.md#mqcs-video-frame-drop)

[Network in](eml-metrics-input-metrics.md#eml-metrics-network-in)

[Network Out](eml-metrics-output-metrics.md#eml-metrics-network-out)

[Output audio level dBFS](eml-metrics-output-metrics.md#eml-metrics-audio-dbfs)



[Output audio level LKFS](eml-metrics-output-metrics.md#eml-metrics-audio-lkfs)

[Output 4xx errors](eml-metrics-output-metrics.md#eml-metrics-4xx)

[Output 5xx errors](eml-metrics-output-metrics.md#eml-metrics-5xx)

[Pipelines locked](eml-metrics-output-lock.md#eml-metrics-pipelines-locked)

[Primary input active](eml-metrics-input-metrics.md#eml-metrics-primary-active)

[RTP packets lost](eml-metrics-input-metrics.md#eml-metrics-packets-lost)

[RTP packets received](eml-metrics-input-metrics.md#eml-metrics-packets-received)

[RTP packets recovered via FEC](eml-metrics-input-metrics.md#eml-metrics-packets-recovered)

[SVQ time](eml-metrics-output-metrics.md#eml-metrics-svq-time)

# Global metrics
<a name="eml-metrics-global"></a>

Global metrics relate to general performance and information for AWS Elemental MediaLive.

## Active alerts
<a name="eml-metrics-active-alerts"></a>

The total number of alerts that are active.

**Details:**
+ Name: ActiveAlerts
+ Units: Count
+ Meaning of zero: There are no active alerts
+ Meaning of no datapoints: The channel isn’t running
+ Supported dimension sets: ChannelID, Pipeline
+ Recommended statistic: Max

  All the statistics are useful for this metric.

# Input metrics
<a name="eml-metrics-input-metrics"></a>

Input metrics relate to the video and audio input assets that are presented to MediaLive.

**Topics**
+ [

## Channel input error seconds
](#eml-metrics-input-error-seconds)
+ [

## FEC row packets received
](#eml-metrics-fec-row-received)
+ [

## FEC column packets received
](#eml-metrics-fec-col-received)
+ [

## Input timecodes present
](#eml-metrics-input-timecode)
+ [

## Input video frame rate
](#eml-metrics-input-frate)
+ [

## Network in
](#eml-metrics-network-in)
+ [

## Primary input active
](#eml-metrics-primary-active)
+ [

## RTP packets lost
](#eml-metrics-packets-lost)
+ [

## RTP packets received
](#eml-metrics-packets-received)
+ [

## RTP packets recovered via FEC
](#eml-metrics-packets-recovered)
+ [

## Input loss seconds
](#eml-metrics-udp-input-loss)

## Channel input error seconds
<a name="eml-metrics-input-error-seconds"></a>

The number of seconds in which the channel input contained one or more unrecoverable packets.

This metric only applies to channel inputs of type RTP Push or MediaConnect.

This metric is useful for monitoring the health of the input. It provides a time-based measurement for packet loss.

Follow this guideline:
+ For a channel that implements automatic input failover, we recommend that you choose the dimension set that includes the ActiveInputFailoverLabel dimension, so that you get data for only one input. 
+ For a channel that doesn't implement automatic input failover, don't include the ActiveInputFailoverLabel dimension set. The metric won't report any data. 

**Details:**
+ Name: ChannelInputErrorSeconds
+ Units: Count.
+ Meaning of zero: An RTP Push or MediaConnect input was being ingested and no packets were lost.
+ Meaning of no datapoints: There are no RTP Push or MediaConnect inputs active or being prepared (by the schedule). Or you included the ActiveInputFailoverLabel in a channel that isn't set up for automatic input failover. 
+ Supported dimension sets: 

  ChannelId, Pipeline

  ActiveInputFailoverLabel, ChannelId, Pipeline
+ Recommended statistic: Sum.

## FEC row packets received
<a name="eml-metrics-fec-row-received"></a>

The number of forward error correction (FEC) row packets received on both FEC streams (port 5002 and port 5004). A non-zero value indicates that FEC is functioning.

This metric is useful only if the channel has an RTP input that includes FEC.

Follow this guideline:
+ For a channel that implements automatic input failover, we recommend that you choose the dimension set that includes the ActiveInputFailoverLabel dimension, so that you get data for only one input. 
+ For a channel that doesn't implement automatic input failover, don't include the ActiveInputFailoverLabel dimension set. The metric won't report any data.

**Details:**
+ Name: FecRowPacketsReceived
+ Units: Count.
+ Meaning of zero: An RTP-with-FEC input was being ingested during the period but no FEC row packets were received.
+ Meaning of no datapoints: There are no inputs with FEC. Or there are inputs with RTP inputs but none of those inputs are active or being prepared (by the schedule). Or you included the ActiveInputFailoverLabel in a channel that isn't set up for automatic input failover. 
+ Supported dimension sets: 

  ChannelId, Pipeline

  ActiveInputFailoverLabel, ChannelId, Pipeline
+ Recommended statistic: Sum.

## FEC column packets received
<a name="eml-metrics-fec-col-received"></a>

The number of FEC column packets received on both FEC streams (port 5002 and port 5004). A non-zero value indicates that FEC is functioning.

This metric is useful only if the channel has an RTP input that includes FEC.

Follow this guideline:
+ For a channel that implements automatic input failover, we recommend that you choose the dimension set that includes the ActiveInputFailoverLabel dimension, so that you get data for only one input. 
+ For a channel that doesn't implement automatic input failover, don't include the ActiveInputFailoverLabel dimension set. The metric won't report any data.

**Details:**
+ Name: FecColumnPacketsReceived
+ Units: Count.
+ Meaning of zero: An RTP-with-FEC input was being ingested during the period but no FEC column packets were received.
+ Meaning of no datapoints: There are no inputs with FEC. Or there are inputs with RTP inputs but none of those inputs are active or being prepared (by the schedule). Or you included the ActiveInputFailoverLabel in a channel that isn't set up for automatic input failover. 
+ Supported dimension sets: 

  ChannelId, Pipeline

  ActiveInputFailoverLabel, ChannelId, Pipeline
+ Recommended statistic: Sum.

## Input timecodes present
<a name="eml-metrics-input-timecode"></a>

An indicator of whether a pipeline is receiving input that includes embedded timecodes. The embedded timecode might be embedded in the source, or it might be embedded in SMPTE-2038 ancillary data. 0 (false) means it isn’t present. 1 (true) means it is present.

An embedded timecode that is inaccurate can cause problems in features that use the timecode. Therefore, it is useful to know whether the timecode that MediaLive is using is an embedded timecode or a system-clock timecode. 

The timecode that is associated with the input is used in several features:
+ Input clipping. This feature can use an embedded timecode or another type of timecode.
+ Generating a timecode in the outputs. This feature can use an embedded timecode or another type of timecode.
+ Pipeline locking. This feature works only if the input timecode is an embedded timecode; it doesn’t work with a system-clock timecode. 

For detailed information about timecodes, see [Working with timecodes and timestamps](timecode.md). 

Follow this guideline:
+ For a channel that implements automatic input failover, we recommend that you choose the dimension set that includes the ActiveInputFailoverLabel dimension, so that you get data for only one input. 
+ For a channel that doesn't implement automatic input failover, don't include the ActiveInputFailoverLabel dimension set. The metric won't report any data.

**Details:**
+ Name: InputTimecodesPresent
+ Units: None.
+ Meaning of zero: False (there is no embedded timecode).
+ Meaning of no datapoints: The channel is not running, or the channel is running but MediaLive isn’t receiving content (for example, the input is a push input and the upstream system hasn’t started pushing content). Or you included the ActiveInputFailoverLabel in a channel that isn't set up for automatic input failover. 
+ Supported dimension sets:

  ChannelId, Pipeline

  ActiveInputFailoverLabel, ChannelId, Pipeline
+ Recommended Statistic: Minimum or maximum. The other statistics have no meaning.

## Input video frame rate
<a name="eml-metrics-input-frate"></a>

The frame rate of the source video. 

This metric is an indicator of the health of the input. If the value isn't stable, investigate determine if there are problems with your source,and/or problems in the network between MediaLive and the upstream system.

Follow this guideline:
+ For a channel that implements automatic input failover, we recommend that you choose the dimension set that includes the ActiveInputFailoverLabel dimension, so that you get data for only one input. 
+ For a channel that doesn't implement automatic input failover, don't include the ActiveInputFailoverLabel dimension set. The metric won't report any data.

**Details:**
+ Name: InputVideoFrameRate
+ Units: Frames per second.
+ Meaning of zero: The input has been received at some point since the channel started, but no frames were received in the current period. 
+ Meaning of no datapoints: No input has been received since this channel started. Or you included the ActiveInputFailoverLabel in a channel that isn't set up for automatic input failover. 
+ Supported dimension sets: 

  ChannelID, Pipeline 

  ActiveInputFailoverLabel, ChannelId, Pipeline
+ Recommended statistic: Max.

## Network in
<a name="eml-metrics-network-in"></a>

The rate of traffic coming into MediaLive. This number includes all traffic received into MediaLive—push inputs, pull inputs, responses from the upstream system of a pull input, responses from the downstream system for any output, and instance traffic such as DNS resolution and NTP. Even when a channel is not ingesting, there will be some traffic.

It’s useful to set up to capture the average traffic rate over a long period. Then when you have established the normal rate, change the period to a short time, so that you can easily spot deviations from the normal rate, or collect information about how bursty a channel is.

Here are some guidelines on interpreting this metric:
+ If the rate seems to be normal, then you might infer that the channel is running and successfully ingesting inputs. 
+ If the number is lower than normal, then your channel might be running but without inputs attached. Keep in mind that there are charges for running channels even when they aren’t ingesting input.

**Details:**
+ Name: NetworkIn
+ Units: Megabits per second. 
+ Meaning of zero: No traffic is being received.
+ Meaning of no datapoints: The channel is not running.
+ Supported dimension sets: ChannelId, Pipeline
+ Recommended statistic: All the statistics are useful for this metric.

## Primary input active
<a name="eml-metrics-primary-active"></a>

An indicator of whether the primary input in an automatic input failover pair is active. A value of 1 means that the primary input is active and is therefore healthy. A value of 0 means that it is inactive.

For information about input failover pairs in the automatic input failover feature, see [Implementing automatic input failover](automatic-input-failover.md).

This metric is useful if you have set up the automatic input failover feature with the input preference set to Primary Input Preference. The metric doesn’t provide any meaningful data if the input preference is set to Equal Input Preference. 

**Details:**
+ Name: PrimaryInputActive
+ Units: None.
+ Meaning of zero: False (the primary input is inactive).
+ Meaning of no datapoints: The channel is not set up for automatic input failure.
+ Supported dimension sets: ChannelId, Pipeline
+ Recommended statistic: Minimum (primary input is inactive) or maximum (primary input is active).

## RTP packets lost
<a name="eml-metrics-packets-lost"></a>

The number of RTP packets that are lost in the incoming transmission. *Lost *means packets that couldn't be recovered by FEC. 

This metric only applies to RTP input types.

Received packets \$1 Recovered packets \$1 Lost packets = Total expected for the period, if the period and dimensions for the three metrics are set identically for the three metrics.

These three RTP packet metrics are useful for monitoring the health of the input transmission. If this metric is non-zero, the first troubleshooting step is to look at the two [FEC metrics](#eml-metrics-fec-row-received), to determine whether FEC is functioning. If FEC is functioning well, the next step is to investigate problems in the upstream network.

Follow this guideline:
+ For a channel that implements automatic input failover, we recommend that you choose the dimension set that includes the ActiveInputFailoverLabel dimension, so that you get data for only one input. 
+ For a channel that doesn't implement automatic input failover, don't include the ActiveInputFailoverLabel dimension set. The metric won't report any data.

**Details:**
+ Name: RtpPacketsLost
+ Units: Count.
+ Meaning of zero: An RTP-with-FEC input was being ingested during the period, but no packets were lost.
+ Meaning of no datapoints: No inputs are ingesting RTP. Or there are RTP inputs but none of those inputs are active or being prepared (by the schedule). Or you included the ActiveInputFailoverLabel in a channel that isn't set up for automatic input failover. 
+ Supported dimension sets: 

  ChannelId, Pipeline

  ActiveInputFailoverLabel, ChannelId, Pipeline
+ Recommended statistic: Sum.

## RTP packets received
<a name="eml-metrics-packets-received"></a>

The number of RTP packets received in an RTP input. This number includes the main RTP source (port 5000) and the FEC data (ports 5002 and 5004). 

This metric only applies to RTP input types.

Received packets \$1 Recovered packets \$1 Lost packets = Total expected for the period, if the periods for the three metrics are set identically.

These three RTP packet metrics are useful for monitoring the health of the input transmission.

Follow this guideline:
+ For a channel that implements automatic input failover, we recommend that you choose the dimension set that includes the ActiveInputFailoverLabel dimension, so that you get data for only one input. 
+ For a channel that doesn't implement automatic input failover, don't include the ActiveInputFailoverLabel dimension set. The metric won't report any data.

**Details:**
+ Name: RtpPacketsReceived
+ Unit: Count.
+ Meaning of zero: An RTP-with-FEC input was being ingested during the period, but no packets were received.
+ Meaning of no datapoints: No inputs are ingesting RTP. Or there are inputs with RTP inputs but none of those inputs are active or being prepared (by the schedule). Or you included the ActiveInputFailoverLabel in a channel that isn't set up for automatic input failover. 
+ Supported dimension sets: 

  ChannelId, Pipeline

  ActiveInputFailoverLabel, ChannelId, Pipeline
+ Recommended statistic: Sum.

## RTP packets recovered via FEC
<a name="eml-metrics-packets-recovered"></a>

The number of RTP packets recovered via FEC.

This metric only applies to RTP input types.

Received packets \$1 Recovered packets \$1 Lost packets = Total expected for the period, if the periods for the three metrics are set identically.

These three RTP packet metrics are useful for monitoring the health of the input transmission.

Follow this guideline:
+ For a channel that implements automatic input failover, we recommend that you choose the dimension set that includes the ActiveInputFailoverLabel dimension, so that you get data for only one input. 
+ For a channel that doesn't implement automatic input failover, don't include the ActiveInputFailoverLabel dimension set. The metric won't report any data.

**Details:**
+ Name: RtpPacketsRecoveredViaFec
+ Units: Count.
+ Meaning of zero: An RTP-with-FEC input was being ingested during the period, but no packets were recovered.
+ Meaning of no datapoints: No inputs are ingesting RTP. Or there are inputs with RTP inputs but none of those inputs are active or being prepared (by the schedule). Or you included the ActiveInputFailoverLabel in a channel that isn't set up for automatic input failover. 
+ Supported dimension sets: 

  ChannelId, Pipeline

  ActiveInputFailoverLabel, ChannelId, Pipeline
+ Recommended statistic: Sum.

## Input loss seconds
<a name="eml-metrics-udp-input-loss"></a>

The number of seconds (the *input loss period*) for which the channel has not received packets from the source of an RTP or MediaConnect input. Each datapoint has a value between 0 and 10 seconds. 

This metric is useful for monitoring the health of the input transmission.

You should look at the datapoints over several 10-second windows. 
+ Consistent values of 0 (all packets received) – This pattern tells you that the input is healthy.
+ Consistent values of 10 (no packets received) – This pattern tells you that the input is not healthy.
+ A range of values starting at 0 and ending at 0 – This pattern tells you the input was not healthy but that it has recovered. For example, 0,2,10,10,5,10,6,2,0,0,0.
+ A range of values that don’t return to 0 – This pattern tells you that the input is not healthy. For example, 0,10,9,2,8,3,10,10,8,2.

Also follow this guideline:
+ For a channel that implements automatic input failover, we recommend that you choose the dimension set that includes the ActiveInputFailoverLabel dimension, so that you get data for only one input. 
+ For a channel that doesn't implement automatic input failover, don't include the ActiveInputFailoverLabel dimension set. The metric won't report any data.

**Details:**
+ Name: InputLossSeconds
+ Units: Seconds.
+ Meaning of zero: There was no input loss.
+ Meaning of no datapoints: No inputs are ingesting RTP. Or there are inputs with RTP inputs but none of those inputs are active or being prepared (by the schedule). Or you included the ActiveInputFailoverLabel in a channel that isn't set up for automatic input failover. 
+ Supported dimension sets: 

  ChannelId, Pipeline

  ActiveInputFailoverLabel, ChannelId, Pipeline
+ Recommended statistic: Sum.

# MQCS metrics
<a name="eml-metrics-quality-score"></a>

MQCS metrics relate to the media quality confidence score that MediaLive generates for specific outputs. For more information about MQCS, see [Working with MQCS](mqcs.md).

**Topics**
+ [

## Minimum MQCS
](#mqcs-min-mqcs)
+ [

## MQCS black frame detected
](#mqcs-black-frame)
+ [

## MQCS continuity counter errors
](#mqcs-continuity-counter)
+ [

## MQCS fill frame insertions
](#mqcs-fill-frame)
+ [

## MQCS freeze frame detected
](#mqcs-freeze-frame)
+ [

## MQCS SVQ
](#mqcs-svq)
+ [

## MQCS video frame drop
](#mqcs-video-frame-drop)

## Minimum MQCS
<a name="mqcs-min-mqcs"></a>

The minimum media quality confidence score (MQCS) in the period.

MQCS is a value from 0 to 100, with 0 being the lowest quality. The quality of the source directly affects the quality of each output encode that MediaLive sends to the downstream packager. The quality score is an amalgamation of the individual scores of each video and audio encode. 
+ Name: MinMQCS
+ Units: None
+ Meaning of no datapoints: The channel doesn’t have any output groups in which MediaLive is generating an MQCS. For example, the channel doesn’t have any CMAF Ingest output groups.
+ Meaning of zero: At least one encode in at least one output has a quality score of 0.
+ Supported dimension sets: ChannelD, Pipeline, OutputGroupName
+ Recommended statistic: Minimum, which identifies the lowest quality score during the period. 

## MQCS black frame detected
<a name="mqcs-black-frame"></a>

The black frame portion of the MQCS (media quality confidence score). 

This portion is calculated as follows: The input has transmitted one or more sequential video frames that are valid but black. The score gets lower as long as the problem persists. As soon as MediaLive receives one frame without this problem, the score reverts to 100.
+ Name: MqcsBlackFrameDetected
+ Units: None
+ Meaning of no datapoints: The channel doesn’t have any output groups in which MediaLive is generating an MQCS. For example, the channel doesn’t have any CMAF Ingest output groups.
+ Meaning of zero: At least one encode in at least one output has a quality score of 0.
+ Supported dimension sets: ChannelD, Pipeline
+ Recommended statistic: Minimum, which identifies the lowest quality score during the period. 

## MQCS continuity counter errors
<a name="mqcs-continuity-counter"></a>

The continuity counter errors portion of the MQCS (media quality confidence score). 

This portion is calculated as follows: The input has transmitted one or more sequential segments that contain continuity errors. The score gets lower as long as the problem persists. As soon as MediaLive receives one frame without this problem, the score reverts to 100.


+ Name: MqcsContinuityCounterErrors
+ Units: Percentage
+ Meaning of no datapoints: The channel doesn’t have any output groups in which MediaLive is generating an MQCS. For example, the channel doesn’t have any CMAF Ingest output groups.
+ Meaning of zero: At least one encode in at least one output has a quality score of 0.
+ Supported dimension sets: ChannelD, Pipeline
+ Recommended statistic: Minimum, which identifies the lowest quality score during the period. 

## MQCS fill frame insertions
<a name="mqcs-fill-frame"></a>

 The black frame portion of the MQCS (media quality confidence score). 

This portion is calculated as follows: The input has transmitted one or more sequential video frames that are "fill frames". The score gets lower as long as the problem persists. As soon as MediaLive receives one frame without this problem, the score reverts to 100.
+ Name: dd
+ Units: None
+ Meaning of no datapoints: The channel doesn’t have any output groups in which MediaLive is generating an MQCS. For example, the channel doesn’t have any CMAF Ingest output groups.
+ Meaning of zero: At least one encode in at least one output has a quality score of 0.
+ Supported dimension sets: ChannelD, Pipeline
+ Recommended statistic: Minimum, which identifies the lowest quality score during the period. 

## MQCS freeze frame detected
<a name="mqcs-freeze-frame"></a>

The freeze frame portion of the MQCS (media quality confidence score). 

This portion is calculated as follows: The input has transmitted one or more sequential video frames that are valid but frozen. The score gets lower as long as the problem persists. As soon as MediaLive receives one non-frozen frame, the score reverts to 100.


+ Name: MqcsFreezeFrameDetected
+ Units: None
+ Meaning of no datapoints: The channel doesn’t have any output groups in which MediaLive is generating an MQCS. For example, the channel doesn’t have any CMAF Ingest output groups.
+ Meaning of zero: At least one encode in at least one output has a quality score of 0.
+ Supported dimension sets: ChannelD, Pipeline
+ Recommended statistic: Minimum, which identifies the lowest quality score during the period. 

## MQCS SVQ
<a name="mqcs-svq"></a>

The black frame portion of the MQCS (media quality confidence score). 

This portion is calculated as follows: The input has transmitted one or more sequential video frames that are affected by an SVQ (speed versus quality) problem. The score gets lower as long as the problem persists. As soon as MediaLive receives one frame without this problem, the score reverts to 100.
+ Name: dd
+ Units: None
+ Meaning of no datapoints: The channel doesn’t have any output groups in which MediaLive is generating an MQCS. For example, the channel doesn’t have any CMAF Ingest output groups.
+ Meaning of zero: At least one encode in at least one output has a quality score of 0.
+ Supported dimension sets: ChannelD, Pipeline
+ Recommended statistic: Minimum, which identifies the lowest quality score during the period. 

## MQCS video frame drop
<a name="mqcs-video-frame-drop"></a>

The black frame portion of the MQCS (media quality confidence score). 

This portion is calculated as follows: The input has transmitted one or more sequential segments that contain dropped frames. The score gets lower as long as the problem persists. As soon as MediaLive receives one segment without dropped frames, the score reverts to 100.
+ Name: dd
+ Units: None
+ Meaning of no datapoints: The channel doesn’t have any output groups in which MediaLive is generating an MQCS. For example, the channel doesn’t have any CMAF Ingest output groups.
+ Meaning of zero: At least one encode in at least one output has a quality score of 0.
+ Supported dimension sets: ChannelD, Pipeline
+ Recommended statistic: Minimum, which identifies the lowest quality score during the period. 

# Output metrics
<a name="eml-metrics-output-metrics"></a>

Output metrics relate to the video and audio assets that have been processed by MediaLive as an output.

**Topics**
+ [

## Active outputs
](#eml-metrics-active-outputs)
+ [

## Dropped frames
](#eml-metrics-dropped-frames)
+ [

## Fill msec
](#eml-metrics-fill)
+ [

## Output audio level dBFS
](#eml-metrics-audio-dbfs)
+ [

## Output audio level LKFS
](#eml-metrics-audio-lkfs)
+ [

## Network Out
](#eml-metrics-network-out)
+ [

## Output 4xx errors
](#eml-metrics-4xx)
+ [

## Output 5xx errors
](#eml-metrics-5xx)
+ [

## SVQ time
](#eml-metrics-svq-time)
+ [

## Complex FRC present
](#eml-metrics-complex-frc-present)

## Active outputs
<a name="eml-metrics-active-outputs"></a>

The number of outputs that are being produced and successfully written to the destination.

**Details:**
+ Name: ActiveOutputs
+ Units: Count.
+ Meaning of zero: None of the outputs are successfully being written to their destinations.

  If the outputs are configured to pause on input loss (according to the **Input loss action **setting for the output group), that behavior might be intentional.
+ Meaning of no datapoints: The channel isn’t generating output audio (it might still be starting or waiting for initial input).
+ Supported dimension sets: OutputGroupName, ChannelId, Pipeline
+ Recommended statistic: Minimum, which helps you identify situations when one or more outputs is not being produced.

## Dropped frames
<a name="eml-metrics-dropped-frames"></a>

The number of input frames that MediaLive has dropped in the period. A value of 0 is expected and indicates that MediaLive is processing incoming frames in real time. A value other than 0 indicates that the encoder can't process the incoming video fast enough to keep up with real time.

**Details**
+ Name: DroppedFrames
+ Units: Count
+ Meaning of zero: The encoder hasn't had to drop frames.
+ Meaning of no datapoints: The channel isn’t producing output. This means that it isn’t running, or that it is running but it is initializing, or waiting for initial input, or paused.
+ Supported dimensions sets: Pipeline, Region
+ Recommended statistic: Sum.

## Fill msec
<a name="eml-metrics-fill"></a>

The current length of time (the *fill period*) during which MediaLive has filled the video output with fill frames. The fill period starts when the pipeline does not receive content from the input within the* expected time.* The *expected time *is based on the input frame rate. The fine points of the fill frame behavior are controlled by the input loss behavior fields in the channel configuration. For information about these fields, see [Global configuration – input loss behavior](creating-a-channel-step3.md#input-loss-behavior).

A value of 0 means that fill frames aren't being used. A non-zero value means that fill frames are being used and that the input is unhealthy.

The count is capped at 60,000 milliseconds (1 minute), which means that after the cap, the metric will be 60,000 until it drops to zero. 

Use this metric as follows:
+ If you have automatic input failover enabled – This metric typically shows zero all the time, even when there is a failover. The channel fails over to the other input immediately, which means that there is no need for MediaLive to use fill frames.
+ If you don’t have automatic input failover enabled – A non-zero value indicates that the input has failed, has been disrupted, or isn't keeping up with real time.

**Details:**
+ Name: FillMsec
+ Units: Count.
+ Meaning of zero: The input is healthy and the output contains the expected video (rather than fill frames).
+ Meaning of no datapoints: The channel isn’t producing output, which means that it isn’t running. Or that it is running but it is initializing, or waiting for initial input, or paused.
+ Supported dimension sets: ChannelId, Pipeline
+ Recommended statistic: Maximum, to capture the capped count when fill frames are being used.

## Output audio level dBFS
<a name="eml-metrics-audio-dbfs"></a>

The output audio level in decibels relative to full scale (dBFS).

**Details:**
+ Name: OutputAudioLevelDbfs
+ Units: Count.
+ Meaning of zero: The output audio level is 0 dBFS.
+ Meaning of no datapoints: The channel isn’t generating output audio (it might still be starting or waiting for initial input).
+ Supported dimension sets: AudioDescriptionName, ChannelId, Pipeline
+ Recommended statistic: Minimum or maximum, which identify the lowest and highest audio level during the period.

## Output audio level LKFS
<a name="eml-metrics-audio-lkfs"></a>

The output audio level in loudness, K-weighted, relative to full scale (LKFS).

**Details:**
+ Name: OutputAudioLevelLkfs
+ Units: Count.
+ Meaning of zero: Output audio level is 0 LFKS.
+ Meaning of no datapoints: The channel isn’t generating output audio (it might still be starting or waiting for initial input).
+ Supported dimension sets: AudioDescriptionName, ChannelId, Pipeline
+ Recommended statistic: Minimum or maximum, which identify the lowest and highest audio level during the period.

## Network Out
<a name="eml-metrics-network-out"></a>

The rate of traffic out of MediaLive. This number includes all traffic sent from MediaLive — the media output, HTTP GET requests for pull inputs, NTP traffic, and DNS traffic. Even when a channel is not delivering output, there will be some traffic. 

**Details:**
+ Name: NetworkOut
+ Units: Megabits per second.
+ Meaning of zero: No traffic is being sent.
+ Meaning of no datapoints: The channel is not running.
+ Supported dimension sets: ChannelId, Pipeline
+ Recommended statistic: Average.

## Output 4xx errors
<a name="eml-metrics-4xx"></a>

The number of 4xx HTTP errors that have been received from the destination while delivering output.

**Details:**
+ Name: Output4xxErrors
+ Units: Count.
+ Meaning of zero: The output is being delivered over HTTP and there are no errors.
+ Meaning of no datapoints: The output is not being delivered to the destination over HTTP. Or the channel is not running.
+ Supported dimension sets: OutputGroupName, ChannelId, Pipeline
+ Recommended statistic: Sum.

## Output 5xx errors
<a name="eml-metrics-5xx"></a>

The number of 5xx HTTP errors that have been received from the destination while delivering output.

**Details:**
+ Name: Output5xxErrors
+ Units: Count.
+ Meaning of zero: The output is being delivered over HTTP and there are no errors.
+ Meaning of no datapoints: The output is not being delivered to the destination over HTTP. Or the channel is not running.
+ Supported dimension sets: OutputGroupName, ChannelId, Pipeline
+ Recommended statistic: Sum.

## SVQ time
<a name="eml-metrics-svq-time"></a>

The percentage of time that MediaLive has had to reduce quality optimizations in order to emit output in real time. SVQ stands for speed versus quality. Any encoding task must balance emitting output in real time against a desire to produce the best quality possible. But sometimes MediaLive must reduce quality in order to encode fast enough to keep up with real time. 

**Details**
+ Name: SvqTime
+ Units: Percent
+ Meaning of zero: MediaLive hasn't had to reduce quality in order to produce output in real time.
+ Meaning of no datapoints: The channel isn’t producing output. This means that it isn’t running, or that it is running but it is initializing, or waiting for initial input, or paused.
+ Supported dimensions sets: Pipeline, Region
+ Recommended statistic: Max.

## Complex FRC present
<a name="eml-metrics-complex-frc-present"></a>

An indicator of whether complex FRC (framerate conversion) is present on a pipeline. Framerate conversion is considered complex if one of these statements is true:
+ The output framerate is NOT a whole number multiple of the input framerate.
+ The input framerate is NOT a whole number multiple of the output framerate.

Following are examples of complex framerates:
+ Input FPS is 59.94, output FPS is 60.
+ Input FPS is 45, output FPS is 60.
+ Input FPS is 29.97 FPS, output FPS is 23.978.

**Details**
+ Name: ComplexFrcPresent
+ Units: Not applicable.
+ Meaning of zero: MediaLive is not performing complex framerate conversion.
+ Meaning of no datapoints: The channel isn’t producing output. This means that it isn’t running, or that it is running but it is initializing, or waiting for initial input, or paused.
+ Supported dimensions sets: ChannelId, Pipeline
+ Recommended statistic: Max.

# Pipeline locking metrics
<a name="eml-metrics-output-lock"></a>

Pipeline locking metrics relate to the synchronization of MediaLive pipelines.

**Topics**
+ [

## Pipelines locked
](#eml-metrics-pipelines-locked)
+ [

## Input video aligned
](#eml-metrics-input-video-aligned)

## Pipelines locked
<a name="eml-metrics-pipelines-locked"></a>

An indicator of whether the two pipelines are synchronized with each other. MediaLive uses [pipeline locking](pipeline-lock.md) to ensure that the two pipelines are synchronized with each other. 

The metric applies only to [output types that support pipeline locking](pipeline-lock.md). 

In addition, the metric applies only to the following channel configurations:
+ Standard channels that are configured for standard pipeline locking.
+ Standard channels and single-pipeline channels that are configured for epoch locking.
+ Single-pipeline channels using linked channels.



If the metric applies, then  a value of 1 means that all the eligible pairs of pipelines are synchronized. A value of 0 means that at least one pair of eligible pipelines is not synchronized.

**Note**  
This metric also applies when you have enabled [video aligned locking](pipeline-locking-verify-input.md#pipeline-locking-video-alignment-inputs). Video aligned locking is an advanced configuration option that uses visual signature comparison instead of embedded timecodes for synchronization. The PipelinesLocked metric reports the same synchronization status regardless of whether standard pipeline locking or video aligned locking is in use.

If the metric doesn't apply, the metric is always 0.

**Details:**
+ Name: PipelinesLocked
+ Units: Not applicable.
+ Meaning of zero: False (the eligible pipelines are not synchronized).
+ Meaning of no data points: The channel is not running. 
+ Supported dimension sets: ChannelId, Pipeline
+ Recommended statistic: Minimum (Value is 0).

## Input video aligned
<a name="eml-metrics-input-video-aligned"></a>

Indicates whether video aligned locking has successfully aligned the input video content between pipelines in the same pipeline locking pool.

In a video aligned locking pool, one pipeline serves as the reference and will always show a value of 1 for this metric. All other pipelines will only show 1 when they are successfully aligned with the reference pipeline.

Here are some guidelines on interpreting this metric:
+ A value of 1 means that pipeline is successfully aligned with the reference pipeline.

  If the metric shows a value of 0, this indicates that video alignment could not be established with the reference pipeline in the pipeline locking pool. This may be due to: 
  + Content mismatch between input sources
  + Input loss
  + Content that frequently loops
+ If the metric frequently transitions between 0 and 1, this suggests intermittent alignment issues that should be investigated.

**Details:**
+ Name: InputVideoAligned
+ Units: Not applicable.
+ Meaning of zero: False (Video alignment cannot be established or has been lost).
+ Meaning of no datapoints: Video aligned locking is not configured, or the pipeline has not processed any video frames since the channel started.
+ Supported dimension sets: ChannelId, Pipeline
+ Recommended statistic: Minimum