couchbaselabs / couchbaselabs/spectroperf
Separate sending of request from reading of responses
- Dominant language
- Go
- Stars
- 3
- Forks
- 2
- Avg merge
- 24m
- Merged PRs (30d)
- 5
Description
Currently spectroperf sends requests and waits for the response all in the same thread. This means that if a request takes 1 second to be serviced then we will wait one second longer than configured between sending requests and we run into a coordinated omission problem.
What we should actually do is have one thread send the requests at the configured interval and then have a separate thread wait on and process the response. This way even when latencies are high we won't see a drop in throughput.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the current request-send and response-wait loop, then trace how the configured interval and response processing are coordinated. Separate those responsibilities so requests continue at the configured interval while another execution path waits for and processes responses; done means high response latency no longer reduces request throughput or causes coordinated omission.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- performance, tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100