DSynth is a template driven data generator. DSynth accepts templates of various formats, generates templated data and outputs the generated data into a configured sink[s]. DSynth also exposes an endpoint for each configured provider to allow for services to pull generated data when push is not supported. DSynth is very flexible and can easily be extended to support other template formats and sinks. Comes complete with API which allows control of DSynth, including the importing and exporting of profiles. DSynth also comes with out of the box support with Application Insights which can be paired with Grafana to provide rich visual telemetry.
- Azure Blob
- Azure Cosmos DB
- Azure Custom Logs
- Azure Event Hubs
- Azure IoT Hub
- Azure Log Analytics
- Azure Service Bus
- Console
- File
- Http
- SocketServer
- CSV
- JSON
- JSONL
- RAW
- XML
The project is "mostly" setup to run out of the box. After starting DSynth, you will see payloads in the format of CSV, JSON, XML and RAW written to console.
brew install mono-libgdiplus
sudo apt-get install libgdiplus
-- Run the following command appropriate for your environment --
(OSX)
cd DSynth
dotnet publish ./src/DSynth/DSynth.csproj --configuration Release --runtime osx-x64 --output ./release/osx-x64
cd release/osx-64
./DSynth
(Linux)
cd DSynth
dotnet publish ./src/DSynth/DSynth.csproj --configuration Release --runtime linux-x64 --output ./release/linux-x64
cd release/linux-64
./DSynth
(Windows)
cd DSynth
dotnet publish ./src/DSynth/DSynth.csproj --configuration Release --runtime win-x64 --output ./release/win-x64
cd release/win-64
./DSynth.exe
(Linux-ARM64)
cd DSynth
dotnet publish ./src/DSynth/DSynth.csproj --configuration Release --runtime linux-arm64 --output ./release/linux-arm64
cd release/linux-arm64
./DSynth
| Switch | Description |
|---|---|
| --headless | Starts DSynth in headless mode without the API |
The steps above will get DSynth running with default sample values. To explore further and create your own profiles and templates, please follow the links below.