Datadog integration for BrowserStack Load Testing
Learn how to send BrowserStack Load Testing metrics to Datadog so that you can monitor system health, trace slow transactions, and correlate performance issues during high-traffic tests.
Use this guide to connect BrowserStack Load Testing with Datadog so that you can correlate test activity with backend performance, infrastructure health, and user experience.
Prerequisites
Before your team enables this integration, make sure you have:
- Datadog API key: Required to push metrics and events securely to Datadog.
- Datadog application key: Required for automated dashboard creation and management.
-
Datadog region (site URL): Specify your Datadog site (for example,
us-east-1,us-west-1,ap-south-1) so BrowserStack can send data to the correct endpoint. - BrowserStack admin access: You need an account administrator to configure this integration for the first time.
Integration overview
The Datadog integration gives you observability into how your systems behave under load by correlating BrowserStack Load Testing activity with Datadog metrics, traces, and events.
Core functionality:
- Metric streaming: BrowserStack aggregates performance data into 10-second buckets and pushes it to Datadog over HTTPS.
- Lifecycle events: Key test milestones are sent as events to the Datadog event timeline so that you can align time-series metrics with what happened during the test.
-
Custom headers: You can add custom headers (for example,
x-datadog-trace-id) to test traffic. This enables request tracing, so you can inspect the exact database query or API call that failed during a load test. - Automated dashboards: When Datadog first receives the BrowserStack metric namespace, BrowserStack can trigger installation of a preconfigured dashboard so you can start analyzing results immediately.
Supported metrics and events
BrowserStack Load Testing sends both metrics and lifecycle events to Datadog to help you understand test behavior.
Following are the metrics pushed to Datadog:
| Metric Name | Description |
|---|---|
browserstack.vu.max |
Maximum number of virtual users reached during the test |
browserstack.vu.started |
Total virtual users that started successfully |
browserstack.vu.ended |
Total virtual users that completed or were stopped |
browserstack.test.duration |
Total test execution time, in seconds |
browserstack.requests.total |
Total number of requests generated during the test |
browserstack.requests.rate.avg |
Average number of requests per second |
browserstack.errors.percentage |
Percentage of failed requests |
browserstack.response.time.avg |
Average response time across all requests, in milliseconds |
browserstack.response.time.p90 |
90th percentile response time, in milliseconds |
browserstack.response.time.p95 |
95th percentile response time, in milliseconds |
browserstack.response.time.p99 |
99th percentile response time, in milliseconds |
browserstack.response.time.max |
Maximum response time observed, in milliseconds |
browserstack.response.time.min |
Minimum response time observed, in milliseconds |
browserstack.system.cpu.usage |
CPU usage percentage during the test |
browserstack.system.memory.usage |
Memory usage percentage during the test |
browserstack.browser.lcp |
Largest Contentful Paint, in seconds |
browserstack.browser.inp |
Interaction to Next Paint latency, in milliseconds |
browserstack.browser.ttfb |
Time to First Byte, in milliseconds |
browserstack.browser.cls |
Cumulative Layout Shift score |
browserstack.browser.fcp |
First Contentful Paint, in seconds |
browserstack.browser.network.calls.total |
Total number of browser network calls |
Following is a list of events pushed to Datadog:
- Test initialized: Marks the setup phase and environment preparation.
- Test running: Marks the start of the load window.
- Test completed / passed / failed: Reports the final status and outcome of the test.
- Test timed out: Indicates that the test did not finish gracefully.
- Ramp up started / ramp down started: Marks changes in stress levels during execution.
- Iterations started / iterations ended: Tracks batch loops for browser load tests.
How to integrate with Datadog
Perform the following steps to use the Datadog integration with your load tests:
- Configure: In the BrowserStack Load Testing UI, enable the Datadog integration, choose the metrics and lifecycle events you want to send, and optionally add tags or headers for additional context.
- Execute: Run your load test as you normally would. BrowserStack handles the 10-second aggregation and metric streaming to Datadog.
- Analyze: After the test completes, select View in Datadog from the BrowserStack results page.
Configure Datadog from the CLI
You configure Datadog integration in the browserstack-load.yml file. The following example shows a minimal configuration that enables Dynatrace and sends metrics to the v2 ingest endpoint.
This configuration lives under the top-level integrations block in browserstack-load.yml alongside any other APM tools you configure.
Conclusion
When you integrate BrowserStack Load Testing with Datadog, you reduce manual setup and remove context switching between tools. The integration turns raw load-testing data into actionable insights so you can understand how your application, infrastructure, and user experience respond to real-world traffic.
We're sorry to hear that. Please share your feedback so we can do better
Contact our Support team for immediate help while we work on improving our docs.
We're continuously improving our docs. We'd love to know what you liked
We're sorry to hear that. Please share your feedback so we can do better
Contact our Support team for immediate help while we work on improving our docs.
We're continuously improving our docs. We'd love to know what you liked
Thank you for your valuable feedback!