Mux · Arazzo Workflow

Mux Real-Time Metric Breakdown

Version 1.0.0

List the available real-time metrics and dimensions, then break a chosen real-time metric down by a dimension right now.

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

Provider

mux-com

Workflows

realtime-breakdown
List real-time metrics and dimensions, then break a metric down now.
Lists real-time metrics, lists real-time dimensions, then breaks the chosen metric down by the chosen dimension.
3 steps inputs: dimension, realtimeMetricId outputs: breakdown, dimensions, metrics
1
listRealtimeMetrics
list-realtime-metrics
List the real-time metrics available so the requested metric id can be confirmed.
2
listRealtimeDimensions
list-realtime-dimensions
List the real-time dimensions available so the requested grouping dimension can be confirmed.
3
getRealtimeBreakdown
get-realtime-breakdown
Break the chosen real-time metric down by the chosen dimension as of the current moment.

Source API Descriptions

Arazzo Workflow Specification

mux-com-realtime-breakdown-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Mux Real-Time Metric Breakdown
  summary: List the available real-time metrics and dimensions, then break a chosen real-time metric down by a dimension right now.
  description: >-
    Powers a live operations dashboard from Mux Data real-time monitoring. The
    workflow lists the real-time metrics available, lists the real-time
    dimensions available, and then breaks a chosen real-time metric down by a
    chosen dimension as of the current moment so you can see, for example, which
    countries or CDNs are experiencing the most rebuffering right now. 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: realtime-breakdown
  summary: List real-time metrics and dimensions, then break a metric down now.
  description: >-
    Lists real-time metrics, lists real-time dimensions, then breaks the chosen
    metric down by the chosen dimension.
  inputs:
    type: object
    required:
    - realtimeMetricId
    - dimension
    properties:
      realtimeMetricId:
        type: string
        description: The real-time 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, asn).
  steps:
  - stepId: listRealtimeMetrics
    description: >-
      List the real-time metrics available so the requested metric id can be
      confirmed.
    operationId: list-realtime-metrics
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      metrics: $response.body#/data
  - stepId: listRealtimeDimensions
    description: >-
      List the real-time dimensions available so the requested grouping
      dimension can be confirmed.
    operationId: list-realtime-dimensions
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      dimensions: $response.body#/data
  - stepId: getRealtimeBreakdown
    description: >-
      Break the chosen real-time metric down by the chosen dimension as of the
      current moment.
    operationId: get-realtime-breakdown
    parameters:
    - name: REALTIME_METRIC_ID
      in: path
      value: $inputs.realtimeMetricId
    - name: dimension
      in: query
      value: $inputs.dimension
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      breakdown: $response.body#/data
  outputs:
    metrics: $steps.listRealtimeMetrics.outputs.metrics
    dimensions: $steps.listRealtimeDimensions.outputs.dimensions
    breakdown: $steps.getRealtimeBreakdown.outputs.breakdown