You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a customer uses the HTTPClient library for their external requests, they do not see the headers for the requests in the logs, but instead the human-readable representation of the object.
The content following the colon should be a list of headers.
The DistributedTracer#log_request_headers method is responsible for logging this line of code. It expects the first argument, headers will always be an interpolatable value that includes the header values.
This method is invoked by ExternalRequestSegment#add_request_headers, which calls DistributedTracer#insert_headers with the request object as an argument, followed by DistributedTracer#log_request_headers.
DistributedTracer#insert_headers uses the argument it receives from ExternalRequestSegment#add_request_headers for multiple method calls:
insert_trace_context_headers
insert_distributed_trace_header
insert_cross_app_header
log_request_headers
It's unclear if these method calls are silently failing when the external request is an HTTPClientRequest.
Acceptance Criteria
Logged headers for HTTPClientRequest objects are the headers and not the human-readable representation of the HTTPClientRequest object
All HTTP client libraries have their headers correctly logged
Methods called in DistributedTracer#insert_headers are able to do what they need to with the header argument for each external request library (make sure there aren't silent failures happening when other DT headers are getting added)
The text was updated successfully, but these errors were encountered:
When a customer uses the HTTPClient library for their external requests, they do not see the headers for the requests in the logs, but instead the human-readable representation of the object.
Example:
OUTGOING REQUEST HEADERS: #<NewRelic::Agent::HTTPClients::HTTPClientRequest:0x00007fd0dda983e0>
The content following the colon should be a list of headers.
The
DistributedTracer#log_request_headers
method is responsible for logging this line of code. It expects the first argument,headers
will always be an interpolatable value that includes the header values.This method is invoked by
ExternalRequestSegment#add_request_headers
, which callsDistributedTracer#insert_headers
with the request object as an argument, followed byDistributedTracer#log_request_headers
.DistributedTracer#insert_headers
uses the argument it receives fromExternalRequestSegment#add_request_headers
for multiple method calls:It's unclear if these method calls are silently failing when the external request is an HTTPClientRequest.
Acceptance Criteria
DistributedTracer#insert_headers
are able to do what they need to with the header argument for each external request library (make sure there aren't silent failures happening when other DT headers are getting added)The text was updated successfully, but these errors were encountered: