• Dridi Boukelmoune's avatar
    vsl: Only collect candidate transactions · 8a9610c8
    Dridi Boukelmoune authored
    For high-throughput scenarios we might be collecting irrelevant
    transactions, especially sessions that are never buffered, and
    drastically increase the risk of overruns with long-running
    sessions (typically when varnishd is behind a load balancer or
    a TLS terminator that we can entrust with high client connection
    reuse).
    
    The -b and -c options have an effect on the output, which is way
    too late for such a setup. These options primarily work with the
    MSB backend and client markers but that is not enough to rule out
    sessions since they are marked as client transactions. The same
    goes for incomplete transactions for which we are lacking a Begin
    tag, that would still be ruled out at the output stage.
    
    We also need to collect irrelevant transactions for the sake of
    grouping, because even when we do not wish to output them we have
    to maintain the hierarchy.
    
    Therefore, we can identify candidate transactions early and not
    waste memory footprint and churn keeping track of transactions
    that would have no effect besides increasing the risk of overruns.
    8a9610c8
Name
Last commit
Last update
.circleci Loading commit data...
.github Loading commit data...
bin Loading commit data...
doc Loading commit data...
etc Loading commit data...
include Loading commit data...
lib Loading commit data...
m4 Loading commit data...
man Loading commit data...
tools Loading commit data...
vmod Loading commit data...
.dir-locals.el Loading commit data...
.gitignore Loading commit data...
.lgtm.yml Loading commit data...
.syntastic_c_config Loading commit data...
.travis.yml Loading commit data...
CONTRIBUTING Loading commit data...
ChangeLog Loading commit data...
INSTALL Loading commit data...
LICENSE Loading commit data...
Makefile.am Loading commit data...
README.Packaging Loading commit data...
README.rst Loading commit data...
autogen.des Loading commit data...
autogen.sh Loading commit data...
configure.ac Loading commit data...
flint.lnt Loading commit data...
varnish-legacy.m4 Loading commit data...
varnish.m4 Loading commit data...
varnishapi-uninstalled.pc.in Loading commit data...
varnishapi.pc.in Loading commit data...
vtc.am Loading commit data...