Realtime Reporting
Choose the built-in sink page that matches the backend your team already uses for realtime reporting.
Reporting
Realtime reporting
Choose the built-in sink page that matches the observability stack your team already uses. Each tab below opens a dedicated page instead of swapping content in place.
Send LoadStrike reporting events to Datadog Logs and projected metrics to Datadog Metrics.
Open pageWrite reporting events and projected metrics into an InfluxDB bucket, with optional measurement separation for metrics.
Open pageWrite reporting events and projected metrics into PostgreSQL-compatible tables for TimescaleDB or standard PostgreSQL workflows.
Open pageStore reporting events in Loki while forwarding projected metrics through the OTLP/HTTP metrics companion settings.
Open pageSend reporting events and projected metrics through the Splunk HTTP Event Collector event endpoint.
Open pageSend OTLP/HTTP logs and metrics to an OpenTelemetry collector or compatible vendor pipeline.
Open pageWhat Every Built-In Sink Exports
All built-in sinks publish LoadStrike reporting events plus metric projections. Final export also includes final metric snapshots, started/completed timestamps, report-file metadata, disabled sink names, sink error counts, and plugin-table rows such as failed-response and correlation summaries.
How This Section Is Organized
Each supported sink now has its own page inside Realtime Reporting so setup, infra templates, and starter assets stay focused on one destination at a time. Use the page tabs to jump directly to Datadog, InfluxDB, TimescaleDB, Grafana Loki, Splunk HEC, or OTEL Collector.
Configuration Model
Each built-in sink accepts an options object in code and can also bind missing values from LoadStrike:ReportingSinks:* infra-config sections. Realtime writes follow the configured reporting interval, while final export writes the run summary and artifact metadata when the run completes.
Failure Behavior
Sink init, start, realtime export, and final export use retry and backoff. If a sink continues to fail, LoadStrike logs the issue, disables that sink for the current run, and continues the main load execution instead of aborting the scenarios.
Plan Gate And Extensibility
Business and Enterprise plans include the built-in vendor sinks for InfluxDB, TimescaleDB, Grafana Loki, Datadog, Splunk HEC, and OTEL Collector. Enterprise also allows custom ILoadStrikeReportingSink implementations when a project-specific destination is required.
Realtime reporting setup
Register a built-in sink, set the reporting interval, and optionally load sink settings from infra config.
Switch between C#, Java, Python, TypeScript, and JavaScript to see the native SDK shape for this sample.
Licensing note: every runnable sample requires a valid runner key via WithRunnerKey("...") or config key LoadStrike:RunnerKey.
HTML reports include an icon-only Light/Dark theme toggle fixed at the top-right. Default report theme is Light.
Realtime Reporting Setup
var scenario = LoadStrikeScenario.Empty("orders-realtime-reporting")
.WithLoadSimulations(
LoadStrikeSimulation.Inject(rate: 20, interval: TimeSpan.FromSeconds(1), during: TimeSpan.FromMinutes(2))
);
LoadStrikeRunner.RegisterScenarios(scenario)
.WithReportingInterval(TimeSpan.FromSeconds(5))
.LoadInfraConfig("./observability/loadstrike-datadog-reporting-sink.json")
.WithReportingSinks(new DatadogReportingSink())
.WithRunnerKey("rkl_your_local_runner_key")
.Run();
import com.loadstrike.runtime.LoadStrikeRuntime.LoadStrikeRunner;
import com.loadstrike.runtime.LoadStrikeRuntime.LoadStrikeScenario;
import com.loadstrike.runtime.LoadStrikeRuntime.LoadStrikeSimulation;
import com.loadstrike.runtime.LoadStrikeSinks;
var scenario = LoadStrikeScenario.empty("orders-realtime-reporting")
.withLoadSimulations(
LoadStrikeSimulation.inject(20, 1d, 120d)
);
LoadStrikeRunner.registerScenarios(scenario)
.withReportingInterval(5d)
.loadInfraConfig("./observability/loadstrike-datadog-reporting-sink.json")
.withReportingSinks(new LoadStrikeSinks.DatadogReportingSink())
.withRunnerKey("rkl_your_local_runner_key")
.run();
from loadstrike_sdk import (
DatadogReportingSink,
LoadStrikeRunner,
LoadStrikeScenario,
LoadStrikeSimulation,
)
scenario = (
LoadStrikeScenario.empty("orders-realtime-reporting")
.with_load_simulations(
LoadStrikeSimulation.inject(20, 1, 120)
)
)
LoadStrikeRunner.register_scenarios(scenario) \
.with_reporting_interval(5) \
.load_infra_config("./observability/loadstrike-datadog-reporting-sink.json") \
.with_reporting_sinks(DatadogReportingSink()) \
.with_runner_key("rkl_your_local_runner_key") \
.run()
import {
DatadogReportingSink,
LoadStrikeRunner,
LoadStrikeScenario,
LoadStrikeSimulation
} from "@loadstrike/loadstrike-sdk";
const scenario = LoadStrikeScenario
.empty("orders-realtime-reporting")
.withLoadSimulations(
LoadStrikeSimulation.inject(20, 1, 120)
);
await LoadStrikeRunner
.registerScenarios(scenario)
.withReportingInterval(5)
.loadInfraConfig("./observability/loadstrike-datadog-reporting-sink.json")
.withReportingSinks(new DatadogReportingSink())
.withRunnerKey("rkl_your_local_runner_key")
.run();
const {
DatadogReportingSink,
LoadStrikeRunner,
LoadStrikeScenario,
LoadStrikeSimulation
} = require("@loadstrike/loadstrike-sdk");
const scenario = LoadStrikeScenario
.empty("orders-realtime-reporting")
.withLoadSimulations(
LoadStrikeSimulation.inject(20, 1, 120)
);
await LoadStrikeRunner
.registerScenarios(scenario)
.withReportingInterval(5)
.loadInfraConfig("./observability/loadstrike-datadog-reporting-sink.json")
.withReportingSinks(new DatadogReportingSink())
.withRunnerKey("rkl_your_local_runner_key")
.run();
Built-In Sink Export Model
LoadStrike emits realtime scenario statistics and projected metrics at the configured reporting interval.
Built-in sinks also receive final metric snapshots, started/completed timestamps, report-file metadata, disabled sink names, sink errors, and plugin-table rows when the run completes.
Missing sink values can bind from LoadStrike:ReportingSinks:* sections loaded through LoadInfraConfig(...).
Retry and backoff are applied to sink stages, and persistent sink failure disables only that sink for the run.
Built-in realtime sinks are available on Business and Enterprise plans. Custom sinks remain enterprise-only.
{
"LoadStrike": {
"ReportingIntervalMs": 5000,
"ReportingSinks": {
"Datadog": {
"BaseUrl": "https://api.datadoghq.com",
"ApiKey": "dd-api-key",
"ApplicationKey": "dd-app-key"
},
"InfluxDb": {
"BaseUrl": "https://influx.example.com",
"Bucket": "loadstrike-runs",
"MeasurementName": "loadstrike_events"
}
}
}
}
Shared Downloads
Use the shared assets below when you need the combined guide or the common Grafana dashboard provider file.
Observability asset guide
Combined guide for the built-in sink templates and Grafana starter assets.
Download fileDashboard provider YAML
Shared Grafana dashboard provider file used by the InfluxDB, TimescaleDB, and Grafana Loki starter dashboards.
Download file