跳到主要内容

Metrics & Dashboard

You can track your billing usage of your organization with BlendVision's analytics module and pre-built dashboard.

Metrics

MetricsUnitsDefinitionDimension
CDNGBThe CDN consumption.Streaming Type:
  • VOD
  • Live
  • StorageGBThe storage usage.Asset Type:
  • VOD (H.264)
  • VOD (H.265)
  • Live-to-VOD
  • Library
  • EncodingGBThe encoding consumption.VOD Type:
  • VOD (H.264)
  • VOD (H.265)
  • Live-to-VOD
  • LivestreamhrsThe duration of livestream, including the preview and the duration within start time to end time.Livestream Type:
  • Standard
  • Ultra-Low Latency
  • DRM Request-The times of DRM request.-

    Dashboard

    Login to your BlendVision One console > Navigate to Analytics

    In the Overview tab, you can obtain the time series analysis of the metrics

    note

    These consumption history records are for reference only. Please check the actual billed data in your BlendVision One console at Organization > Billing.

    Generate Summary Reports via API

    Create the summary Report

    To generate a summary report, you can use the following API:

    POST bv/analytics/v1/summary/reports

    You can specify allowed values for each parameter in the request:

    FieldRequiredDescription
    typeYesThe resource type for the report. Allowed values:
    • EVENT_TYPE_LIVE
    • EVENT_TYPE_VOD
    • EVENT_TYPE_AOD
    • EVENT_TYPE_LIVE_TO_VOD
    dimension_with_conditionsYesAn array of dimensions with conditions for the report.

    Dimension with Conditions

    FieldRequiredDescription
    dimensionYesCurrently, only SUMMARY_REPORT_DIMENSION_METRICS is supported.
    intervalYesThe time interval for the report, which defines the period for which data is aggregated. This object contains the following fields:
  • start_time: The inclusive start of the interval, represented in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SSZ). If specified, the timestamp for the data must be the same as or later than this time.
  • end_time: The exclusive end of the interval, also represented in ISO 8601 format. If specified, the timestamp for the data must be earlier than this time.
  • Here is an example of a request payload to generate a summary report:

    {
    "type": "EVENT_TYPE_VOD",
    "dimension_with_conditions": [
    {
    "dimension": "SUMMARY_REPORT_DIMENSION_METRICS",
    "interval": {
    "start_time": "2024-11-30T16:00:00.000Z",
    "end_time": "2024-12-31T16:00:00.000Z"
    }
    }
    ]
    }

    You can request multiple reports with specified dimensions and conditions simultaneously. Upon a successful request, the API will generate the summary report and return a response containing the report ID(s):

    {
    "reports": [
    {
    "id": "eyJ1aWQiOiI4MmEzZjNhYy04YmVkLTRjMTMtOTA3NC0xZDNlYmVhYzA2MGIiLCJvcmdfaWQiOiJjYTRmOTZjYS03M2NjLTRhMmItYTA1NC1jYTNjN2ZiOWIyMzUiLCJ0eXBlIjoidm9kIiwic3RhcnRfZGF0ZSI6IjIwMjQwNTEwIiwibGFzdF9kYXRlIjoiMjAyNTAxMTUifQ",
    }
    ]
    }

    Fetching Download URLs and Handling Multiple Reports

    Once you have the report IDs, you can fetch the summary reports via the following API:

    GET /bv/analytics/v1/summary/reports:batch-get

    When making a request to the batch get endpoint, you need to provide the following parameters:

    FieldRequiredDescription
    idYesThe resource type for the report. Allowed values:
    • EVENT_TYPE_LIVE
    • EVENT_TYPE_VOD
    • EVENT_TYPE_AOD
    • EVENT_TYPE_LIVE_TO_VOD
    dimension_with_conditionsYesAn array of dimensions with conditions for the report.

    Dimension with Conditions

    FieldRequiredDescription
    dimensionYesCurrently, only SUMMARY_REPORT_DIMENSION_METRICS is supported.
    intervalYesThe time interval for the report, which defines the period for which data is aggregated. This object contains the following fields:
  • start_time: The inclusive start of the interval, represented in ISO 8601 format (e.g., YYYY-MM-DDTHH:MM:SSZ). If specified, the timestamp for the data must be the same as or later than this time.
  • end_time: The exclusive end of the interval, also represented in ISO 8601 format. If specified, the timestamp for the data must be earlier than this time.
  • Here is an example of a request payload to generate a summary report:

    {
    "reports": [
    {
    "id": "string",
    "dimension": "SUMMARY_REPORT_DIMENSION_METRICS",
    "interval": {
    "start_time": "2024-11-30T16:00:00.000Z",
    "end_time": "2024-12-31T16:00:00.000Z"
    }
    }
    ]
    }

    The response from the batch get API will contain an array of reports. Each report will have the following structure:

    {
    "reports": [
    {
    "id": "string",
    "uri": "string",
    "status": "EVENT_REPORT_STATUS_RUNNING"
    }
    ]
    }

    The fields in the report object are:

    • id: A unique identifier for the report.
    • uri: The URI to download the report (available only if the report has succeeded).
    • status: The current status of the report. Possible values include:
      • EVENT_REPORT_STATUS_RUNNING: The report is still being processed.
      • EVENT_REPORT_STATUS_SUCCEEDED: The report is ready for download.
      • EVENT_REPORT_STATUS_FAILED: The report generation has failed.

    When processing the response, follow these steps:

    1. Iterate Through the Reports: You need to iterate through the array of reports to process each one individually.

    2. Check the Status of Each Report: Implement logic to handle the different statuses of the reports:

    • EVENT_REPORT_STATUS_RUNNING: The report is still being processed. You may want to wait and check again later.
    • EVENT_REPORT_STATUS_SUCCEEDED: The report is ready for download. You can access the report using the provided URI.
    • EVENT_REPORT_STATUS_FAILED: The report generation has failed. Log this error and handle it according to your application's requirements.

    Here is a sequence diagram to illustrate the process of fetching and downloading summary reports: