Datadog
Use the Datadog sink when your team already reads events and metrics in Datadog. This page explains what LoadStrike sends there and how to configure it.
Matching docs
Search across docs titles, summaries, groups, and section headings.
Use Up and Down Arrow to move through results, then press Enter to open the active page.
No indexed docs matched that search. Try a broader term or open the docs hub.
What this page helps you do
What this page helps you do
Use the Datadog sink when your team already reads events and metrics in Datadog. This page explains what LoadStrike sends there and how to configure it.
Who this is for
Teams exporting final run data and realtime metrics into supported observability backends.
Prerequisites
- A run result or sink destination you want to wire into the wider observability stack
By the end
A sink-specific setup path that stays tied to the same LoadStrike report model.
Use this page when
Use this page when the local report is not the only destination and you need to wire realtime or final export into a supported sink.
Visual guide
Sample Report Data Rows
Scope Scenario Result Count RPS LatencyP50Ms LatencyP80Ms LatencyP85Ms LatencyP90Ms LatencyP95Ms LatencyP99Ms
Scenario reports-demo OK 675 15.0 21.4 30.2 33.0 36.8 48.6 72.1
LatencyTable Scenario Result Count LatencyP50Ms LatencyP95Ms
LatencyTable reports-demo OK 675 21.4 48.6
LatencyTable reports-demo FAIL 12 35.9 79.2
StatusCode Result Percent
200 OK 97.48
500 FAIL 2.52
FailedStatus Scope Scenario Step StatusCode Count Percent
FailedStatus Scenario reports-demo 500 12 1.75
Reporting
Realtime reporting
Choose the built-in sink page that matches the backend your team already runs, or open Custom Reporting when you need to implement your own destination. Each tab opens a dedicated page with the settings, behavior, and lifecycle details for that reporting path.
Guide
When To Use Datadog
Choose Datadog when the team already uses Datadog dashboards, queries, and alerting for both event streams and metric time series.
What LoadStrike Sends
DatadogReportingSink sends reporting events to Datadog Logs and projected metrics to Datadog Metrics. Final export also carries final metric snapshots and run-result metadata such as report files, disabled sink names, and sink error details.
Configuration Surface
Configure the sink in code or through LoadStrike:ReportingSinks:Datadog. Common options include BaseUrl, ApiKey, ApplicationKey, StaticTags, and StaticAttributes.
Downloads
Datadog setup is supported through the downloadable JSON infra-config template and the shared observability asset guide.
Datadog realtime reporting
Use DatadogReportingSink when your team wants events in Datadog Logs and projected metrics in Datadog Metrics.
If you run these examples locally, add a valid runner key before execution starts. Set it with WithRunnerKey("...") or the config key LoadStrike:RunnerKey.
HTML reports also include the top-right Light/Dark theme toggle. Light is the default report theme.
Datadog Sink
using LoadStrike;
var datadogSink = new DatadogReportingSink(new DatadogReportingSinkOptions
{
BaseUrl = "https://api.datadoghq.com",
ApiKey = "dd-api-key",
ApplicationKey = "dd-app-key",
StaticTags =
{
["environment"] = "staging",
["service"] = "orders-api"
},
StaticAttributes =
{
["team"] = "performance"
}
});
LoadStrikeRunner.RegisterScenarios(scenario)
.WithReportingSinks(datadogSink)
.WithRunnerKey("rkl_your_local_runner_key")
.Run();
package main
import loadstrike "loadstrike.com/sdk/go"
func main() {
sink := loadstrike.DatadogReportingSink{
Options: loadstrike.DatadogSinkOptions{
BaseURL: "https://http-intake.logs.datadoghq.com",
APIKey: "dd-api-key",
ApplicationKey: "dd-app-key",
Service: "orders-api",
},
}
loadstrike.RegisterScenarios(loadstrike.Empty("sink-demo")).
WithReportingSinks(sink).
LoadInfraConfig("./appsettings.infra.json").
Run()
}
import com.loadstrike.runtime.LoadStrikeRuntime.LoadStrikeRunner;
import com.loadstrike.runtime.LoadStrikeSinks;
import com.loadstrike.runtime.LoadStrikeRuntime.LoadStrikeResponse;
import com.loadstrike.runtime.LoadStrikeRuntime.LoadStrikeScenario;
import com.loadstrike.runtime.LoadStrikeRuntime.LoadStrikeSimulation;
var scenario = LoadStrikeScenario
.create("submit-orders", ignoredContext -> LoadStrikeResponse.ok("200"))
.withLoadSimulations(LoadStrikeSimulation.inject(10, 1d, 20d));
var options = new LoadStrikeSinks.DatadogSinkOptions();
options.baseUrl = "https://api.datadoghq.com";
options.apiKey = "dd-api-key";
options.applicationKey = "dd-app-key";
options.staticTags.put("environment", "staging");
var sink = new LoadStrikeSinks.DatadogReportingSink(options);
LoadStrikeRunner.registerScenarios(scenario)
.withReportingSinks(sink)
.withRunnerKey("rkl_your_local_runner_key")
.run();
from loadstrike_sdk import DatadogReportingSink, LoadStrikeResponse, LoadStrikeRunner, LoadStrikeScenario, LoadStrikeSimulation
scenario = (
LoadStrikeScenario.create("submit-orders", lambda _: LoadStrikeResponse.ok("200"))
.with_load_simulations(LoadStrikeSimulation.inject(10, 1, 20))
)
sink = DatadogReportingSink(
base_url="https://api.datadoghq.com",
api_key="dd-api-key",
application_key="dd-app-key",
static_tags={"environment": "staging"},
static_attributes={"team": "perf"},
)
LoadStrikeRunner.register_scenarios(scenario) \
.with_reporting_sinks(sink) \
.with_runner_key("rkl_your_local_runner_key") \
.run()
import {
DatadogReportingSink,
DatadogReportingSinkOptions,
LoadStrikeResponse,
LoadStrikeRunner,
LoadStrikeScenario,
LoadStrikeSimulation
} from "@loadstrike/loadstrike-sdk";
const scenario = LoadStrikeScenario
.create("submit-orders", async () => LoadStrikeResponse.ok("200"))
.withLoadSimulations(LoadStrikeSimulation.inject(10, 1, 20));
const sink = new DatadogReportingSink(new DatadogReportingSinkOptions({
BaseUrl: "https://api.datadoghq.com",
ApiKey: "dd-api-key",
ApplicationKey: "dd-app-key",
StaticTags: {
environment: "staging"
},
StaticAttributes: {
team: "perf"
}
}));
await LoadStrikeRunner
.registerScenarios(scenario)
.withReportingSinks(sink)
.withRunnerKey("rkl_your_local_runner_key")
.run();
const {
DatadogReportingSink,
DatadogReportingSinkOptions,
LoadStrikeResponse,
LoadStrikeRunner,
LoadStrikeScenario,
LoadStrikeSimulation
} = require("@loadstrike/loadstrike-sdk");
(async () => {
const scenario = LoadStrikeScenario
.create("submit-orders", async () => LoadStrikeResponse.ok("200"))
.withLoadSimulations(LoadStrikeSimulation.inject(10, 1, 20));
const sink = new DatadogReportingSink(new DatadogReportingSinkOptions({
BaseUrl: "https://api.datadoghq.com",
ApiKey: "dd-api-key",
ApplicationKey: "dd-app-key",
StaticTags: {
environment: "staging"
},
StaticAttributes: {
team: "perf"
}
}));
await LoadStrikeRunner
.registerScenarios(scenario)
.withReportingSinks(sink)
.withRunnerKey("rkl_your_local_runner_key")
.run();
})();
DatadogReportingSinkOptions fields
This page explains only the Datadog sink behavior that LoadStrike currently ships.
Defaults to LoadStrike:ReportingSinks:Datadog when binding from infra config.
Required Datadog base URL.
Path used for Datadog log ingestion.
Path used for Datadog metric ingestion.
Required Datadog API key.
Optional ApplicationKey used when the target Datadog environment expects it.
Metadata fields used on exported Datadog events and metrics.
HTTP timeout for Datadog requests.
Additional tags applied to exported telemetry.
Additional event attributes applied to exported Datadog log entries.
{
"LoadStrike": {
"ReportingSinks": {
"Datadog": {
"BaseUrl": "https://api.datadoghq.com",
"ApiKey": "dd-api-key",
"ApplicationKey": "dd-app-key"
}
}
}
}
Downloads and templates
Use the Datadog template when you want to load sink settings from infra config instead of setting every value in code.
Datadog template JSON
A ready-to-edit infra-config template for DatadogReportingSink.
Download fileObservability asset guide
A combined guide for sink templates and Grafana starter assets.
Download file