{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://github.com/api-evangelist/alibaba-sentinel/json-schema/degrade-rule.json", "title": "Alibaba Sentinel Degrade Rule", "description": "JSON Schema for Sentinel circuit breaking (degrade) rules.", "type": "array", "items": { "$ref": "#/$defs/DegradeRule" }, "$defs": { "DegradeRule": { "type": "object", "required": ["resource", "count", "grade", "timeWindow"], "properties": { "id": { "type": "integer", "description": "Unique identifier of the rule." }, "resource": { "type": "string", "description": "Resource name to apply the degrade rule to." }, "limitApp": { "type": "string", "default": "default", "description": "Calling application to apply the rule to." }, "grade": { "type": "integer", "enum": [0, 1, 2], "description": "Circuit breaking strategy: 0 = slow request ratio, 1 = error ratio, 2 = error count." }, "count": { "type": "number", "description": "Threshold value (ratio or count depending on grade)." }, "timeWindow": { "type": "integer", "description": "Recovery timeout in seconds." }, "minRequestAmount": { "type": "integer", "default": 5, "description": "Minimum number of requests to trigger circuit breaking." }, "statIntervalMs": { "type": "integer", "default": 1000, "description": "Statistics interval in milliseconds." }, "slowRatioThreshold": { "type": "number", "description": "Slow request ratio threshold (for grade 0)." } } } } }