No side effects, no surprises.

HTTP HTTP/2 Server request resources Document speculative push How Speculative Push with HTTP/2 Really Works In this episode Bjørne traces the path of a web page request and its dependencies when HTTP/2 speculative push is enabled. Caution: this article may cause premature aging, white hair, and memory loss.


After downloading the VLI to /var/vli, you will want to configure the software for convenient use. Here's a good way to do it on Linux systems.

Copy shell command

copy shell command
[user@host]# cp /var/vli/usr/bin/vv

Test to see if the shell can find the software.

Test the shell script
[user@host]# vv --version
vv version 1.0

List the command line options

List the command line options
[user@host]# vv --help
usage: vv -dfhqrtvxz
Specify arguments using the short form, like '-r filename' or the long form, like '--rulebook=filename'

--rulebook -r name of the rulebook options file
--directory -d path to the rulebook options file
--files -f {namespace_file1,namespace_file2,...}
--help -h Show this help text
--quiet -q Quiet mode, send errors to /log/vli.log only
--tabs -t Tab separated output format, suitable for grep or awk
--version -v Display version
--noexec -x Parse namespaces, but do not execute
--suppress_log -z Suppress error logging to /log/vli.log

Configure the rulebook

Copy the default rulebook settings to /etc/vli/conf.d.

Copy to /etc/vli
[user@host]# mkdir /etc/vli
[user@host]# mkdir /etc/vli/conf.d
[user@host]# cp /var/vli/etc/conf.d/rulebook-options /etc/vli/conf.d/rulebook-options

Test the setup by executing the vv command without any options.

[user@host]# vv
=== VLI version 1.0 ===
<hello.v+2> [] enter at 15:46:59
Hello world!
<hello.v+2> [] exit at 15:46:59

Optional: Edit the /etc/vli/conf.d/rulebook-options to use verbose_rulebook_options.

verbose_base_objects = true

Test the modified setup by executing the vv command again.

[user@host]# vv
=== VLI version 1.0 ===

=== Base Objects ===
type => reminder
runtime_trace => true
alarm_date => 2038-01-19
pass => Hello world!
fail => End of the world!
<hello.v+2> [] enter at 15:47:59
Hello world!
<hello.v+2> [] exit at 15:47:59

Optional: hourly and daily jobs

You can configure cron to run hourly or daily using the cron files provided.

Copy to /etc/cron.d
[user@host]# cp /var/vli/etc/cron.d/daily-vli-cron /etc/cron.d/daily-vli-cron
[user@host]# cp /var/vli/etc/cron.d/hourly-vli-cron /etc/cron.d/hourly-vli-cron

Optional: logrotate and logwatch

If you use logrotate and logwatch, you can configure them using the sample configs provided.

Copy to /etc/logrotate.d and logwatch
[user@host]# cp /var/vli/etc/logrotate.d/vli /etc/logrotate.d/vli
[user@host]# cp /var/vli/etc/logwatch/conf/logfiles/vli.conf /etc/logwatch/conf/logfiles/vli.conf