{"componentChunkName":"component---src-templates-docs-js","path":"/guides/load-testing/performance-trend-load-test-results","result":{"data":{"site":{"siteMetadata":{"title":"Documentation | LoadFocus","docsLocation":""}},"mdx":{"fields":{"id":"fb747363-748f-5908-ac29-c53925ab2e3b","title":"Performance Trend","slug":"/guides/load-testing/performance-trend-load-test-results","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\": \"Performance Trend\",\n  \"date\": \"2026-06-23\",\n  \"metaTitle\": \"Performance Trend for Load Tests | LoadFocus\",\n  \"metaDescription\": \"The Trend tab plots P95 response time, error rate and throughput across the recent runs of a load test, with your pass/fail thresholds drawn in and each run coloured pass or fail.\",\n  \"order\": 37\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(\"p\", null, \"The \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Trend\"), \" tab on a load test result shows how the same test has performed across its recent runs, so you can spot a creeping regression or confirm an improvement at a glance. It plots three charts over your run history: P95 response time, error rate and throughput.\"), mdx(\"h2\", null, \"Open the Trend tab\"), mdx(\"p\", null, \"Open any result for a test, then click the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Trend\"), \" tab. The page builds itself from the test's run history (matched by test name), so the more often you run a test, the richer the trend. The Trend tab works the same way for cloud, JMeter and k6 tests.\"), mdx(\"h2\", null, \"Read the charts\"), mdx(\"p\", null, \"Three charts are plotted, one point per run, oldest to newest:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"P95 response time\"), \" (ms): the 95th-percentile response time of each run.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Error rate\"), \" (%): the overall error rate of each run.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Throughput\"), \" (req/s): the requests-per-second each run sustained.\")), mdx(\"p\", null, \"Hover a point to see the exact value and which run it belongs to.\"), mdx(\"h2\", null, \"Choose how many runs to show\"), mdx(\"p\", null, \"Use the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Runs to show\"), \" control to set how many of the most recent runs are plotted (2\\u201350), then click \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Load\"), \". The status next to it tells you how many runs were found and drawn. A brand-new test with a single run shows a single point; the trend becomes more useful as runs accumulate.\"), mdx(\"h2\", null, \"Threshold lines and pass/fail colours\"), mdx(\"p\", null, \"When \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/docs/guides/load-testing/pass-fail-thresholds\"\n  }, \"pass/fail thresholds\"), \" are set on the test, the Trend charts add two things:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Threshold lines\"), \": your Max P95, Max error rate and Min throughput limits are drawn as reference lines, so you can see how close each run is to the limit.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Pass/fail colours\"), \": each run's point is coloured green when it met your thresholds and red when it breached them.\")), mdx(\"p\", null, \"Without thresholds the charts still plot the raw metrics; the lines and pass/fail colours only appear once thresholds are enabled. See \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/docs/guides/load-testing/pass-fail-thresholds\"\n  }, \"Pass/Fail Thresholds\"), \" to set them.\"), mdx(\"h2\", null, \"Why it matters\"), mdx(\"p\", null, \"A single result tells you how one run did. The Trend tab turns your run history into a story: response times drifting up after a release, an error rate that spikes under a new traffic pattern, or throughput recovering after a fix. Run the test on a schedule and the Trend tab becomes an early-warning view for performance regressions.\"));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#open-the-trend-tab","title":"Open the Trend tab"},{"url":"#read-the-charts","title":"Read the charts"},{"url":"#choose-how-many-runs-to-show","title":"Choose how many runs to show"},{"url":"#threshold-lines-and-passfail-colours","title":"Threshold lines and pass/fail colours"},{"url":"#why-it-matters","title":"Why it matters"}]},"parent":{"__typename":"File","relativePath":"en/guides/load-testing/performance-trend-load-test-results.md"},"frontmatter":{"metaTitle":"Performance Trend for Load Tests | LoadFocus","metaDescription":"The Trend tab plots P95 response time, error rate and throughput across the recent runs of a load test, with your pass/fail thresholds drawn in and each run coloured pass or fail.","order":37}},"allMdx":{"edges":[{"node":{"fields":{"slug":"/","title":"Welcome to the New LoadFocus Documentation"}}},{"node":{"fields":{"slug":"/guides","title":"How-To Guides"}}},{"node":{"fields":{"slug":"/knowledge-base","title":"Knowledge Base"}}},{"node":{"fields":{"slug":"/pricing","title":"Pricing FAQs"}}},{"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/understanding-differences-between-http-and-https","title":"Differences between HTTP and HTTPS"}}},{"node":{"fields":{"slug":"/knowledge-base/understanding-declined-card-payments","title":"Why has my card payment been declined?"}}},{"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-google-analytics-and-no-requests-while-load-testing","title":"No traffic in Google Analytics while load testing"}}},{"node":{"fields":{"slug":"/knowledge-base/using-query-parameters","title":"How to Use URL Query Parameters"}}},{"node":{"fields":{"slug":"/knowledge-base/using-valid-url-endpoints","title":"What is a Valid URL for a Load Test"}}},{"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":"/knowledge-base/what-is-an-http-method","title":"What is an HTTP request method"}}},{"node":{"fields":{"slug":"/guides/load-testing","title":"Load Testing"}}},{"node":{"fields":{"slug":"/guides/mcp","title":"AI Assistants (MCP)"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance","title":"Monitor Website Performance"}}},{"node":{"fields":{"slug":"/guides/monitoring-as-code","title":"Monitoring as Code"}}},{"node":{"fields":{"slug":"/guides/onboarding","title":"LoadFocus Onboarding"}}},{"node":{"fields":{"slug":"/guides/reusable-snippets","title":"Reusable snippets"}}},{"node":{"fields":{"slug":"/guides/openapi-import","title":"Import from OpenAPI / Swagger"}}},{"node":{"fields":{"slug":"/guides/setup-teardown-scripts","title":"Setup and teardown scripts"}}},{"node":{"fields":{"slug":"/guides/teams","title":"Teams Management"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/alert-channels","title":"Alert Channels: Discord, PagerDuty & Opsgenie"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/downloading-jmx-csv-files","title":"Downloading .JMX and .CSV Files in LoadFocus"}}},{"node":{"fields":{"slug":"/guides/external-reports/azure-app-insights-integration","title":"Azure App Insights Integration"}}},{"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/external-reports/datadog-integration","title":"Datadog Integration"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/alert-configuration","title":"Alert Configuration"}}},{"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/k6-load-testing/how-to-run-k6-load-test","title":"How to Run a New k6 Load Test"}}},{"node":{"fields":{"slug":"/guides/load-testing/analyzing-load-test-results","title":"How to Check Load Test Results"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/alert-metrics","title":"Alert Metrics"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/api-check-results","title":"Understanding API Check Results"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/core-web-vitals-competitor-comparison","title":"Core Web Vitals Competitor Comparison"}}},{"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/jmeter-load-testing/jmeter-integration-ci-cd","title":"Load Testing API Integration"}}},{"node":{"fields":{"slug":"/guides/load-testing/baseline-comparison-between-load-tests","title":"Baseline Comparison Between Load Tests"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/core-web-vitals-metrics","title":"What are the Core Web Vitals?"}}},{"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-generators-hardware-infrastructure-jmeter","title":"What are the hardware resources allocated to my account for load generators?"}}},{"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/monitor-website-performance/getting-started","title":"Getting Started"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/dashboards","title":"Dashboards"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-anomalies","title":"Load Testing Anomalies"}}},{"node":{"fields":{"slug":"/guides/load-testing/common-http-error-codes","title":"Common HTTP Error status codes"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/how-to-create-new-alert","title":"Create a New Alert"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-engine-health-monitoring","title":"Engine Health Monitoring"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/heartbeat-monitors","title":"Heartbeat (Cron Job) Monitors"}}},{"node":{"fields":{"slug":"/guides/load-testing/crafting-perfect-test-names","title":"Crafting Perfect Test Names"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/how-to-run-new-website-performance-test","title":"Create New Website Performance Test"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/maintenance-windows","title":"Maintenance Windows"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-error-analysis","title":"Error Analysis"}}},{"node":{"fields":{"slug":"/guides/load-testing/decoding-average-response-times","title":"Decoding Average Response Time"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/multistep-api-checks","title":"Multistep API Checks"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/http-authentication","title":"HTTP Authentication"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-insights","title":"Load Testing Insights"}}},{"node":{"fields":{"slug":"/guides/load-testing/demo","title":"Demo"}}},{"node":{"fields":{"slug":"/guides/load-testing/deep-dive-samples-in-load-testing","title":"What are Samples in Load Testing?"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-jtl-file-analysis","title":"Logs & JTL File Analysis"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/lighthouse-opportunities","title":"Lighthouse Opportunities"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/largest-contentful-paint","title":"Largest Contentful Paint (LCP)"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/load-testing-jtl-jmeter-log-file-analysis","title":"JMeter Log File Analysis"}}},{"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/monitor-website-performance/pdf-report-branding","title":"Branded PDF Reports"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check","title":"How to Create a New API Check"}}},{"node":{"fields":{"slug":"/guides/load-testing/erros-and-reponse-codes","title":"Errors and Response Codes"}}},{"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/api-monitoring/sla-slo-reports","title":"SLA & SLO Uptime Reports"}}},{"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/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/using-multiple-csv-files-with-jmeter-engines","title":"Using Multiple CSV Files with JMeter Engines in LoadFocus"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/status-pages","title":"Create a Public Status Page for Your Monitors"}}},{"node":{"fields":{"slug":"/guides/monitor-website-performance/sitemap-import","title":"Sitemap Import"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/tcp-monitors","title":"TCP Port Monitors"}}},{"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/variables","title":"Variables"}}},{"node":{"fields":{"slug":"/guides/load-testing/getting-started","title":"Getting Started"}}},{"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/load-testing/how-to-url-query-parameters","title":"Query Parameters"}}},{"node":{"fields":{"slug":"/guides/load-testing/http-methods-overview-load-testing","title":"HTTP Methods: An Overview"}}},{"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/pass-fail-thresholds","title":"Pass/Fail Thresholds"}}},{"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/performance-trend-load-test-results","title":"Performance Trend"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/snippets","title":"Snippets"}}},{"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/start-time-in-load-testing","title":"Understanding the Significance of Start Time in Load Testing"}}},{"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-is-delay-when-running-a-load-test","title":"What is Delay when running a Load Test?"}}},{"node":{"fields":{"slug":"/guides/load-testing/using-cookies","title":"Using Cookies"}}},{"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/what-is-grant-type","title":"What is a Grant Type?"}}},{"node":{"fields":{"slug":"/guides/load-testing/what-is-oauth-2-0-authorization","title":"OAuth 2.0 Authorization"}}},{"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-are-iterations-load-testing","title":"Mastering Iterations in Load Testing: A Deep Dive"}}},{"node":{"fields":{"slug":"/guides/load-testing/use-cases","title":"Use Cases"}}},{"node":{"fields":{"slug":"/guides/load-testing/white-label-report-branding","title":"Branded PDF Reports"}}},{"node":{"fields":{"slug":"/guides/load-testing/what-is-test-run-id","title":"What is a Test Run Id?"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/circleci","title":"CircleCI"}}},{"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/azure-devops","title":"Azure DevOps"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/gitlab-ci-cd","title":"GitLab CI/CD"}}},{"node":{"fields":{"slug":"/guides/jmeter-load-testing/jmeter-integration-ci-cd/jenkins","title":"Jenkins"}}},{"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/activate-deactivate","title":"Activate/Deactivate"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/alert-channels","title":"Alert Channels"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/assertions","title":"Assertions"}}},{"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/api-monitoring/new-api-check/request-configuration","title":"Request Configuration"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/request-preview","title":"Request Preview"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/mute-unmute","title":"Mute/Unmute"}}},{"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/save-run","title":"Save and Run"}}},{"node":{"fields":{"slug":"/guides/api-monitoring/new-api-check/webhook-channels","title":"Webhook Channel"}}}]}},"pageContext":{"id":"fb747363-748f-5908-ac29-c53925ab2e3b","locale":"en-GB"}},"staticQueryHashes":["361965504","361965504","417421954","417421954","445494767","445494767"]}