Run Modes
Choose between generated traffic correlation and observing existing traffic.
GenerateAndCorrelate
LoadStrike produces source events and tracks destination outcomes.
CorrelateExistingTraffic
Both source and destination are consumed from existing flows.
Feature Usage Samples
How to use snippets for Run Modes.
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.
Run Modes
var generateAndCorrelate = new CrossPlatformTrackingConfiguration
{
Source = new HttpEndpointDefinition
{
Name = "orders-api",
Mode = TrafficEndpointMode.Produce,
TrackingField = TrackingFieldSelector.Parse("header:X-Correlation-Id"),
Url = "https://orders.example.com/api/orders",
Method = "POST"
},
Destination = new KafkaEndpointDefinition
{
Name = "orders-events",
Mode = TrafficEndpointMode.Consume,
TrackingField = TrackingFieldSelector.Parse("header:X-Correlation-Id"),
BootstrapServers = "localhost:9092",
Topic = "orders.completed",
ConsumerGroupId = "orders-tests"
},
RunMode = TrackingRunMode.GenerateAndCorrelate
};
var correlateExistingTraffic = new CrossPlatformTrackingConfiguration
{
Source = new KafkaEndpointDefinition
{
Name = "orders-inbound",
Mode = TrafficEndpointMode.Consume,
TrackingField = TrackingFieldSelector.Parse("json:$.trackingId"),
BootstrapServers = "localhost:9092",
Topic = "orders.inbound",
ConsumerGroupId = "orders-inbound-tests"
},
Destination = new KafkaEndpointDefinition
{
Name = "orders-events",
Mode = TrafficEndpointMode.Consume,
TrackingField = TrackingFieldSelector.Parse("header:X-Correlation-Id"),
BootstrapServers = "localhost:9092",
Topic = "orders.completed",
ConsumerGroupId = "orders-tests"
},
RunMode = TrackingRunMode.CorrelateExistingTraffic
};
import com.loadstrike.runtime.CrossPlatformTrackingConfiguration;
import com.loadstrike.runtime.HttpEndpointDefinition;
import com.loadstrike.runtime.KafkaEndpointDefinition;
import com.loadstrike.runtime.LoadStrikeCorrelation.TrackingFieldSelector;
import com.loadstrike.runtime.LoadStrikeTransports;
var generateAndCorrelate = new CrossPlatformTrackingConfiguration();
generateAndCorrelate.source = new HttpEndpointDefinition();
generateAndCorrelate.source.name = "orders-api";
generateAndCorrelate.source.mode = LoadStrikeTransports.TrafficEndpointMode.Produce;
generateAndCorrelate.source.trackingField = TrackingFieldSelector.parse("header:X-Correlation-Id");
generateAndCorrelate.source.url = "https://orders.example.com/api/orders";
generateAndCorrelate.source.method = "POST";
generateAndCorrelate.destination = new KafkaEndpointDefinition();
generateAndCorrelate.destination.name = "orders-events";
generateAndCorrelate.destination.mode = LoadStrikeTransports.TrafficEndpointMode.Consume;
generateAndCorrelate.destination.trackingField = TrackingFieldSelector.parse("header:X-Correlation-Id");
generateAndCorrelate.destination.bootstrapServers = "localhost:9092";
generateAndCorrelate.destination.topic = "orders.completed";
generateAndCorrelate.destination.consumerGroupId = "orders-tests";
generateAndCorrelate.runMode = LoadStrikeTransports.TrackingRunMode.GenerateAndCorrelate;
var correlateExistingTraffic = new CrossPlatformTrackingConfiguration();
correlateExistingTraffic.source = new KafkaEndpointDefinition();
correlateExistingTraffic.source.name = "orders-inbound";
correlateExistingTraffic.source.mode = LoadStrikeTransports.TrafficEndpointMode.Consume;
correlateExistingTraffic.source.trackingField = TrackingFieldSelector.parse("json:$.trackingId");
correlateExistingTraffic.source.bootstrapServers = "localhost:9092";
correlateExistingTraffic.source.topic = "orders.inbound";
correlateExistingTraffic.source.consumerGroupId = "orders-inbound-tests";
correlateExistingTraffic.destination = generateAndCorrelate.destination;
correlateExistingTraffic.runMode = LoadStrikeTransports.TrackingRunMode.CorrelateExistingTraffic;
generate_and_correlate = {
"Source": {
"Kind": "Http",
"Name": "orders-api",
"Mode": "Produce",
"TrackingField": "header:X-Correlation-Id",
"Url": "https://orders.example.com/api/orders",
"Method": "POST",
},
"Destination": {
"Kind": "Kafka",
"Name": "orders-events",
"Mode": "Consume",
"TrackingField": "header:X-Correlation-Id",
"BootstrapServers": "localhost:9092",
"Topic": "orders.completed",
"ConsumerGroupId": "orders-tests",
},
"RunMode": "GenerateAndCorrelate",
}
correlate_existing_traffic = {
"Source": {
"Kind": "Kafka",
"Name": "orders-inbound",
"Mode": "Consume",
"TrackingField": "json:$.trackingId",
"BootstrapServers": "localhost:9092",
"Topic": "orders.inbound",
"ConsumerGroupId": "orders-inbound-tests",
},
"Destination": generate_and_correlate["Destination"],
"RunMode": "CorrelateExistingTraffic",
}
const generateAndCorrelate = {
Source: {
Kind: "Http",
Name: "orders-api",
Mode: "Produce",
TrackingField: "header:X-Correlation-Id",
Url: "https://orders.example.com/api/orders",
Method: "POST"
},
Destination: {
Kind: "Kafka",
Name: "orders-events",
Mode: "Consume",
TrackingField: "header:X-Correlation-Id",
BootstrapServers: "localhost:9092",
Topic: "orders.completed",
ConsumerGroupId: "orders-tests"
},
RunMode: "GenerateAndCorrelate"
};
const correlateExistingTraffic = {
Source: {
Kind: "Kafka",
Name: "orders-inbound",
Mode: "Consume",
TrackingField: "json:$.trackingId",
BootstrapServers: "localhost:9092",
Topic: "orders.inbound",
ConsumerGroupId: "orders-inbound-tests"
},
Destination: generateAndCorrelate.Destination,
RunMode: "CorrelateExistingTraffic"
};
const generateAndCorrelate = {
Source: {
Kind: "Http",
Name: "orders-api",
Mode: "Produce",
TrackingField: "header:X-Correlation-Id",
Url: "https://orders.example.com/api/orders",
Method: "POST"
},
Destination: {
Kind: "Kafka",
Name: "orders-events",
Mode: "Consume",
TrackingField: "header:X-Correlation-Id",
BootstrapServers: "localhost:9092",
Topic: "orders.completed",
ConsumerGroupId: "orders-tests"
},
RunMode: "GenerateAndCorrelate"
};
const correlateExistingTraffic = {
Source: {
Kind: "Kafka",
Name: "orders-inbound",
Mode: "Consume",
TrackingField: "json:$.trackingId",
BootstrapServers: "localhost:9092",
Topic: "orders.inbound",
ConsumerGroupId: "orders-inbound-tests"
},
Destination: generateAndCorrelate.Destination,
RunMode: "CorrelateExistingTraffic"
};
Mode Meaning
GenerateAndCorrelate
Produce source traffic from LoadStrike and then match the resulting destination events.
CorrelateExistingTraffic
Observe both sides of an already-running flow and match source and destination activity without producing the source event yourself.