├── .DS_Store ├── .gitignore ├── LICENSE ├── README.md ├── bench-initializer ├── Dockerfile ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── sample │ │ └── BenchmarkInitializer.java │ └── resources │ └── logback.xml ├── cloud └── setup │ ├── bash-to-tfvars.py │ ├── clients.tf │ ├── cluster.tf │ ├── kubernetes.tf │ ├── outputs.tf │ ├── providers.tf │ └── variables.tf ├── destroy-cloud-env.sh ├── docker-compose-1-broker.yml ├── docker-compose-3-brokers.yml ├── docker-compose-kraft-3-brokers.yml ├── docker-compose-kraft.yml ├── docker-compose.yml ├── docker-kraft-run.sh ├── dotnet-producer ├── Dockerfile ├── Logger.cs ├── bench-producer.cs ├── benchmark.cs ├── benchmark.csproj └── utils.cs ├── golang-producer ├── .env ├── Dockerfile ├── config │ └── config.go ├── go.mod ├── go.sum ├── main.go ├── stats │ └── stats.go └── utils │ └── utils.go ├── grafana └── provisioning │ ├── dashboards │ ├── confluent-platform.json │ ├── dashboard.yml │ ├── kafka-cluster.json │ ├── kafka-producer.json │ ├── kafka-quotas.json │ ├── kafka-topics.json │ └── zookeeper-cluster.json │ └── datasources │ └── datasource.yml ├── java-producer ├── Dockerfile ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── sample │ │ ├── BenchmarkProducer.java │ │ └── Injector.java │ └── resources │ └── logback.xml ├── jmx-exporter ├── jmx_prometheus_javaagent-0.16.1.jar ├── kafka_broker.yml └── zookeeper.yml ├── prometheus └── prometheus-config │ ├── alert.rules │ └── prometheus.yml ├── python-producer ├── Dockerfile ├── benchmark-producer.py └── requirements.txt ├── report ├── Dockerfile ├── benchmark-report.ipynb ├── docker-compose.yml └── extract_results.py ├── run-jupiter.sh ├── run-scenario-cloud.sh ├── run-scenario.sh ├── run-scenarios-cloud.sh ├── run-scenarios.sh ├── rust-producer-sync ├── .dockerignore ├── .gitignore ├── Cargo.toml ├── Dockerfile └── src │ ├── config.rs │ ├── main.rs │ ├── stats.rs │ └── utils │ ├── collection_utils.rs │ ├── conversion_utils.rs │ ├── kafka_utils.rs │ └── mod.rs ├── scenario-100t6p-custom-batching-with-agg-per-topic.env ├── scenario-100t6p-custom-batching.env ├── scenario-1t6p-custom-batching.env ├── scenario-1t6p-java-defaults.env ├── scenario-1t6p-librdkafka-defaults.env └── utils.sh /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/.DS_Store -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/README.md -------------------------------------------------------------------------------- /bench-initializer/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/bench-initializer/Dockerfile -------------------------------------------------------------------------------- /bench-initializer/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/bench-initializer/pom.xml -------------------------------------------------------------------------------- /bench-initializer/src/main/java/com/sample/BenchmarkInitializer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/bench-initializer/src/main/java/com/sample/BenchmarkInitializer.java -------------------------------------------------------------------------------- /bench-initializer/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/bench-initializer/src/main/resources/logback.xml -------------------------------------------------------------------------------- /cloud/setup/bash-to-tfvars.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/cloud/setup/bash-to-tfvars.py -------------------------------------------------------------------------------- /cloud/setup/clients.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/cloud/setup/clients.tf -------------------------------------------------------------------------------- /cloud/setup/cluster.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/cloud/setup/cluster.tf -------------------------------------------------------------------------------- /cloud/setup/kubernetes.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/cloud/setup/kubernetes.tf -------------------------------------------------------------------------------- /cloud/setup/outputs.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/cloud/setup/outputs.tf -------------------------------------------------------------------------------- /cloud/setup/providers.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/cloud/setup/providers.tf -------------------------------------------------------------------------------- /cloud/setup/variables.tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/cloud/setup/variables.tf -------------------------------------------------------------------------------- /destroy-cloud-env.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/destroy-cloud-env.sh -------------------------------------------------------------------------------- /docker-compose-1-broker.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/docker-compose-1-broker.yml -------------------------------------------------------------------------------- /docker-compose-3-brokers.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/docker-compose-3-brokers.yml -------------------------------------------------------------------------------- /docker-compose-kraft-3-brokers.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/docker-compose-kraft-3-brokers.yml -------------------------------------------------------------------------------- /docker-compose-kraft.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/docker-compose-kraft.yml -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /docker-kraft-run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/docker-kraft-run.sh -------------------------------------------------------------------------------- /dotnet-producer/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/dotnet-producer/Dockerfile -------------------------------------------------------------------------------- /dotnet-producer/Logger.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/dotnet-producer/Logger.cs -------------------------------------------------------------------------------- /dotnet-producer/bench-producer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/dotnet-producer/bench-producer.cs -------------------------------------------------------------------------------- /dotnet-producer/benchmark.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/dotnet-producer/benchmark.cs -------------------------------------------------------------------------------- /dotnet-producer/benchmark.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/dotnet-producer/benchmark.csproj -------------------------------------------------------------------------------- /dotnet-producer/utils.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/dotnet-producer/utils.cs -------------------------------------------------------------------------------- /golang-producer/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/golang-producer/.env -------------------------------------------------------------------------------- /golang-producer/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/golang-producer/Dockerfile -------------------------------------------------------------------------------- /golang-producer/config/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/golang-producer/config/config.go -------------------------------------------------------------------------------- /golang-producer/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/golang-producer/go.mod -------------------------------------------------------------------------------- /golang-producer/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/golang-producer/go.sum -------------------------------------------------------------------------------- /golang-producer/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/golang-producer/main.go -------------------------------------------------------------------------------- /golang-producer/stats/stats.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/golang-producer/stats/stats.go -------------------------------------------------------------------------------- /golang-producer/utils/utils.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/golang-producer/utils/utils.go -------------------------------------------------------------------------------- /grafana/provisioning/dashboards/confluent-platform.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/grafana/provisioning/dashboards/confluent-platform.json -------------------------------------------------------------------------------- /grafana/provisioning/dashboards/dashboard.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/grafana/provisioning/dashboards/dashboard.yml -------------------------------------------------------------------------------- /grafana/provisioning/dashboards/kafka-cluster.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/grafana/provisioning/dashboards/kafka-cluster.json -------------------------------------------------------------------------------- /grafana/provisioning/dashboards/kafka-producer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/grafana/provisioning/dashboards/kafka-producer.json -------------------------------------------------------------------------------- /grafana/provisioning/dashboards/kafka-quotas.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/grafana/provisioning/dashboards/kafka-quotas.json -------------------------------------------------------------------------------- /grafana/provisioning/dashboards/kafka-topics.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/grafana/provisioning/dashboards/kafka-topics.json -------------------------------------------------------------------------------- /grafana/provisioning/dashboards/zookeeper-cluster.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/grafana/provisioning/dashboards/zookeeper-cluster.json -------------------------------------------------------------------------------- /grafana/provisioning/datasources/datasource.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/grafana/provisioning/datasources/datasource.yml -------------------------------------------------------------------------------- /java-producer/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/java-producer/Dockerfile -------------------------------------------------------------------------------- /java-producer/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/java-producer/pom.xml -------------------------------------------------------------------------------- /java-producer/src/main/java/com/sample/BenchmarkProducer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/java-producer/src/main/java/com/sample/BenchmarkProducer.java -------------------------------------------------------------------------------- /java-producer/src/main/java/com/sample/Injector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/java-producer/src/main/java/com/sample/Injector.java -------------------------------------------------------------------------------- /java-producer/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/java-producer/src/main/resources/logback.xml -------------------------------------------------------------------------------- /jmx-exporter/jmx_prometheus_javaagent-0.16.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/jmx-exporter/jmx_prometheus_javaagent-0.16.1.jar -------------------------------------------------------------------------------- /jmx-exporter/kafka_broker.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/jmx-exporter/kafka_broker.yml -------------------------------------------------------------------------------- /jmx-exporter/zookeeper.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/jmx-exporter/zookeeper.yml -------------------------------------------------------------------------------- /prometheus/prometheus-config/alert.rules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/prometheus/prometheus-config/alert.rules -------------------------------------------------------------------------------- /prometheus/prometheus-config/prometheus.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/prometheus/prometheus-config/prometheus.yml -------------------------------------------------------------------------------- /python-producer/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/python-producer/Dockerfile -------------------------------------------------------------------------------- /python-producer/benchmark-producer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/python-producer/benchmark-producer.py -------------------------------------------------------------------------------- /python-producer/requirements.txt: -------------------------------------------------------------------------------- 1 | confluent-kafka>=1.8.2 2 | watchdog>=2.0.2 -------------------------------------------------------------------------------- /report/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/report/Dockerfile -------------------------------------------------------------------------------- /report/benchmark-report.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/report/benchmark-report.ipynb -------------------------------------------------------------------------------- /report/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/report/docker-compose.yml -------------------------------------------------------------------------------- /report/extract_results.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/report/extract_results.py -------------------------------------------------------------------------------- /run-jupiter.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/run-jupiter.sh -------------------------------------------------------------------------------- /run-scenario-cloud.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/run-scenario-cloud.sh -------------------------------------------------------------------------------- /run-scenario.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/run-scenario.sh -------------------------------------------------------------------------------- /run-scenarios-cloud.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/run-scenarios-cloud.sh -------------------------------------------------------------------------------- /run-scenarios.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/run-scenarios.sh -------------------------------------------------------------------------------- /rust-producer-sync/.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/rust-producer-sync/.dockerignore -------------------------------------------------------------------------------- /rust-producer-sync/.gitignore: -------------------------------------------------------------------------------- 1 | Cargo.lock 2 | target 3 | -------------------------------------------------------------------------------- /rust-producer-sync/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/rust-producer-sync/Cargo.toml -------------------------------------------------------------------------------- /rust-producer-sync/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/rust-producer-sync/Dockerfile -------------------------------------------------------------------------------- /rust-producer-sync/src/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/rust-producer-sync/src/config.rs -------------------------------------------------------------------------------- /rust-producer-sync/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/rust-producer-sync/src/main.rs -------------------------------------------------------------------------------- /rust-producer-sync/src/stats.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/rust-producer-sync/src/stats.rs -------------------------------------------------------------------------------- /rust-producer-sync/src/utils/collection_utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/rust-producer-sync/src/utils/collection_utils.rs -------------------------------------------------------------------------------- /rust-producer-sync/src/utils/conversion_utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/rust-producer-sync/src/utils/conversion_utils.rs -------------------------------------------------------------------------------- /rust-producer-sync/src/utils/kafka_utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/rust-producer-sync/src/utils/kafka_utils.rs -------------------------------------------------------------------------------- /rust-producer-sync/src/utils/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/rust-producer-sync/src/utils/mod.rs -------------------------------------------------------------------------------- /scenario-100t6p-custom-batching-with-agg-per-topic.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/scenario-100t6p-custom-batching-with-agg-per-topic.env -------------------------------------------------------------------------------- /scenario-100t6p-custom-batching.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/scenario-100t6p-custom-batching.env -------------------------------------------------------------------------------- /scenario-1t6p-custom-batching.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/scenario-1t6p-custom-batching.env -------------------------------------------------------------------------------- /scenario-1t6p-java-defaults.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/scenario-1t6p-java-defaults.env -------------------------------------------------------------------------------- /scenario-1t6p-librdkafka-defaults.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/scenario-1t6p-librdkafka-defaults.env -------------------------------------------------------------------------------- /utils.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeanlouisboudart/kafka-producer-benchmark/HEAD/utils.sh --------------------------------------------------------------------------------