Mux · Arazzo Workflow

Mux Monitoring Metric Breakdown

Version 1.0.0

List the available monitoring dimensions, then break a chosen monitoring metric down by a dimension at a timestamp.

1 workflow 1 source API 1 provider
View Spec View on GitHub Video InfrastructureVideo StreamingLive StreamingVideo AnalyticsVideo AIEncodingArazzoWorkflows

Provider

mux-com

Workflows

monitoring-breakdown
List monitoring dimensions, then break a monitoring metric down by a dimension.
Lists monitoring dimensions, then breaks the chosen monitoring metric down by the chosen dimension.
2 steps inputs: dimension, monitoringMetricId, timestamp outputs: breakdown, dimensions
1
listMonitoringDimensions
list-monitoring-dimensions
List the monitoring dimensions available so the requested grouping dimension can be confirmed.
2
getMonitoringBreakdown
get-monitoring-breakdown
Break the chosen monitoring metric down by the chosen dimension at the supplied timestamp.

Source API Descriptions

Arazzo Workflow Specification

mux-com-monitoring-breakdown-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Mux Monitoring Metric Breakdown
  summary: List the available monitoring dimensions, then break a chosen monitoring metric down by a dimension at a timestamp.
  description: >-
    Drives the Mux Data monitoring view used during incident response. The
    workflow lists the monitoring dimensions available for grouping, then breaks
    a chosen monitoring metric down by a dimension at a specific timestamp so you
    can pinpoint which segment of traffic is degraded at the moment of interest.
    Every step spells out its request inline so the flow can be read and executed
    without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: muxApi
  url: ../openapi/mux-openapi.yml
  type: openapi
workflows:
- workflowId: monitoring-breakdown
  summary: List monitoring dimensions, then break a monitoring metric down by a dimension.
  description: >-
    Lists monitoring dimensions, then breaks the chosen monitoring metric down
    by the chosen dimension.
  inputs:
    type: object
    required:
    - monitoringMetricId
    - dimension
    properties:
      monitoringMetricId:
        type: string
        description: The monitoring metric id to break down (e.g. current-concurrent-viewers, playback-failure-percentage).
      dimension:
        type: string
        description: The dimension the breakdown should be grouped by (e.g. country, cdn, operating_system).
      timestamp:
        type: integer
        description: Unix timestamp to limit results by. Defaults to the current time when omitted.
  steps:
  - stepId: listMonitoringDimensions
    description: >-
      List the monitoring dimensions available so the requested grouping
      dimension can be confirmed.
    operationId: list-monitoring-dimensions
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      dimensions: $response.body#/data
  - stepId: getMonitoringBreakdown
    description: >-
      Break the chosen monitoring metric down by the chosen dimension at the
      supplied timestamp.
    operationId: get-monitoring-breakdown
    parameters:
    - name: MONITORING_METRIC_ID
      in: path
      value: $inputs.monitoringMetricId
    - name: dimension
      in: query
      value: $inputs.dimension
    - name: timestamp
      in: query
      value: $inputs.timestamp
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      breakdown: $response.body#/data
  outputs:
    dimensions: $steps.listMonitoringDimensions.outputs.dimensions
    breakdown: $steps.getMonitoringBreakdown.outputs.breakdown