-
Notifications
You must be signed in to change notification settings - Fork 7
tcurl benchmark mode: sending a request many times #71
Conversation
logger: DebugLogtron('tcurl') | ||
}); | ||
|
||
var subChan = client.makeSubChannel({ | ||
self.subChannel = self.client.makeSubChannel({ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add subChannel as a nulled default property in the constructor.
I hope that these comments clarify the intent of the delegate object. The delegate stands in place of a callback as a collector of multiple errors or results instead of a single error or response. Totally a great tool for collecting results for the benchmark. There should just be one instead of two. |
That concludes my review. Looking forward to seeing this in master. |
What does the user experience look like? |
@@ -103,8 +104,32 @@ a tchannel service. It supports thrift, JSON, and raw request format. | |||
tcurl -p 127.0.0.1:8080 serviceName endpoint --timeout 1000 | |||
``` | |||
|
|||
`--shardKey` | |||
Ringpop only. Send ringpop shardKey transport header. | |||
`--rate value` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@blampe You can find the user experience documented here in the man page :)
I was using I suggest something like |
Very good point. hyperbahn ( https://github.com/uber/hyperbahn/blob/master/test/lib/time-series-cluster.js#L588-L620 ) has a results object including latencies and error rate. I think the expected use case is to send That's why we have a It should definitely stream results like telling us every M seconds what the success rate and latencies are. |
I have talked to @kriskowal, we agreed to use a separate delegate since the user case for benchmark is quite different. |
tcurl benchmark mode: sending a request many times
r @Raynos @kriskowal
cc @breerly
ref: #68