Sudheer Vinukonda created TS-4291: ------------------------------------- Summary: Custom log field {{pqhl}} should not count internal headers. Key: TS-4291 URL: https://issues.apache.org/jira/browse/TS-4291 Project: Traffic Server Issue Type: Bug Components: Logging Reporter: Sudheer Vinukonda
[~zwoop] suggested to add a simple API (not necessarily exposed to plugins at the moment), to count the length of @-custom headers and deduct that when reporting {{pqhl}} IRC discussion below. {code} oag 7:55 If anyone is around who is familiar with the @-headers trick, I have a question: 7:55 I have observed that @custom-header in an outgoing request changes the value of the pqhl log field, even though the header is never actually sent. 7:55 This is true in 5.3.1. Does anyone know if this as been changed in 6.x.x ? 7:55 Would like it if pqhl was an accurate reflection of data to the origin server. 7:55 (pqhl + pqbl that is.) zwoop 7:55 oag I'm pretty sure that is intended, if you don't want it there, why not add it to another header ? 7:55 the way it works is that it "filters" out the @ header before sending, and returning, headers 7:55 (afaik) 7:55 entirely possible I'm wrong too, but that was my impression from before. *** 7:55 Playback Complete. 7:57 esproul [~ad...@static-108-48-124-82.washdc.fios.verizon.net] entered the room. sudheerv 8:07 zwoop: oag: umm..interesting, like zwoop said while it is intentional that @-custom headers are meant never to be leaked outside, the pqhl adding the @-headers seems like not something desirable 8:08 i'd be okay if we agree to not add it to pqhl 8:08 pqhl The proxy request header length; the header length in Traffic Server’s request to the origin server. 8:09 given that pqhl is defined as the header length in the outbound request 8:09 adding @-headers to it seems inconsistent/inaccurate 8:10 as a matter of fact, i use @headers pretty "heavily" in our products..but, don't enable pqhl 8:10 (at the moment anyway) zwoop 8:15 sudheerv but that sets a poor precedence. You want to exclude @ headers from pqhl, but not the other 3 internal header log tags that we have ? zwoop 8:16 One very important feature of the @-headers is to be able to log internal (plugin generated) information in our custom logs sudheerv 8:16 zwoop: but, pqhl is just the length of the outgoing headers? zwoop 8:16 ah sudheerv 8:16 i haven't looked at in detail, but, excluding @ headers ( and the other intenral headers) zwoop 8:16 in bytes ? sudheerv 8:16 from pqhl 8:16 will it mess up the log fields? 8:16 yeah zwoop 8:16 I thought it was the request header object. 8:16 Yeah, I don't know sudheerv 8:17 yeah, worth double checking - when the wise man complains :) zwoop 8:17 maybe you'd have to keep two lengths then, one with, and one without the @ headers ? sudheerv 8:17 but, yeah, i'd not want to exclude the headers from log fields 8:17 just the length 8:17 sure, yeah unless it's already computing them in one place zwoop 8:17 m_proxy_request->length_get() sudheerv 8:17 where it'd be easier to exclude them - need ot check that part of the code 8:17 ah, ok 8:19 so, would you be okay to modify pqhl (lenght in bytes) to exclude the internal headers? zwoop 8:19 http://pastebin.com/svwPmaa0 8:19 looks like it counts the size of the "blocks" used, and not individual header. It'd likely get much, much more expensive if you have to walk through every header value. 8:21 actually, maybe it does count it individually, cause it calls mime_field_length_get(MIMEField *field) sudheerv 8:21 yeah zwoop 8:22 But regardless, I'd be concerned that this might break other behavior internally, so at a minimum, you'd want this exclusion only for a log tag. And even so, since it's incompatible, etiher for v7.0.0, or as a separate log tag sudheerv 8:22 and it does it each time lenght_get() is called? zwoop 8:22 looks like it sudheerv 8:22 umm..ok - yeah, may be, we just live with it then :) 8:22 we can update the docs though 8:23 oag: may be, you could help with that :) zwoop 8:23 this is probably a huge can of worm :) sudheerv 8:23 agree zwoop 8:23 i'm not touching it :) sudheerv 8:24 lol, although, i wasn't going to change the mime_hdr_lenght_get() for general API usage 8:24 only the pqhl part 8:24 for e.g. add another version of mime_hdr_lenght_get() 8:24 and use that for loggin 8:24 but, i agree - may be it's not worth touching this can zwoop 8:25 maybe another option would be to have a new tag showing the (various) sizes of @-headers only? 8:25 Then you can do the subtraction sudheerv 8:25 yeah that sounds reasonable 8:25 actually, even cleaner 8:25 someone can just get the lenght of @headers if he wants zwoop 8:26 right sudheerv 8:26 and the logging part can show the delta zwoop 8:26 yeah, logs_xml.config supports "math" I think 8:26 psp [~Adium@207.38.47.126] entered the room. sudheerv 8:26 yeah, or we can even fix the pqhl if it's acceptable 8:26 as it stands right now, it seems to not match its' definition zwoop 8:26 although, with jpeach's work on the Lua metrics, maybe we can get Lua "logs configs" for 7.x :) sudheerv 8:26 http://trafficserver.readthedocs.org/en/latest/admin-guide/monitoring/logging/log-formats.en.html 8:26 qhl The proxy request header length; the header length in Traffic Server’s request to the origin server. 8:27 cool zwoop 8:28 Oh, looks like the "subtraction" feature is only on the milestone tag ? 8:28 {Milestone field name1-Milestone field name2}msdms 8:28 that's unfortunate, it'd be nice to generalize that sudheerv 8:28 huh, how's that? 8:28 yeah, would have thought it's generic 8:28 we do have some aggregate operators? 8:28 like avg, count etc {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)