# Metrics (*metrics*) ## Overview Operations related to metrics api ### Available Operations * [getRealtimeViewership](#getrealtimeviewership) - Query realtime viewership * [getViewership](#getviewership) - Query viewership metrics * [getCreatorViewership](#getcreatorviewership) - Query creator viewership metrics * [getPublicViewership](#getpublicviewership) - Query public total views metrics * [getUsage](#getusage) - Query usage metrics ## getRealtimeViewership Requires a private (non-CORS) API key to be used. ### Example Usage ```typescript import { Livepeer } from "livepeer"; const livepeer = new Livepeer({ apiKey: "", }); async function run() { const result = await livepeer.metrics.getRealtimeViewership(); // Handle the result console.log(result); } run(); ``` ### Standalone function The standalone function version of this method: ```typescript import { LivepeerCore } from "livepeer/core.js"; import { metricsGetRealtimeViewership } from "livepeer/funcs/metricsGetRealtimeViewership.js"; // Use `LivepeerCore` for best tree-shaking performance. // You can create one instance of it to use across an application. const livepeer = new LivepeerCore({ apiKey: "", }); async function run() { const res = await metricsGetRealtimeViewership(livepeer); if (!res.ok) { throw res.error; } const { value: result } = res; // Handle the result console.log(result); } run(); ``` ### Parameters | Parameter | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `playbackId` | *string* | :heavy_minus_sign: | The playback ID to filter the query results. This can be a canonical
playback ID from Livepeer assets or streams, or dStorage identifiers
for assets
| | `creatorId` | *string* | :heavy_minus_sign: | The creator ID to filter the query results | | `breakdownBy` | [operations.BreakdownBy](../../models/operations/breakdownby.md)[] | :heavy_minus_sign: | The list of fields to break down the query results. Specify this
query-string multiple times to break down by multiple fields.
| | `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. | | `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. | | `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. | ### Response **Promise\<[operations.GetRealtimeViewershipNowResponse](../../models/operations/getrealtimeviewershipnowresponse.md)\>** ### Errors | Error Type | Status Code | Content Type | | --------------- | --------------- | --------------- | | errors.SDKError | 4XX, 5XX | \*/\* | ## getViewership Requires a private (non-CORS) API key to be used. ### Example Usage ```typescript import { Livepeer } from "livepeer"; const livepeer = new Livepeer({ apiKey: "", }); async function run() { const result = await livepeer.metrics.getViewership({}); // Handle the result console.log(result); } run(); ``` ### Standalone function The standalone function version of this method: ```typescript import { LivepeerCore } from "livepeer/core.js"; import { metricsGetViewership } from "livepeer/funcs/metricsGetViewership.js"; // Use `LivepeerCore` for best tree-shaking performance. // You can create one instance of it to use across an application. const livepeer = new LivepeerCore({ apiKey: "", }); async function run() { const res = await metricsGetViewership(livepeer, {}); if (!res.ok) { throw res.error; } const { value: result } = res; // Handle the result console.log(result); } run(); ``` ### Parameters | Parameter | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `request` | [operations.GetViewershipMetricsRequest](../../models/operations/getviewershipmetricsrequest.md) | :heavy_check_mark: | The request object to use for the request. | | `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. | | `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. | | `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. | ### Response **Promise\<[operations.GetViewershipMetricsResponse](../../models/operations/getviewershipmetricsresponse.md)\>** ### Errors | Error Type | Status Code | Content Type | | --------------- | --------------- | --------------- | | errors.SDKError | 4XX, 5XX | \*/\* | ## getCreatorViewership Requires a proof of ownership to be sent in the request, which for now is just the assetId or streamId parameters (1 of those must be in the query-string). ### Example Usage ```typescript import { Livepeer } from "livepeer"; const livepeer = new Livepeer({ apiKey: "", }); async function run() { const result = await livepeer.metrics.getCreatorViewership({}); // Handle the result console.log(result); } run(); ``` ### Standalone function The standalone function version of this method: ```typescript import { LivepeerCore } from "livepeer/core.js"; import { metricsGetCreatorViewership } from "livepeer/funcs/metricsGetCreatorViewership.js"; // Use `LivepeerCore` for best tree-shaking performance. // You can create one instance of it to use across an application. const livepeer = new LivepeerCore({ apiKey: "", }); async function run() { const res = await metricsGetCreatorViewership(livepeer, {}); if (!res.ok) { throw res.error; } const { value: result } = res; // Handle the result console.log(result); } run(); ``` ### Parameters | Parameter | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `request` | [operations.GetCreatorViewershipMetricsRequest](../../models/operations/getcreatorviewershipmetricsrequest.md) | :heavy_check_mark: | The request object to use for the request. | | `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. | | `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. | | `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. | ### Response **Promise\<[operations.GetCreatorViewershipMetricsResponse](../../models/operations/getcreatorviewershipmetricsresponse.md)\>** ### Errors | Error Type | Status Code | Content Type | | --------------- | --------------- | --------------- | | errors.SDKError | 4XX, 5XX | \*/\* | ## getPublicViewership Allows querying for the public metrics for viewership about a video. This can be called from the frontend with a CORS key, or even unauthenticated. ### Example Usage ```typescript import { Livepeer } from "livepeer"; const livepeer = new Livepeer({ apiKey: "", }); async function run() { const result = await livepeer.metrics.getPublicViewership(""); // Handle the result console.log(result); } run(); ``` ### Standalone function The standalone function version of this method: ```typescript import { LivepeerCore } from "livepeer/core.js"; import { metricsGetPublicViewership } from "livepeer/funcs/metricsGetPublicViewership.js"; // Use `LivepeerCore` for best tree-shaking performance. // You can create one instance of it to use across an application. const livepeer = new LivepeerCore({ apiKey: "", }); async function run() { const res = await metricsGetPublicViewership(livepeer, ""); if (!res.ok) { throw res.error; } const { value: result } = res; // Handle the result console.log(result); } run(); ``` ### Parameters | Parameter | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `playbackId` | *string* | :heavy_check_mark: | The playback ID to filter the query results. This can be a canonical
playback ID from Livepeer assets or streams, or dStorage identifiers
for assets
| | `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. | | `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. | | `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. | ### Response **Promise\<[operations.GetPublicViewershipMetricsResponse](../../models/operations/getpublicviewershipmetricsresponse.md)\>** ### Errors | Error Type | Status Code | Content Type | | --------------- | --------------- | --------------- | | errors.SDKError | 4XX, 5XX | \*/\* | ## getUsage Query usage metrics ### Example Usage ```typescript import { Livepeer } from "livepeer"; const livepeer = new Livepeer({ apiKey: "", }); async function run() { const result = await livepeer.metrics.getUsage({}); // Handle the result console.log(result); } run(); ``` ### Standalone function The standalone function version of this method: ```typescript import { LivepeerCore } from "livepeer/core.js"; import { metricsGetUsage } from "livepeer/funcs/metricsGetUsage.js"; // Use `LivepeerCore` for best tree-shaking performance. // You can create one instance of it to use across an application. const livepeer = new LivepeerCore({ apiKey: "", }); async function run() { const res = await metricsGetUsage(livepeer, {}); if (!res.ok) { throw res.error; } const { value: result } = res; // Handle the result console.log(result); } run(); ``` ### Parameters | Parameter | Type | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `request` | [operations.GetUsageMetricsRequest](../../models/operations/getusagemetricsrequest.md) | :heavy_check_mark: | The request object to use for the request. | | `options` | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. | | `options.fetchOptions` | [RequestInit](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options) | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed. | | `options.retries` | [RetryConfig](../../lib/utils/retryconfig.md) | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. | ### Response **Promise\<[operations.GetUsageMetricsResponse](../../models/operations/getusagemetricsresponse.md)\>** ### Errors | Error Type | Status Code | Content Type | | --------------- | --------------- | --------------- | | errors.SDKError | 4XX, 5XX | \*/\* |