Skip to content

Instantly share code, notes, and snippets.

@MichaelDrogalis
Created December 15, 2023 23:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MichaelDrogalis/129311f9b1dbf2a9ea905764362d3c61 to your computer and use it in GitHub Desktop.
Save MichaelDrogalis/129311f9b1dbf2a9ea905764362d3c61 to your computer and use it in GitHub Desktop.
{
"generators": [
{
"topic": "flights",
"fork": {
"key": {
"_gen": "sequentialString",
"expr": "flight-~d"
},
"stagger": {"ms": 5000},
"maxForks": 5
},
"varsOnce": {
"src": {
"_gen": "oneOf",
"choices": [
[39.819527, -84.067406],
[40.641766, -73.780968],
[35.213890, -80.943054],
[41.978611, -87.904724],
[34.903271, -108.514519],
[42.907768, -77.318970],
[35.436077, -82.541298],
[32.848152, -96.851349],
[40.822773, -72.748634],
[27.979168, -82.539337],
[63.035789, -163.527863],
[40.199387, -112.937469],
[30.781055, -86.524994],
[33.656384, -101.821861],
[32.886677, -94.599251],
[43.128002, -77.665474],
[38.592724, -77.711441],
[32.731770, -117.197624],
[35.053238, -80.409195],
[36.131687, -86.668823],
[29.384344, -98.618645],
[47.443546, -122.301659],
[35.805813, -83.989815],
[60.567402, -151.246719],
[33.420696, -82.152374],
[37.363949, -121.928940],
[33.640411, -84.419853],
[35.617500, -106.088333],
[45.719906, -87.094070]]
},
"dst": {
"_gen": "oneOf",
"choices": [
[39.053276, -84.663017],
[32.732346, -117.196053],
[33.457439, -111.727386],
[33.678925, -117.862869],
[37.615223, -122.389977],
[32.015644, -81.143127],
[33.942791, -118.410042],
[38.272118, -121.939857],
[36.213257, -115.194572],
[44.871201, -73.286491],
[36.086010, -115.153969],
[39.849312, -104.673828],
[42.905575, -112.588776],
[33.257923, -116.321014],
[35.660957, -95.359558],
[63.889515, -160.799927],
[36.264206, -93.154961],
[37.030792, -113.508987],
[42.949890, -87.900414],
[42.365589, -71.010025],
[35.040031, -89.981873],
[37.225136, -89.569305],
[32.897480, -97.040443],
[34.914547, -92.142914],
[29.080168, -81.046669],
[33.975777, -83.963097]]
},
"scheme": {
"_gen": "geospatialPathScheme",
"src": {"_gen": "var", "var": "src"},
"dst": {"_gen": "var", "var": "dst"},
"speed": 500,
"scale": 0.025
},
"flightMs": {
"_gen": "multiply",
"args": [
3600000,
{
"_gen": "var",
"var": "scheme",
"path": [ "time" ]
}
]
}
},
"value": {
"flightId": {"_gen": "var", "var": "forkKey"}
},
"stateMachine": {
"_gen": "stateMachine",
"initial": "fly",
"transitions": {"fly": "fly"},
"states": {
"fly": {
"value": {
"location": {
"_gen": "geospatialPath",
"src": { "_gen": "var", "var": "src" },
"dst": { "_gen": "var", "var": "dst" },
"stepSize": {
"_gen": "var",
"var": "scheme",
"path": [ "stepSize" ]
}
}
}
}
}
},
"localConfigs": {
"throttle": {
"ms": {
"_gen": "divide",
"args": [
{"_gen": "var", "var": "flightMs"},
{"_gen": "var", "var": "scheme", "path": [ "points" ]}
]
}
},
"events": {"exactly": {"_gen": "var", "var": "scheme", "path": [ "points" ]}}
}
}
],
"connections": {
"kafka": {
"kind": "kafka",
"producerConfigs": {
"bootstrap.servers": "localhost:9092",
"key.serializer": "io.shadowtraffic.kafka.serdes.JsonSerializer",
"value.serializer": "io.shadowtraffic.kafka.serdes.JsonSerializer"
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment