如何计算网站的页面访问时间

时间:2010-06-10 16:37:02

标签: asp.net-mvc logging

我正在构建一些自定义日志记录代码来跟踪人们如何使用我们的Web应用程序。我这样做是在ASP.NET MVC下的Site.master页面,但我的问题实际上更通用。我想做的是确定某人在特定页面上花费的时间。

我可以跟踪人们何时访问某个页面,但显然我无法确定他们通过任何服务器端代码在页面上花了多长时间。我现在正在做的只是以这种方式计算:

页面A在时间T0被击中 页面B在T1时刻被击中 因此,有人最有可能在第A页花费了T1 -T0时间。

现在,人们可以离开他们的计算机,或者其他什么,所以我现在有120秒的任意阈值。如果T1-T0> 120,然后我只记录一个意思是“未知”的令牌

这有效,但看起来非常黑客。

有人有更好的建议吗?我不需要代码,只需要算法。

5 个答案:

答案 0 :(得分:1)

不幸的是,如果您只有页面访问时间可以使用,那么您所描述的方式几乎是唯一的方法。

但是,如果您可以支持更“ajaxy”的方法,那么您应该能够检测到用户何时在页面上移动鼠标等等,并向服务URL发送少量ping请求。< / p>

对于很少的回报来说,这似乎是很多工作,所以。

答案 1 :(得分:0)

使用AJAX,您可以在与页面进行交互时向服务器发送信息。这样可以提高你的时间准确度,但似乎可能有点矫枉过正。

答案 2 :(得分:0)

您需要从日志数据中生成此内容,并且内置假设,正如您已经注意到的那样。记录访问之间的增量是访问时间的最佳数据。定义您的页面访问想法的阈值(不同于网站访问)然后测量点击之间的增量,然后您将有你的页面时间。您还应该考虑推荐人。与前一页匹配的引荐来源可以被视为页面访问和有效时间增量。不应将引用者形成不同的资源视为页面访问的有效时间增量。

答案 3 :(得分:0)

使用Ajax,您可以。每10秒或其他任何时间设置一个JavaScript计时器,然后每次达到零时,调用一个webservice方法,该方法将记录用户在页面上的最后时间。

答案 4 :(得分:0)

Chartbeat会为您实时做到这一点。观察数据非常容易上瘾,请注意。