View stream health metrics with the Wowza Streaming Cloud REST API

Learn how to use the REST API to get health metrics for transcoders in the Wowza Streaming Cloud™ service. Health metrics include details about the source connection to the transcoder and transcoder processing data that can help you understand how a stream was received and processed.

To learn how to get health metrics for an ultra low latency stream target, see View ultra low latency stream metrics with the Wowza Streaming Cloud REST API.

View current stream health metrics for an active transcoder


Current metrics for an active transcoder include details about the connection between the source encoder and the transcoder as well as data about how the transcoder is processing the stream.

View current stream health metrics for an active transcoder by sending a GET request to the /transcoders/[transcoder_id]/uptimes/[uptime_id]/metrics/current endpoint.

You can use the following sample request, making sure to:

  • Set transcoder_id to the id for the transcoder. 
  • Set the uptime_id to the id for the uptime record for the transcoder. You can fetch all uptimes for a transcoder by sending a GET request to the  /transcoders/[transcoder_id]/uptimes endpoint.
  • Add any query parameters to narrow down the parameters returned in the response, using the API reference documentation as a resource. See the Endpoint Reference button below.

Sample request

Endpoint Reference

curl -X GET \
-H "wsc-api-key: ${WSC_API_KEY}" \
-H "wsc-access-key: ${WSC_ACCESS_KEY}" \ 
"${WSC_HOST}/api/${WSC_VERSION}/transcoders/[transcoder_id]/uptimes/[uptime_id]/metrics/current"

Sample response

The response includes:

  • Metrics and data for the active session (uptime_id) of the transcoder (transcoder_id).
{
  "current": {
    "unique_views": {
      "value": 37,
      "status": "normal",
      "text": "",
      "units": ""
    },
    "connected": {
      "value": "Yes",
      "status": "normal",
      "text": "",
      "units": ""
    },
    "bytes_in_rate": {
      "value": 1142.7,
      "status": "normal",
      "text": "",
      "units": "Kbps"
    },
    "bytes_out_rate": {
      "value": 5707.8,
      "status": "normal",
      "text": "",
      "units": "Kbps"
    },
    "configured_bytes_out_rate": {
      "value": 6696000,
      "status": "normal",
      "text": "",
      "units": "bps"
    },
    "width": {
      "value": 720,
      "status": "warning",
      "text": "Configured width is different from what Wowza Streaming Cloud is receiving from the source: 720.",
      "units": "px"
    },
    "height": {
      "value": 480,
      "status": "warning",
      "text": "Configured height is different from what Wowza Streaming Cloud is receiving from the source: 480.",
      "units": "px"
    },
    "frame_size": {
      "value": "720x480",
      "status": "warning",
      "text": "Configured frame size is different from what Wowza Streaming Cloud is receiving from the source: 720x480.",
      "units": ""
    },
    "frame_rate": {
      "value": 30.2,
      "status": "normal",
      "text": "",
      "units": "FPS"
    },
    "keyframe_interval": {
      "value": 30,
      "status": "normal",
      "text": "",
      "units": "GOP"
    },
    "video_codec": {
      "value": "avc1",
      "status": "normal",
      "text": "",
      "units": ""
    },
    "audio_codec": {
      "value": "AAC",
      "status": "normal",
      "text": "",
      "units": ""
    },
    "bits_in_rate": {
      "value": 1142.7,
      "status": "normal",
      "text": "",
      "units": "Kbps"
    },
    "bits_out_rate": {
      "value": 5707.8,
      "status": "normal",
      "text": "",
      "units": "Kbps"
    },
    "stream_target_status_3ypvxt00_d1j8jfzs": {
      "value": "Active",
      "status": "normal",
      "text": "",
      "units": ""
    },
    "stream_target_status_fsfp9bqb_d1j8jfzs": {
      "value": "Active",
      "status": "normal",
      "text": "",
      "units": ""
    },
    "stream_target_status_ydbvnxkk_d1j8jfzs": {
      "value": "Active",
      "status": "normal",
      "text": "",
      "units": ""
    }
  },
  "limits": {
    "fields": [
      "unique_views",
      "connected",
      "bytes_in_rate",
      "bytes_out_rate",
      "configured_bytes_out_rate",
      "width",
      "height",
      "frame_size",
      "frame_rate",
      "keyframe_interval",
      "video_codec",
      "audio_codec",
      "bits_in_rate",
      "bits_out_rate",
      "stream_target_status_3ypvxt00_d1j8jfzs",
      "stream_target_status_fsfp9bqb_d1j8jfzs",
      "stream_target_status_ydbvnxkk_d1j8jfzs"
    ]
  }
}

