Parse Net::LDAP::PDU when calling Net::LDAP::Connection#read, instrument PDU parsing #131
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR reduces the duplication by moving the PDU parsing into the
Net::LDAP::Connection#read
method and instruments PDU parsing to give more visibility into the messages being sent from the server.Should not result in any behavior change.
I believe this is along similar lines to #116, though not exactly the same.
For what it's worth, I looked at instrumenting the
Net::LDAP::PDU.new
method from the inside but there's no reference to theinstrumentation_service
object to service the instrumentation events (and I didn't want to go the route of a global default handler). This seemed like a good balance and a needed refactoring anyway.Done:
Net::LDAP::Connection#read
parse_pdu.net_ldap_connection
eventNet::LDAP::Connection#read
callsitesStill to do:
Many of the
read
callsites look like this:This should be cleaned up, and this PR is a good opportunity to do so.Done.cc @jch @schaary