@ccaffy - the two places where the perf markers are sent are: - https://github.com/xrootd/xrootd/blob/master/src/XrdTpc/XrdTpcTPC.cc#L599 - https://github.com/xrootd/xrootd/blob/master/src/XrdTpc/XrdTpcMultistream.cc#L325 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 or view it on GitHub: https://github.com/xrootd/xrootd/issues/1785#issuecomment-1256209272 You are receiving this because you are subscribed to this thread. Message ID: <[log in to unmask]> ######################################################################## 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