View historic stream health metrics for a transcoder


Historic health metrics include the audio and video codec used, the rate of bits into and out of the transcoder, the frame rate and keyframe interval of the stream, and the width and height of the frame. 

Historic metrics are recorded every 20 seconds. As a result, brief irregularities might not register or be tracked and visualized. If the uptime session was longer than two days, the request returns data for only the most recent 48 hours of the uptime session.

View historic stream health metrics for an active transcoder by sending a GET request to the /transcoders/[transcoder_id]/uptimes/[uptime_id]/metrics/historic endpoint.

You can use the following sample request, making sure to:

  • Set transcoder_id to the id for the transcoder. 
  • Set the uptime_id to the id for the uptime record for the transcoder. You can fetch all uptimes for a transcoder by sending a GET request to the  /transcoders/[transcoder_id]/uptimes endpoint.
  • Add any query parameters to narrow down the parameters returned in the response, using the API reference documentation as a resource. See the Endpoint Reference button below.

Sample request

Endpoint Reference

curl -X GET \
-H "wsc-api-key: ${WSC_API_KEY}" \
-H "wsc-access-key: ${WSC_ACCESS_KEY}" \ 
"${WSC_HOST}/api/${WSC_VERSION}/transcoders/[transcoder_id]/uptimes/[uptime_id]/metrics/historic

Sample response

The response includes:

  • Metrics and data for the active session (uptime_id) of the transcoder (transcoder_id).
{
  "history": [
    {
      "bits_in_rate": {
        "value": 1653232,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "bits_out_rate": {
        "value": 6051976,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "frame_rate": {
        "value": 30,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "width": {
        "value": 1920,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "height": {
        "value": 1080,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "keyframe_interval": {
        "value": 30,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "video_codec": {
        "value": avc1,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "audio_codec": {
        "value": AAC,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "created_at": "2017-04-19T00:18:22.161Z"
      },
      {
      "bits_in_rate": {
        "value": 1651880,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "bits_out_rate": {
        "value": 6669056,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "frame_rate": {
        "value": 29.885829415715246,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "width": {
        "value": 1920,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "height": {
        "value": 1080,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "keyframe_interval": {
        "value": 30,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "video_codec": {
        "value": avc1,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "audio_codec": {
        "value": AAC,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "created_at": "2017-04-19T00:18:42.161Z"
    },
    ...
    {
      "bits_in_rate": {
        "value": 724880,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "bits_out_rate": {
        "value": 3865840,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "frame_rate": {
        "value": 30.060120240480963,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "width": {
        "value": 1920,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "height": {
        "value": 1080,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "keyframe_interval": {
        "value": 30,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "video_codec": {
        "value": avc1,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "audio_codec": {
        "value": aac,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "created_at": "2017-04-19T00:23:22.161Z"
    }
  ],
  "limits": {
    "from": "2017-04-19T00:16:41.000Z",
    "to": "2017-04-19T02:32:50.000Z",
    "fields": [
      "bits_in_rate",
      "bits_out_rate",
      "frame_rate",
      "width",
      "height",
      "keyframe_interval",
      "video_codec",
      "audio_codec"
    ]
  }
}

Related API requests


GET /transcoders/[transcoder_id]/state — View an active transcoder’s uptime_id.

GET /transcoders/[transcoder_id]/uptimes — Get a list of uptime records for a transcoder.

GET /transcoders/[transcoder_id]/uptimes/[uptime_id] — Get the details of a specific uptime for a transcoder.