[Java SDK] Add Performance Benchmarks for Java SDK
- Dominant language
- Rust
- Stars
- 4.9k
- Forks
- 432
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 174
Description
### Title
Implement JMH performance benchmarks for blocking and async clients
### Description
The Java SDK lacks performance benchmarks to measure throughput, latency, and resource usage. We need standardized benchmarks to track performance over time and compare different client implementations.
### Tasks
- [ ] Set up JMH (Java Microbenchmark Harness) in the project
- [ ] Create benchmarks for message operations:
- [ ] Single message send latency
- [ ] Batch message send throughput
- [ ] Message polling throughput
- [ ] End-to-end latency (send + poll)
- [ ] Create benchmarks for management operations:
- [ ] Stream/topic creation
- [ ] Consumer group operations
- [ ] Compare performance:
- [ ] Blocking vs Async clients
- [ ] TCP vs HTTP transports
- [ ] Different message sizes (1KB, 10KB, 100KB, 1MB)
- [ ] Different batch sizes (1, 10, 100, 1000 messages)
- [ ] Add performance regression detection to CI
### Labels
`enhancement`, `performance`, `testing`, `java-sdk`
Contributor guide
Research direction
Start by locating the Java SDK's blocking and async clients, the TCP and HTTP transports, and the CI configuration before evaluating the JMH setup. Done means benchmarks cover the listed message and management operations, comparisons, message and batch sizes, and performance regression detection in CI.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- performance, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100