[ 
https://issues.apache.org/jira/browse/TS-2536?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14660874#comment-14660874
 ] 

Leif Hedstrom commented on TS-2536:
-----------------------------------

What we need here is an API that allows "body factory" style expansions via a 
plugin API. Give it a string (MIObuffer), with the log tags, and have it return 
a string (MIOBuffer) that is expanded.

> Performance improvements to VariableExpander in header_rewrite
> --------------------------------------------------------------
>
>                 Key: TS-2536
>                 URL: https://issues.apache.org/jira/browse/TS-2536
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Plugins
>            Reporter: Leif Hedstrom
>             Fix For: sometime
>
>
> It seems that VariableExpander gets instantiated and executed on every 
> add-header operator. However, this seems rather suboptimal for a number of 
> reasons:
> 1. It might not even be necessary (i.e. there might not be any %<> strings in 
> the "static" string.
> 2. Perhaps even more important, we look for these strings on every request, 
> even though if they are there, they would always be in the same position on 
> every request.
> One suggestion would be to incorporate the VariableExpander "state" as part 
> of parsing the configuration on startup / reload. Maybe it gets complicated 
> when there are other expansions, but it still feels we can pre-parse these 
> strings and get some ideas of what needs to be expanded once, and not on 
> every request.
> This is similar to how e.g. the regex_remap plugin works, it recalculates the 
> positions and expansion once only.
> Thoughts?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to