Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Redis::Client#call_pipelined #1

Open
pietern opened this issue Mar 11, 2013 · 4 comments
Open

Redis::Client#call_pipelined #1

pietern opened this issue Mar 11, 2013 · 4 comments

Comments

@pietern
Copy link

pietern commented Mar 11, 2013

Pipelined calls are not instrumented. I just glanced over the code to see how you instrumented Redis and found this. I'm not familiar enough with the project to whip up a quick pull request, my apologies.

@dewski
Copy link
Member

dewski commented Mar 11, 2013

This was something I wanted to address, thanks for making an issue. I see you had some commits on the pipeline code over at redis/redis-rb. Since you have some familiarity already, where would the best place to hook into each command that gets executed through the pipeline? As you can see the code just uses alias_method_chain to catch the call method. I'll take a look myself as well.

@dewski
Copy link
Member

dewski commented Mar 11, 2013

As you mentioned, there is Redis::Client#call_pipelined but that doesn't look like it captures each individual command. It ends up calling connection.write(command) in Redis::Client#io. Maybe that's where it has to be tracked.

@pietern
Copy link
Author

pietern commented Mar 11, 2013

The best place would be #call_pipelined. It takes an array of commands that can drive the command counter. Timing of pipelines is radically different from timing individual commands because of the included round trips, so it might give skewed information (many commands / short time vs few commands / long time). Maybe this is something to split out as a different status.

@dewski
Copy link
Member

dewski commented Mar 11, 2013

Good to know, thanks for the info on that. I'll cc you in the PR so you can check it out. 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants