Failure Rules

This example shows how to mark an iteration as failed after execution completes when metrics violate expected thresholds.

name: IterationFeaturesPlan
rounds:
  - name: FeatureRound
    numberOfClients: 50
    arrivalDelay: 100
    runInParallel: false
    iterations:
      - name: LoginIteration
        httpRequest:
          url: https://httpbin.org/post
          method: POST
          headers:
            Content-Type: application/json
          payload:
            raw: |
                { "username": "user", "password": "pass" }
      - name: Home
        httpRequest:
          url: https://httpbin.org/
          httpMethod: Get
        failureRules:
          - metric: "ErrorRate > 0.10"
            errorStatusCodes: ">= 400"
          - metric: "TotalTime.P90 > 250"

What It Demonstrates

  • Post-execution failure evaluation
  • Failure thresholds based on error rate and latency
  • Inline metric expressions in failureRules

Expression-Based Failure Rule Example

This example shows a failure rule using expression only.

name: FailureExpressionExample
rounds:
  - name: FailureRound
    numberOfClients: 100
    arrivalDelay: 100
    iterations:
      - name: SearchIteration
        mode: R
        requestCount: 5
        httpRequest:
          url: https://www.example.com
          method: GET
        failureRules:
          - expression: '${Metrics.FailureRound.SearchIteration.Duration.TotalTime.P90} > 250'

What It Demonstrates

  • Expression-only failure rules
  • Immediate failure trigger when the expression evaluates to true
  • Direct duration metric access from Metrics

Label: Expression-based failure rule examples are currently available in lps.3.0.5.2-Preview.