{"componentChunkName":"component---src-templates-docs-js","path":"/guides/api-monitoring/new-api-check/retries","result":{"data":{"site":{"siteMetadata":{"title":"Documentation | LoadFocus","docsLocation":""}},"mdx":{"fields":{"id":"3eaf0116-e40d-579b-bc9c-8cb42b71bc02","title":"Retries Before Alerting","slug":"/guides/api-monitoring/new-api-check/retries","locale":"en-GB"},"body":"var _excluded = [\"components\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"title\": \"Retries Before Alerting\",\n  \"date\": \"2026-07-14\",\n  \"metaTitle\": \"Retries Before Alerting | How-To | LoadFocus\",\n  \"metaDescription\": \"Retries Before Alerting | How-To | LoadFocus — step-by-step LoadFocus documentation for cloud load testing, API monitoring, and performance insights.\",\n  \"order\": 5\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h2\", null, \"Retries Before Alerting\"), mdx(\"h3\", null, \"What are retries?\"), mdx(\"p\", null, \"Retries re-attempt a failing check before we send you an alert. A single failed request is not always a real outage: a brief network blip, a slow cold start, or a one-off timeout can all fail a check while your API is healthy. Retries let you confirm a failure is real before anyone gets paged.\"), mdx(\"p\", null, \"Retries only happen when a check fails. A passing check never retries, so the setting costs you nothing while everything is healthy.\"), mdx(\"h3\", null, \"Why use retries?\"), mdx(\"p\", null, \"The main reason is alert noise. Without retries, every transient blip becomes an alert, and alerts that are usually false get ignored. With retries, you only hear about failures that survived several attempts.\"), mdx(\"p\", null, \"Set \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Retries\"), \" to \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"0\"), \" to turn the feature off. It is off by default.\"), mdx(\"h3\", null, \"The settings\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Setting\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Range\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Default\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"What it does\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Retries\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"0 to 5\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"0 (off)\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"How many extra attempts to make after the first failure\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Interval (s)\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"1 to 60\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"10\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"The base wait between attempts\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Backoff\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Fixed, Linear, Exponential\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Fixed\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"How the wait grows with each attempt\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Region\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Same region, Different region\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Same region\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Where the retry runs\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Max retry time (s)\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"1 to 300\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"60\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"A total time budget for the whole retry sequence\")))), mdx(\"h3\", null, \"How backoff works\"), mdx(\"p\", null, \"Backoff decides how long we wait before each retry, starting from your \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Interval\"), \". For an interval of \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"10\"), \" seconds:\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Attempt\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Fixed\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Linear\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Exponential\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"1st retry\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"10s\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"10s\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"10s\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"2nd retry\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"10s\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"20s\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"20s\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"3rd retry\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"10s\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"30s\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"40s\")))), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Fixed\"), \" waits the same interval every time. Use it when you expect a failure to clear quickly.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Linear\"), \" grows the wait steadily. A reasonable middle ground.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Exponential\"), \" doubles the wait each time. Use it when a struggling service needs room to recover, and you do not want your retries adding to the load.\")), mdx(\"h3\", null, \"Max retry time\"), mdx(\"p\", null, \"Max retry time is a budget for the whole sequence, measured from the start of the first attempt. Before each wait, we check whether that wait would push the sequence past the budget. If it would, we stop and report the last failure.\"), mdx(\"p\", null, \"This means the budget can end your retries before you have used all of them, which is intentional. For example, with an interval of \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"10\"), \" seconds, \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Exponential\"), \" backoff, 3 retries, and a 60 second budget, the third retry would need a 40 second wait on top of roughly 30 seconds already spent. That exceeds the budget, so the check stops after the second retry.\"), mdx(\"p\", null, \"If you want all your retries to run, make sure the budget is larger than the total of the waits above.\"), mdx(\"h3\", null, \"What gets recorded\"), mdx(\"p\", null, \"Only the final attempt is saved as the check's result. This is what makes retries useful:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Fails, then passes on a retry\"), \": the check is recorded as passing and no alert is sent. The blip never reaches you.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Fails every attempt\"), \": the check is recorded as failing and your alert channels fire as usual.\")), mdx(\"p\", null, \"Because only the final result is stored, retries do not distort your uptime figures with transient blips.\"), mdx(\"h3\", null, \"Region\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Same region\"), \" retries from the same location that saw the failure. \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Different region\"), \" is reserved for confirming a failure from a second location. In the current version, \\\"Different region\\\" still retries in the same region.\"), mdx(\"h3\", null, \"Practical use cases\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Public APIs over the internet\"), \": 1 to 2 retries with Fixed backoff and a short interval filters out routine network noise.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Services that cold start\"), \": use Linear or Exponential backoff so a slow first response has time to warm up.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"A service under load\"), \": use Exponential backoff so your retries give it room instead of adding pressure.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Critical checks that must page immediately\"), \": leave Retries at \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"0\"), \" so a single failure alerts straight away.\")), mdx(\"h3\", null, \"A note on frequency\"), mdx(\"p\", null, \"Keep your retry budget below your check \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/docs/guides/api-monitoring/new-api-check/frequency\"\n  }, \"frequency\"), \". If a check runs every minute and your retries can run for up to 300 seconds, a failing check would still be retrying when its next run is due.\"));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#retries-before-alerting","title":"Retries Before Alerting","items":[{"url":"#what-are-retries","title":"What are retries?"},{"url":"#why-use-retries","title":"Why use retries?"},{"url":"#the-settings","title":"The settings"},{"url":"#how-backoff-works","title":"How backoff works"},{"url":"#max-retry-time","title":"Max retry time"},{"url":"#what-gets-recorded","title":"What gets recorded"},{"url":"#region","title":"Region"},{"url":"#practical-use-cases","title":"Practical use cases"},{"url":"#a-note-on-frequency","title":"A note on frequency"}]}]},"parent":{"__typename":"File","relativePath":"en/guides/api-monitoring/new-api-check/retries.md"},"frontmatter":{"metaTitle":"Retries Before Alerting | How-To | LoadFocus","metaDescription":"Retries Before Alerting | How-To | LoadFocus — step-by-step LoadFocus documentation for cloud load testing, API monitoring, and performance insights.","order":5}},"allMdx":{"edges":[{"node":{"fields":{"slug":"/","title":"Welcome to the New LoadFocus Documentation"}}},{"node":{"fields":{"slug":"/knowledge-base","title":"Knowledge Base"}}},{"node":{"fields":{"slug":"/guides","title":"How-To Guides"}}},{"node":{"fields":{"slug":"/pricing","title":"Pricing FAQs"}}},{"node":{"fields":{"slug":"/knowledge-base/understanding-declined-card-payments","title":"Why has my card payment been declined?"}}},{"node":{"fields":{"slug":"/knowledge-base/understanding-differences-between-http-and-https","title":"Differences between HTTP and HTTPS"}}},{"node":{"fields":{"slug":"/knowledge-base/how-to-update-card-details","title":"How to Update Card Details for Failed Payments"}}},{"node":{"fields":{"slug":"/guides/api-monitoring","title":"API Monitoring"}}},{"node":{"fields":{"slug":"/knowledge-base/using-3rd-party-tools-to-load-test-website-locally","title":"How to load testing locally hosted website or API"}}},{"node":{"fields":{"slug":"/guides/external-reports","title":"External Reporting"}}},{"node":{"fields":{"slug":"/knowledge-base/using-query-parameters","title":"How to Use URL Query Parameters"}}},{"node":{"fields":{"slug":"/knowledge-base/what-is-an-http-method","title":"What is an HTTP request method"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing","title":"Load Testing with Apache JMeter"}}},{"node":{"fields":{"slug":"/guides/k6-load-testing","title":"k6 Load Testing"}}},{"node":{"fields":{"slug":"/guides/load-testing","title":"Load Testing"}}},{"node":{"fields":{"slug":"/knowledge-base/using-google-analytics-and-no-requests-while-load-testing","title":"No traffic in Google Analytics while load testing"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance","title":"Monitor Website Performance"}}},{"node":{"fields":{"slug":"/guides/mcp","title":"AI Assistants (MCP)"}}},{"node":{"fields":{"slug":"/guides/monitoring-as-code","title":"Monitoring as Code"}}},{"node":{"fields":{"slug":"/guides/openapi-import","title":"Import from OpenAPI / Swagger"}}},{"node":{"fields":{"slug":"/guides/onboarding","title":"LoadFocus Onboarding"}}},{"node":{"fields":{"slug":"/guides/reusable-snippets","title":"Reusable snippets"}}},{"node":{"fields":{"slug":"/guides/setup-teardown-scripts","title":"Setup and teardown scripts"}}},{"node":{"fields":{"slug":"/guides/teams","title":"Teams Management"}}},{"node":{"fields":{"slug":"/knowledge-base/using-valid-url-endpoints","title":"What is a Valid URL for a Load Test"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/alert-channels","title":"Alert Channels: Discord, PagerDuty & Opsgenie"}}},{"node":{"fields":{"slug":"/guides/external-reports/azure-app-insights-integration","title":"Azure App Insights Integration"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/downloading-jmx-csv-files","title":"Downloading .JMX and .CSV Files in LoadFocus"}}},{"node":{"fields":{"slug":"/guides/k6-load-testing/analyzing-k6-test-results","title":"Analyzing k6 Load Test Results"}}},{"node":{"fields":{"slug":"/guides/load-testing/ai-credits","title":"AI Credits"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/how-to-run-new-apache-jmeter-load-test","title":"How to Run a New Apache JMeter Load Test"}}},{"node":{"fields":{"slug":"/guides/external-reports/datadog-integration","title":"Datadog Integration"}}},{"node":{"fields":{"slug":"/guides/k6-load-testing/how-to-run-k6-load-test","title":"How to Run a New k6 Load Test"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/alert-configuration","title":"Alert Configuration"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/alert-metrics","title":"Alert Metrics"}}},{"node":{"fields":{"slug":"/guides/load-testing/analyzing-load-test-results","title":"How to Check Load Test Results"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/api-check-results","title":"Understanding API Check Results"}}},{"node":{"fields":{"slug":"/guides/k6-load-testing/import-to-k6-from-curl-har-postman-openapi","title":"Import cURL, HAR, Postman or OpenAPI to a k6 Test"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/core-web-vitals-competitor-comparison","title":"Core Web Vitals Competitor Comparison"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/browser-checks","title":"Browser Checks"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/core-web-vitals-metrics","title":"What are the Core Web Vitals?"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/import-to-jmeter-from-curl-har-postman-openapi","title":"Import cURL, HAR, Postman or OpenAPI to a JMeter Test"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/check-groups","title":"Check Groups"}}},{"node":{"fields":{"slug":"/guides/load-testing/authorization-code-grant-type-oauth-2-0","title":"Authorization Code Grant Type in OAuth 2.0"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/check-retries-and-alert-thresholds","title":"Check Retries and Alert Thresholds"}}},{"node":{"fields":{"slug":"/guides/load-testing/baseline-comparison-between-load-tests","title":"Baseline Comparison Between Load Tests"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-generators-hardware-infrastructure-jmeter","title":"What are the hardware resources allocated to my account for load generators?"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/getting-started","title":"Getting Started"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/how-to-create-new-alert","title":"Create a New Alert"}}},{"node":{"fields":{"slug":"/guides/load-testing/client-credentials-grant-type-oauth-2-0","title":"Client Credentials Grant Type in OAuth 2.0"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-anomalies","title":"Load Testing Anomalies"}}},{"node":{"fields":{"slug":"/guides/load-testing/crafting-perfect-test-names","title":"Crafting Perfect Test Names"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/dashboards","title":"Dashboards"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/how-to-run-new-website-performance-test","title":"Create New Website Performance Test"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd","title":"Load Testing API Integration"}}},{"node":{"fields":{"slug":"/guides/load-testing/decoding-average-response-times","title":"Decoding Average Response Time"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-error-analysis","title":"Error Analysis"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/http-authentication","title":"HTTP Authentication"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/dns-monitors","title":"DNS Monitors"}}},{"node":{"fields":{"slug":"/guides/load-testing/deep-dive-samples-in-load-testing","title":"What are Samples in Load Testing?"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/custom-domain-status-page","title":"How to Add a Custom Domain to Your Status Page"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-engine-health-monitoring","title":"Engine Health Monitoring"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/largest-contentful-paint","title":"Largest Contentful Paint (LCP)"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/incident-management","title":"Incident Management"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-jtl-file-analysis","title":"Logs & JTL File Analysis"}}},{"node":{"fields":{"slug":"/guides/load-testing/demo","title":"Demo"}}},{"node":{"fields":{"slug":"/guides/load-testing/end-time-in-load-testing","title":"Understanding the Significance of 'End Time' in Load Testing"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/maintenance-windows","title":"Maintenance Windows"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/lighthouse-opportunities","title":"Lighthouse Opportunities"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-jtl-jmeter-log-file-analysis","title":"JMeter Log File Analysis"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/pdf-report-branding","title":"Branded PDF Reports"}}},{"node":{"fields":{"slug":"/guides/load-testing/erros-and-reponse-codes","title":"Errors and Response Codes"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/multistep-api-checks","title":"Multistep API Checks"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/performance-budgets","title":"Performance Budgets & Alerts"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-timeline-analysis","title":"Timeline View"}}},{"node":{"fields":{"slug":"/guides/load-testing/geographical-test-location-in-load-testing","title":"Geographical Test Location in Load Testing"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/real-user-field-data","title":"Real-User Field Data (CrUX)"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/uploading-jmeter-files-step-by-step-guide","title":"Uploading JMeter Files to LoadFocus: A Step-by-Step Guide"}}},{"node":{"fields":{"slug":"/guides/load-testing/getting-started","title":"Getting Started"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/sitemap-import","title":"Sitemap Import"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check","title":"How to Create a New API Check"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/using-multiple-csv-files-with-jmeter-engines","title":"Using Multiple CSV Files with JMeter Engines in LoadFocus"}}},{"node":{"fields":{"slug":"/guides/load-testing/granularity-in-load-test-results-and-charts","title":"Granularity in Load Test Results and Chart Display"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/sla-slo-reports","title":"SLA & SLO Uptime Reports"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/snippets","title":"Snippets"}}},{"node":{"fields":{"slug":"/guides/load-testing/headers-and-manage-presets","title":"Headers and Header Presets"}}},{"node":{"fields":{"slug":"/guides/load-testing/how-to-run-new-load-test","title":"How to Run a New Load Test"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/ssl-certificate-monitoring","title":"SSL Certificate Monitoring"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/status-pages","title":"Create a Public Status Page for Your Monitors"}}},{"node":{"fields":{"slug":"/guides/load-testing/http-methods-overview-load-testing","title":"HTTP Methods: An Overview"}}},{"node":{"fields":{"slug":"/guides/load-testing/how-to-url-query-parameters","title":"Query Parameters"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/tcp-monitors","title":"TCP Port Monitors"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/variables","title":"Variables"}}},{"node":{"fields":{"slug":"/guides/load-testing/implicit-grant-type-oauth-2-0","title":"Implicit Grant Type in OAuth 2.0"}}},{"node":{"fields":{"slug":"/guides/load-testing/load-generators-hardware-infrastructure","title":"What are the hardware resources allocated to my account for load generators?"}}},{"node":{"fields":{"slug":"/guides/load-testing/load-test-result-ai-analysis","title":"Load Testing Results AI Analysis"}}},{"node":{"fields":{"slug":"/guides/load-testing/page-speed-under-load-trends","title":"Page Speed Under Load Trends"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/heartbeat-monitors","title":"Heartbeat (Cron Job) Monitors"}}},{"node":{"fields":{"slug":"/guides/load-testing/pass-fail-thresholds","title":"Pass/Fail Thresholds"}}},{"node":{"fields":{"slug":"/guides/load-testing/common-http-error-codes","title":"Common HTTP Error status codes"}}},{"node":{"fields":{"slug":"/guides/load-testing/page-speed-under-load","title":"Page Speed Under Load"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-insights","title":"Load Testing Insights"}}},{"node":{"fields":{"slug":"/guides/load-testing/share-load-test-reports","title":"Share Load Test Reports"}}},{"node":{"fields":{"slug":"/guides/load-testing/scheduled-load-tests","title":"Scheduled Load Tests"}}},{"node":{"fields":{"slug":"/guides/load-testing/use-cases","title":"Use Cases"}}},{"node":{"fields":{"slug":"/guides/load-testing/using-cookies","title":"Using Cookies"}}},{"node":{"fields":{"slug":"/guides/load-testing/start-time-in-load-testing","title":"Understanding the Significance of Start Time in Load Testing"}}},{"node":{"fields":{"slug":"/guides/load-testing/refresh-token-grant-type-oauth-2-0","title":"Refresh Token Grant Type in OAuth 2.0"}}},{"node":{"fields":{"slug":"/guides/load-testing/what-is-delay-when-running-a-load-test","title":"What is Delay when running a Load Test?"}}},{"node":{"fields":{"slug":"/guides/load-testing/what-is-duration-in-load-testing","title":"What is Duration in Load Testing"}}},{"node":{"fields":{"slug":"/guides/load-testing/password-credentials-grant-type-oauth-2-0","title":"Password Credentials Grant Type in OAuth 2.0"}}},{"node":{"fields":{"slug":"/guides/load-testing/what-are-virtual-users-load-testing","title":"What are Virtual Users in Load Testing"}}},{"node":{"fields":{"slug":"/guides/load-testing/what-are-iterations-load-testing","title":"Mastering Iterations in Load Testing: A Deep Dive"}}},{"node":{"fields":{"slug":"/guides/load-testing/what-is-grant-type","title":"What is a Grant Type?"}}},{"node":{"fields":{"slug":"/guides/load-testing/what-is-ramp-up-steps-in-load-testing","title":"What is Ramp Up Steps in Load Testing"}}},{"node":{"fields":{"slug":"/guides/load-testing/what-is-ramp-up-time-in-load-testing","title":"What is Ramp Up Time in Load Testing"}}},{"node":{"fields":{"slug":"/guides/load-testing/what-is-test-run-id","title":"What is a Test Run Id?"}}},{"node":{"fields":{"slug":"/guides/load-testing/white-label-report-branding","title":"Branded PDF Reports"}}},{"node":{"fields":{"slug":"/guides/load-testing/performance-trend-load-test-results","title":"Performance Trend"}}},{"node":{"fields":{"slug":"/guides/load-testing/what-is-oauth-2-0-authorization","title":"OAuth 2.0 Authorization"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/activate-deactivate","title":"Activate/Deactivate"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/azure-devops","title":"Azure DevOps"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/circleci","title":"CircleCI"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/alert-channels","title":"Alert Channels"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/github-actions","title":"GitHub Actions"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/jenkins","title":"Jenkins"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/frequency","title":"Frequency"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/friendly-check-name","title":"Friendly Check Name"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/locations","title":"Locations"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/overview","title":"Integrating JMeter API Client with CI/CD Pipelines"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/mute-unmute","title":"Mute/Unmute"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/request-preview","title":"Request Preview"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/gitlab-ci-cd","title":"GitLab CI/CD"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/assertions","title":"Assertions"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/request-configuration","title":"Request Configuration"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/retries","title":"Retries Before Alerting"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/response-time-limits","title":"Response Time Limits"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/webhook-channels","title":"Webhook Channel"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/save-run","title":"Save and Run"}}}]}},"pageContext":{"id":"3eaf0116-e40d-579b-bc9c-8cb42b71bc02","locale":"en-GB"}},"staticQueryHashes":["361965504","361965504","417421954","417421954","445494767","445494767"]}