/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { metricsGetAttemptMetrics } from "../funcs/metricsGetAttemptMetrics.js"; import { metricsGetEventMetrics } from "../funcs/metricsGetEventMetrics.js"; import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import * as components from "../models/components/index.js"; import * as operations from "../models/operations/index.js"; import { unwrapAsync } from "../types/fp.js"; export class Metrics extends ClientSDK { /** * Get Event Metrics * * @remarks * Returns aggregated event publish metrics. Supports time bucketing via granularity, * dimensional grouping, and filtering. * * **Measures:** `count`, `rate` * * **Dimensions:** `tenant_id` (admin-only), `topic`, `destination_id` * * **Filters:** `tenant_id` (admin-only), `topic`, `destination_id` */ async getEventMetrics( request: operations.GetEventMetricsRequest, options?: RequestOptions, ): Promise { return unwrapAsync(metricsGetEventMetrics( this, request, options, )); } /** * Get Attempt Metrics * * @remarks * Returns aggregated delivery attempt metrics. Supports time bucketing via granularity, * dimensional grouping, and filtering. * * **Measures:** `count`, `successful_count`, `failed_count`, `error_rate`, * `first_attempt_count`, `retry_count`, `manual_retry_count`, `avg_attempt_number`, * `rate`, `successful_rate`, `failed_rate` * * **Dimensions:** `tenant_id` (admin-only), `destination_id`, `topic`, `status`, `code`, `manual`, `attempt_number` * * **Filters:** `tenant_id` (admin-only), `destination_id`, `topic`, `status`, `code`, `manual`, `attempt_number` */ async getAttemptMetrics( request: operations.GetAttemptMetricsRequest, options?: RequestOptions, ): Promise { return unwrapAsync(metricsGetAttemptMetrics( this, request, options, )); } }