]>
err.no Git - varnish/log
des [Thu, 12 Jul 2007 16:02:47 +0000 (16:02 +0000)]
Add missing semicolon.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1677
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 12 Jul 2007 16:00:04 +0000 (16:00 +0000)]
RT_LIBS dependency has moved from varnishd to libvarnish.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1676
d4fa192b -c00b-0410-8231-
f00ffab90ce4
cecilihf [Thu, 12 Jul 2007 10:27:37 +0000 (10:27 +0000)]
Fixed typo
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1675
d4fa192b -c00b-0410-8231-
f00ffab90ce4
cecilihf [Thu, 12 Jul 2007 10:20:33 +0000 (10:20 +0000)]
Added a new cli option, status, for checking the status of the varnish child process. This is for use in the webmin plugin.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1674
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Thu, 12 Jul 2007 10:13:29 +0000 (10:13 +0000)]
Convert the last time(2) calls to TIM_real()
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1673
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Thu, 12 Jul 2007 10:00:13 +0000 (10:00 +0000)]
Document timescale of srcaddr->ttl
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1672
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Thu, 12 Jul 2007 09:49:26 +0000 (09:49 +0000)]
Change all timekeeping to use doubles instead of time_t and struct timespec.
Eliminate all direct calls to time(2) and clockgettime(2) and use TIM_real()
and TIM_mono() exclusively.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1671
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Thu, 12 Jul 2007 09:25:45 +0000 (09:25 +0000)]
Replace Uptime() with TIM_mono()
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1670
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Thu, 12 Jul 2007 09:25:07 +0000 (09:25 +0000)]
Replace ev_now() with TIM_mono().
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1669
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Thu, 12 Jul 2007 09:04:54 +0000 (09:04 +0000)]
Add TIM_mono() and TIM_real() which return double representations of
timestamps on a monotonic and the UTC timescales respectively.
Doubles are much more convenient than timespecs for comparisons etc.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1668
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 10 Jul 2007 21:30:47 +0000 (21:30 +0000)]
Add "regsub" support for string manipulation.
Notice this facility is subject to change!
"regsub" is short for regular expression substitution and it is probably
easiest to explain with some examples:
sub vcl_recv {
set req.url = regsub(req.url, "#.*", "");
}
This will replace the requests URL with the output of the regsub() function
regsub() takes three arguments: the string to be examined, a regular
expression and a replacement string.
In this case, everything after the first '#' is removed (replaced
with nothing).
The replacement string recognizes the following magic sequences:
& - insert everything matched by the regexp
$0 - ditto.
$1 - replace with the first submatch of the regexp
$2 - replace with the second submatch of the regexp
...
$9 - replace with the ninth submatch of the regexp
(The $0..$9 syntax was chosen over the \0...\9 syntax in order to avoid
a nightmare of escape characters in the VCL source code. Arguments and
suggestions are welcome).
A more advanced example:
set bereq.http.ClientIP = regsub(client.ip, "(.*):(.*)", "$2 $1");
The client.ip variable expands to IP:port number, for instance
127.0.0.1:54662
The regular expression "(.*):(.*)" results in the the following matches:
& + $0 "127.0.0.1:54662"
$1 "127.0.0.1"
$2 "54662"
So the replacement string "$2 $1" results in "54662 127.0.0.1"
And the completed header which is sent to the backend will look like:
"ClientIP: 54662 127.0.0.1"
An even more advanced example would be:
set bereq.http.magic = "Client IP = " regsub(client.ip, ":", " port = ");
Where we also exploint the string concatenation ability of the "set" statement.
The result string is built in the request workspace, so you may need
to increase the workspace size if you do a lot of regsub()'s.
Currently there is no decent error handling for running out of workspace.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1667
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 10 Jul 2007 20:43:24 +0000 (20:43 +0000)]
Add compiler side support for regsub() but only a dummy function in VRT.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1666
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 10 Jul 2007 20:08:39 +0000 (20:08 +0000)]
Fix VRT_SetHdr() prototype
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1665
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 10 Jul 2007 20:07:07 +0000 (20:07 +0000)]
Properly emit the header name in VRT_SetHdr();
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1664
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 10 Jul 2007 19:59:39 +0000 (19:59 +0000)]
Add conversion from IP to string format to allow things like:
set bereq.http.HeyYou = client.ip " asked for " req.url;
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1663
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 10 Jul 2007 19:46:16 +0000 (19:46 +0000)]
Move string stuff to vcc_string.c, there's going to be a fair bit of it.
Give vcc_StringVal() a return value to say if it did anything so we can
emit better error messages when confused.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1662
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 9 Jul 2007 20:35:20 +0000 (20:35 +0000)]
Allow assignment to obj.status and resp.status
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1661
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 9 Jul 2007 20:34:59 +0000 (20:34 +0000)]
Allow assignment to INT type variables
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1660
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 9 Jul 2007 20:23:41 +0000 (20:23 +0000)]
Make all protocol header fields writable, except obj.status and resp.status
(which are numeric, they'll follow shortly)
Unify the shmemlog tag used for failure to rewrite something, the Rx/Tx/Obj
distinction is not helpful enough to warrant the complexity of it.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1659
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Fri, 6 Jul 2007 10:07:30 +0000 (10:07 +0000)]
Don't rewrite pipe'ed requests to "GET".
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1658
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Thu, 5 Jul 2007 21:08:15 +0000 (21:08 +0000)]
Clean up FlexeLint fluff.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1657
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 5 Jul 2007 16:09:45 +0000 (16:09 +0000)]
Change log for 1.1.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1654
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 5 Jul 2007 15:31:25 +0000 (15:31 +0000)]
Document the -F option (introduced in r1557)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1653
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 5 Jul 2007 14:54:50 +0000 (14:54 +0000)]
Add a CSS stylesheet.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1652
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 5 Jul 2007 14:28:48 +0000 (14:28 +0000)]
Document server.ip.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1651
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 5 Jul 2007 11:28:09 +0000 (11:28 +0000)]
Document header rewriting.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1648
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 5 Jul 2007 10:30:49 +0000 (10:30 +0000)]
Document the prerequisites
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1647
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Thu, 5 Jul 2007 09:47:52 +0000 (09:47 +0000)]
Implement setting of HTTP headers:
sub vcl_deliver {
set resp.http.phk = "Beastie" "Rules";
}
Would result in a new header line:
phk: BeastieRules
Notice that strings are concatenated directly, you add spaces, commas etc
where you want them.
Other variables which have STRING format (or which can be converted to
STRING format) can also be used:
sub vcl_deliver {
set resp.http.phk = "Server is: " resp.http.server ;
}
Could result in:
phk: Server is: Apache/1.3.x LaHonda (Unix)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1646
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Thu, 5 Jul 2007 09:16:19 +0000 (09:16 +0000)]
Add support for removing HTTP header lines:
sub vcl_deliver {
remove resp.http.etag ;
remove resp.http.server ;
}
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1645
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Thu, 5 Jul 2007 08:42:08 +0000 (08:42 +0000)]
Make varnishd actually work again after my last commit: Forgot to adjust
default VCL
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1644
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Wed, 4 Jul 2007 14:30:22 +0000 (14:30 +0000)]
The beginnings of "Inside the Varnish HTTP accelerator"
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1643
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Wed, 4 Jul 2007 14:28:57 +0000 (14:28 +0000)]
Implement <variablelist>, <filename> and <function>.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1642
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Wed, 4 Jul 2007 13:15:32 +0000 (13:15 +0000)]
Replace the old C fetcher with a Perl script which recursively retrieves the
specified URLs using multiple paralell clients.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1641
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 3 Jul 2007 22:24:09 +0000 (22:24 +0000)]
Implement vcl_deliver() and change variable visibility to match.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1640
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 3 Jul 2007 22:00:26 +0000 (22:00 +0000)]
Run FlexeLint to catch fluff.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1639
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 3 Jul 2007 21:50:31 +0000 (21:50 +0000)]
Move the header-filtering another step backwards, so it comes before
the VCL methods vcl_miss and vcl_pass.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1638
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 3 Jul 2007 21:40:14 +0000 (21:40 +0000)]
Use sp->bereq for handover to PipeSession
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1637
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 3 Jul 2007 21:38:32 +0000 (21:38 +0000)]
Do correct LostHeader processing on WS_Alloc() failure
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1636
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 3 Jul 2007 21:31:25 +0000 (21:31 +0000)]
Fix the SHMlogging of HTTP protocol fields to happen when they cross
wires, rather than when they get manipulated in memory.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1635
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 3 Jul 2007 20:59:27 +0000 (20:59 +0000)]
Move bereq backwards into cache_center.c for Fetch cases (Pass, Miss)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1634
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 3 Jul 2007 20:49:42 +0000 (20:49 +0000)]
Move VCL_pipe_method() processing into cache_center.c where it belongs.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1633
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 3 Jul 2007 20:38:38 +0000 (20:38 +0000)]
Emply the new vbe_bereq structure for holding backend request and reply.
There should be no functional change as a result of this.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1632
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 3 Jul 2007 19:32:21 +0000 (19:32 +0000)]
Add functions for allocating and freeing bereq structures.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1631
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 3 Jul 2007 14:19:40 +0000 (14:19 +0000)]
Implement "now" and "obj.lastuse", with a note to the effect that the use
of timestamps and clock_gettime() throughout Varnish needs reviewing (as
per IRC discussion with phk)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1630
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 3 Jul 2007 14:18:24 +0000 (14:18 +0000)]
Regenerate.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1629
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 3 Jul 2007 14:17:28 +0000 (14:17 +0000)]
Add two VCL variables, "now" and "obj.lastuse". The former returns the
current time, the latter returns the number of seconds since an object
was last requested. The exact semantics of both are slightly fluid at
the moment, and will be revisited at a later date.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1628
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 3 Jul 2007 12:22:42 +0000 (12:22 +0000)]
Document vcl.show.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1627
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 3 Jul 2007 12:21:50 +0000 (12:21 +0000)]
Add a 'vcl.show' command which displays the source code for a given VCL
script.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1626
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 3 Jul 2007 11:34:16 +0000 (11:34 +0000)]
Additional paranoia.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1625
d4fa192b -c00b-0410-8231-
f00ffab90ce4
cecilihf [Tue, 3 Jul 2007 09:20:50 +0000 (09:20 +0000)]
Use strcmp instead of strncmp
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1624
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 3 Jul 2007 09:09:55 +0000 (09:09 +0000)]
Reorganize the code a little, and add code to wait for all threads to finish
processing pending messages before we exit.
Note that VSL_Dispatch() will read in log data as fast as it can, so when
working from a log file, varnishreplay will usually read in the entire file
into memory within the first few seconds.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1623
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 3 Jul 2007 08:50:34 +0000 (08:50 +0000)]
Convert pipe mode to use the bereq in struct worker.
(See architect notes on wiki for reasoning)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1622
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 3 Jul 2007 08:11:17 +0000 (08:11 +0000)]
Rename the backend connections two http's "bereq" and "beresp"
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1621
d4fa192b -c00b-0410-8231-
f00ffab90ce4
cecilihf [Tue, 3 Jul 2007 08:07:09 +0000 (08:07 +0000)]
parellising varnishreplay. Work in progress.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1620
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 2 Jul 2007 17:30:03 +0000 (17:30 +0000)]
Also reset the workspaces when we do not reuse the backend connection,
we still reuse the structure.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1619
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 2 Jul 2007 13:30:06 +0000 (13:30 +0000)]
Improve assignments a bit
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1618
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 2 Jul 2007 13:28:03 +0000 (13:28 +0000)]
Generate correct code for bereq.http and obj.http
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1617
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 2 Jul 2007 13:22:36 +0000 (13:22 +0000)]
Update the list of variables in accordance with the new scheme.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1616
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Mon, 2 Jul 2007 13:18:03 +0000 (13:18 +0000)]
Adjust props.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1615
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Mon, 2 Jul 2007 13:16:28 +0000 (13:16 +0000)]
Adjust props
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1614
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Mon, 2 Jul 2007 13:16:04 +0000 (13:16 +0000)]
Update to reflect the latest changes to cache_center.c.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1613
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 2 Jul 2007 13:08:07 +0000 (13:08 +0000)]
Add vcl_deliver() method where touch-up's to the returned reply can
be performed.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1612
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Mon, 2 Jul 2007 12:33:22 +0000 (12:33 +0000)]
Update the embedded dot-graph to include request/object visibility in
the various VCL methods.
Loose the state names, they're obvious in the source code.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1611
d4fa192b -c00b-0410-8231-
f00ffab90ce4
cecilihf [Mon, 2 Jul 2007 12:01:55 +0000 (12:01 +0000)]
Fixed some number conversion issues
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1610
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Mon, 2 Jul 2007 11:52:48 +0000 (11:52 +0000)]
Install into libexec, not sbin.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1609
d4fa192b -c00b-0410-8231-
f00ffab90ce4
cecilihf [Mon, 2 Jul 2007 11:09:29 +0000 (11:09 +0000)]
Some improvements to the nagios plugin. Default parameter is now hitrate.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1608
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Mon, 2 Jul 2007 10:07:55 +0000 (10:07 +0000)]
Tweak props
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1607
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Mon, 2 Jul 2007 08:24:52 +0000 (08:24 +0000)]
Autoconfuse.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1606
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Mon, 2 Jul 2007 08:23:31 +0000 (08:23 +0000)]
Install headers, and register with pkg-config.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1605
d4fa192b -c00b-0410-8231-
f00ffab90ce4
cecilihf [Mon, 2 Jul 2007 07:14:53 +0000 (07:14 +0000)]
Added nagios plugin for varnish. It is very basic, and still needs some more work.
All parameters shown with the use of varnishstat -1 can be monitored.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1604
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 29 Jun 2007 14:05:49 +0000 (14:05 +0000)]
Greatly improve this test; see $DESCR + comments for details.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1603
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 29 Jun 2007 14:05:21 +0000 (14:05 +0000)]
Add an usleep() method based on select().
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1602
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 29 Jun 2007 12:57:55 +0000 (12:57 +0000)]
Add a regression test for the LRU. Currently, it tests that the child does
not crash when the cache fills up, and that a request for a document that
ought to have been evicted does not result in a cache hit.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1601
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 29 Jun 2007 12:56:44 +0000 (12:56 +0000)]
Shut down the client before returning.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1600
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 29 Jun 2007 12:54:24 +0000 (12:54 +0000)]
Run varnishd with the smallest allowable storage file.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1599
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 29 Jun 2007 10:15:10 +0000 (10:15 +0000)]
Oops!
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1598
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 29 Jun 2007 10:04:41 +0000 (10:04 +0000)]
Simplify.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1597
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 29 Jun 2007 10:04:12 +0000 (10:04 +0000)]
Simplify.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1596
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 29 Jun 2007 10:03:55 +0000 (10:03 +0000)]
Fix some style nits and an out-of-bounds array dereference.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1595
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Fri, 29 Jun 2007 08:20:36 +0000 (08:20 +0000)]
Whitespace cleanup
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1594
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 28 Jun 2007 15:10:24 +0000 (15:10 +0000)]
Almost complete rewrite to address a number of interface issues. Most
importantly, the display will now dynamically scale when the terminal is
resized, and will be updated regularly regardless of the rate at which log
data arrive.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1593
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 28 Jun 2007 13:34:44 +0000 (13:34 +0000)]
Rewrite to better handle both the curses case and the one-shot case.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1592
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 28 Jun 2007 13:33:59 +0000 (13:33 +0000)]
Further cosmetic improvements + documentation updates
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1591
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 28 Jun 2007 12:07:51 +0000 (12:07 +0000)]
Handle Ctrl-Z and Ctrl-T.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1590
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 28 Jun 2007 10:29:27 +0000 (10:29 +0000)]
Numerous improvements: display the instance name in the upper right corner;
don't show more lines than the terminal can fit; correctly react to terminal
size changes; react to Ctrl-L (redraw) and Ctrl-C / Ctrl-Q (quit).
The layout code could use a cleanup, and we still fail to DTRT if the width
of the terminal is less than that of our data, but this should not be a
problem in daily use.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1589
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 28 Jun 2007 10:25:47 +0000 (10:25 +0000)]
Expose the instance name associated with the currently open VSL file.
This is a bletcherous hack - the entire API needs cleaning up.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1588
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Thu, 28 Jun 2007 09:35:56 +0000 (09:35 +0000)]
Some of the statistics we gather are accumulated totals, while others are
instantaneous measurements. For instance, we report the total number of
allocator requests made over the child's lifetime, but we also report the
amount of storage in use at any particular moment.
The difference is important, because accumulated totals can be averaged
over the program's lifetime (or over the last N seconds), but instantaneous
measurements can't.
Recycle the format field in MAC_STAT() (it was never used anyway) into a
single-character flag indicating whether each item is an accumulated total
('a') or an instantaneous measure ('i'). Use this in varnishstat to skip
averaging non-averageable numbers.
Also rework varnishstat's "once" mode to show 1) each statistic's symbolic
name, 2) its current value, 3) if appropriate, its value averaged over the
process lifetime, and 4) its description.
The reason for displaying the symbolic name is to simplify scripting, and
to serve as a reference for looking up symbolic names to pass to e.g. the
upcoming Nagios plugin.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1587
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Wed, 27 Jun 2007 12:56:04 +0000 (12:56 +0000)]
Mostly finish the LRU code and its integration:
- Wrap the storage code so we don't need to duplicate the "toss out some old
crap and try again" logic everywhere. This will also help when / if we
decide to add support for multiple concurrent storage arenas.
- While I'm at it, implement sma_trim().
- Rework the interaction between the LRU and expiry code. Instead of placing
objects retired by the LRU on death row, immediately terminate them.
- Give the LRU code its own fake session and worker so we don't have to pass
it a session pointer.
- Rework the LRU API, and add LRU_DiscardOne() which discards a single
object. This is what the stevedore code uses.
Known or suspected issues:
- The LRU and expiry code should use the same mutex, and / or the possiblity
for races between them should be examined closely.
- LRU_Init() needs to be looked at and possibly moved.
- LRU_DiscardSpace() and LRU_DiscardTime() are unused and quite possibly useless.
- Logging and statistics related to the LRU need more attention.
- The stevedore API can probably be improved.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1586
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 27 Jun 2007 12:43:08 +0000 (12:43 +0000)]
Don't fill the entire workspace with read-ahead data.
Eventually we need to separate the "max http header size" from the
workspace size, but that will take a bit of pondering.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1585
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Wed, 27 Jun 2007 12:37:34 +0000 (12:37 +0000)]
Make sure to reset the workspaces of the backend connection between
requests, otherwise we end up filling it up with Content-Length: headers
if we manage to keep the backend busy.
Also make the snapshot of the preferred workspace-size volatile to ensure
that we are consistent.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1584
d4fa192b -c00b-0410-8231-
f00ffab90ce4
cecilihf [Wed, 27 Jun 2007 12:21:58 +0000 (12:21 +0000)]
Added munin plugins.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1583
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 26 Jun 2007 12:18:01 +0000 (12:18 +0000)]
Create $(localstatedir)/varnish at install time.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1582
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 26 Jun 2007 11:52:25 +0000 (11:52 +0000)]
Further refine -n handling. The argument to -n is now either an absolute
path, or a path relative to $localstatedir/varnish. By default, it is set
to the host name, which results in $localstatedir/varnish/$hostname.
This logic is centralized in instance.c, which is compiled into both
varnishd and libvarnishapi, with prototypes in varnishapi.h and heritage.h.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1581
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 26 Jun 2007 11:42:30 +0000 (11:42 +0000)]
Add missing Nd
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1580
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 26 Jun 2007 11:41:23 +0000 (11:41 +0000)]
Correct copyright + some style nits
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1579
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 26 Jun 2007 11:37:34 +0000 (11:37 +0000)]
Ignore generated files
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1578
d4fa192b -c00b-0410-8231-
f00ffab90ce4
des [Tue, 26 Jun 2007 11:36:36 +0000 (11:36 +0000)]
Reorder, expand tags
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1577
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 26 Jun 2007 10:01:49 +0000 (10:01 +0000)]
Markup all VCL variables as RO, WO or RW and generate and check code
accordingly.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1576
d4fa192b -c00b-0410-8231-
f00ffab90ce4
phk [Tue, 26 Jun 2007 09:37:18 +0000 (09:37 +0000)]
Retire the crc32_2s() function.
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1575
d4fa192b -c00b-0410-8231-
f00ffab90ce4
cecilihf [Tue, 26 Jun 2007 06:56:03 +0000 (06:56 +0000)]
Traffic replay tool. Parses varnish logs and attempts to recreate the traffic
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1574
d4fa192b -c00b-0410-8231-
f00ffab90ce4