gpt4 book ai didi

javascript - 在 Google Analytics 中跟踪 Varnish 命中和未命中?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:35:20 24 4
gpt4 key购买 nike

我希望通过 Google Analytics 收集有关页面加载速度的数据,并希望在已返回的页面之间拆分此数据,这些页面命中了 Varnish 缓存,而那些未命中缓存的页面。

在研究这个之前,我只是假设我会让 JS 查看页面响应中的 varnish header ,并创建一个 GA 自定义 var 以在每页的基础上跟踪它。当然,JS 无法访问页眉,所以我目前有点不知所措。过去我已经使服务器端 GA 跟踪工作(通过 php-ga),但这需要与真实世界的页面加载时间联系起来。

最佳答案

只是一个想法,但您可以在“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 The approximate number of times the object has been delivered. A value of 0 indicates a cache miss. This variable is also available in vcl_deliver.

这将使您可以使用 document.cookie 变量从 Javascript 中访问此信息。我相信 jQuery 有一些插件可以使这更容易,这是我找到的一个:https://github.com/carhartl/jquery-cookie在谷歌上。一旦您可以在 JS 中检查 cookie 是否存在,您就应该能够使用 GA API 来记录事件。希望对您有所帮助。

关于javascript - 在 Google Analytics 中跟踪 Varnish 命中和未命中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13386026/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com