考えただけですが、「vcl_deliver」サブルーチンでCookieを設定できます。このようなもの:
sub vcl_deliver {
if (obj.hits > 0) {
set resp.http.Set-Cookie = "VarnishHit=Yes;Path=/;";
}
return (deliver); }
これは基本的に次のように述べています。objに複数のヒットがある場合は、そのように言うCookieを設定します。他のCookieを上書きしないようにする必要があるため、Cookieを使用している場合は、これを既存のSet-Cookieに連結するだけです。obj.hitsの詳細については、
https ://www.varnish-cache.org/docs/3.0/reference/vcl.htmlを参照してください。
重要な行は次のとおりです。
obj.hitsオブジェクトが配信されたおおよその回数。値0は、キャッシュミスを示します。この変数はvcl_deliverでも使用できます。
これにより、document.cookie変数を使用してJavascript内からこの情報にアクセスできるようになります。jQueryにはこれを簡単にするプラグインがいくつかあると思います。これが私が見つけたプラグインです:Googleのhttps://github.com/carhartl/jquery-cookie 。JSにCookieが存在するかどうかを確認できたら、GAAPIを使用してイベントをログに記録できるようになります。それがお役に立てば幸いです。