Preview metric reduction rules

Estimates the series reduction and the dashboards and alerts a candidate volume-control rule would touch, without persisting it.

POST /v1/o11y/metric_reduction_rules/preview

Addresshttps://api.hanzo.ai/v1/o11y/metric_reduction_rules/preview
MethodPOST
OperationPreviewMetricReductionRule
AuthAuthorization: Bearer $HANZO_API_KEY

Estimates the series reduction and the dashboards and alerts a candidate volume-control rule would touch, without persisting it.

Request

4 fields, body application/json (required).

FieldInTypeRequiredDescription
labelsbodystring[]yesLabels are the label names the rule would match.
lookbackMsbodyinteger (int64)—LookbackMs is how far back to sample when estimating.
matchTypebodystringyesMatchType is drop or keep.
metricNamebodystringyesMetricName is the metric the rule would govern.

Response

StatusBodyMeaning
200o11y.O11yReductionRulePreviewOutok
202Approvalheld for approval
defaultproblem-detailsrefused

200 body — 16 fields.

FieldInTypeAlwaysDescription
databodyo11y.O11yReductionRulePreview—
data.affectedAssetsbodyo11y.O11yAffectedAsset[]—AffectedAssets are the dashboards and alerts the rule would touch.
data.affectedAssets[].idbodystring—ID is the asset's id.
data.affectedAssets[].impactedLabelsbodystring[]—ImpactedLabels are the rule labels the asset uses.
data.affectedAssets[].namebodystring—Name is the asset's name.
data.affectedAssets[].typebodystring—Type is dashboard or alert_rule.
data.affectedAssets[].widgetbodyo11y.O11yAffectedWidget—
data.affectedAssets[].widget.idbodystring—ID is the panel's id.
data.affectedAssets[].widget.namebodystring—Name is the panel's name.
data.currentRetainedSeriesbodyinteger (uint64)—CurrentRetainedSeries is how many survive the rules in force today.
data.droppedLabelsbodystring[]—DroppedLabels are the labels the rule would drop.
data.effectiveFrombodystring (date-time)—EffectiveFrom is when the rule would take effect.
data.ingestedSeriesbodyinteger (uint64)—IngestedSeries is how many series the metric ingests today.
data.reductionPercentbodynumber (double)—ReductionPercent is the estimated reduction, in percent.
data.retainedSeriesbodyinteger (uint64)—RetainedSeries is how many would survive with the candidate rule.
statusbodystring—Status is "success".

Failure carries the platform error shape — see Errors.

Examples

hanzo o11y metric_reduction_rules preview \
  --labels '["<labels>"]' \
  --match-type <matchType> \
  --metric-name <metricName>
import { Configuration, O11yApi } from 'hanzoai';

const api = new O11yApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.previewMetricReductionRule({ metricName: "<metricName>", matchType: "<matchType>", labels: ["<labels>"] });
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import O11yApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = O11yApi(client).preview_metric_reduction_rule(metric_name="<metricName>", match_type="<matchType>", labels=["<labels>"])
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.O11yAPI.PreviewMetricReductionRule(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::apis::{configuration::Configuration, o11y_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = o11y_api::preview_metric_reduction_rule(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.O11yApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new O11yApi(client).previewMetricReductionRule();
curl -X POST https://api.hanzo.ai/v1/o11y/metric_reduction_rules/preview \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "metricName": "<metricName>",
       "matchType": "<matchType>",
       "labels": [
         "<labels>"
       ]
     }'

Tool o11y, op PreviewMetricReductionRule — POST the JSON-RPC envelope to https://api.hanzo.ai/v1/mcp.

curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "o11y",
         "arguments": {
           "op": "PreviewMetricReductionRule",
           "input": {
             "metricName": "<metricName>",
             "matchType": "<matchType>",
             "labels": [
               "<labels>"
             ]
           }
         }
       }
     }'

O11y API · All Hanzo APIs · Interactive reference

Was this page useful?