hedis
hedis copied to clipboard
Introducing hooks
This PR introduce hooks. These hooks hook sending requests and receiving responses.
Motivation
I am implementing an instrumentation of OpenTelemetry for Hedis. First I wrapped the Hedis functions to record for tracing, but it cause a lot of type mismatch because the original client and the wrappers have different types of course. So I want to use hooks to avoid this inconvenience.
Changes
ConnectInfohas a new fieldconnectHooksHookstype is introduced
Currently there are five types of hooks:
sendRequestsendPubSubcallbacksendreceive
sendRequest is called when a command is being sent. sendPubSub is called when a Pub/Sub message is being send. callback is called when a reaction to a Pub/Sub message is being called after receiving its message. send and receive are low-level hooks
Notes
A WIP implementation of the instrumentation of OpenTelemetry for Hedis is https://github.com/herp-inc/hs-opentelemetry/pull/15/.
@informatikr How about this? 🤔
@aravindgopall How about this?