@ccaffy - the two places where the perf markers are sent are:
Now, the thing needing testing here is that we ask libcurl for the current socket's IP address in order to get the list of addresses (which then @mpatrascoiu uses to determine IPv4-vs-IPv6). I do not know if, at the beginning or the end of the transfer, libcurl knows the primary data transfer socket yet. I suspect you might have some luck at the end of the transfer.
If libcurl doesn't persist this information, then you might have to query it in the write/read callback and cache it (which would be quite ugly in my opinion). That would correctly label in the cases of a transfer of >1 bytes.
Another, perhaps cleaner option, would be to utilize the open socket callback already used for the gstream monitoring (implemented by @abh3):
https://github.com/xrootd/xrootd/blame/master/src/XrdTpc/XrdTpcTPC.cc#L599
Given the callback is invoked for each HTTP server (including redirectors), you may end up with a sequence of servers and only the last is the one where you possibly transfer data.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.
Use REPLY-ALL to reply to list
To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1