用户活动概况和统计

发布于 2024-09-28 13:26:31 字数 490 浏览 6 评论 0原文

我只是在探索实现收集和显示特定于用户的用户活动统计信息以及与 ASP.NET 中登录用户活动相关的站点的功能的最佳实践/框架是什么。例如,我想知道我网站上的特定登录用户,他/她在过去一天、一周等访问过哪个网站。频率是多少?前 5/10?对于整个网站,前 5 个热门页面或搜索词是什么(仅基于登录用户,而不是爬虫或匿名访问)

我使用了 Web 统计工具,如 getclicky、webstats 和 google Analytics。它们都很棒,但跟踪是基于一般访问,但我想要的是将其与我的系统中定义的个人用户/角色或组织结构联系起来,并能够向利益相关者报告它们。

如果我们有层次结构,例如用户->部门/组->公司,并尝试报告该用户的前 5 个网站是什么,这也会变得更有趣?该部门/业务部门/组中用户访问最多的 5 个网站是什么?页面频率是多少?

问题那么在 ASP.NET 中实现此功能的最佳方法是什么?是否有 httpModule 处理程序、框架或产品可以执行此操作?

I am just exploring on what is the best practice/framework for implementing feature for collecting and displaying user activity statistics that is user specific and site relating to login user activities in ASP.NET. For example, I will want to know for a particular login user on my site, which site he/she has visited in the last day, week or etc. What is the frequency? top 5/10? and for the overall site, what are the top 5 popular pages or search terms (based only on login users not crawler or anonymous visits)

I have used web stats tool like getclicky, webstats and google analytics. They are all great but the tracking is based on generic visits but what I want is to tie it in with individual users/roles or organisation structure defined in my system and be able to report on them to the stakeholders.

This gets more interesting too if we have hierarchical structure say, user->department/group->company and try reporting on what are the top 5 sites for this user? what are the top 5 sites visited by users in this department/business units/group? what are the page frequency?

QUESTION: So what is the best way to implement this in ASP.NET? Is there a httpModule handler, framework or product that does this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

后知后觉 2024-10-05 13:26:31

我会告诉你我做了什么。

  • 如果您知道要在统计数据中查找什么,例如,正如您所说,频率是多少,那么在插入新数据时进行此统计计算。

例如,假设您搜索用户 A 访问了多少个页面。在统计表上保留一行连接该用户 A 和您需要拥有的信息,并在输入它们时计算它们,例如,在每个页面中只需增加查看次数的计数器。这样您就可以进行在线统计,避免后台工作和数千行条目。我相信您首先需要知道您要查找哪些统计数据,如果将来还有更多统计数据,那么您稍后会添加它们。

  • 您可以使用线程或调用额外的处理程序在页面末尾添加对统计计算和插入的调用,这样用户就不会延迟查看页面。

例如,在页面末尾:

<img src="/myStats.ashx?infos=CodeStringWithSomeInfos">

在 myStats.ashx 上,保存您的统计数据,并返回一个空的 gif。

  • 此外,当您显示数据时,即使您按时计算了大部分信息,总是有一些额外的东西您无法计算,当您显示此统计数据并进行此计算时,请将它们保留在额外的表缓存中以加快速度。

I will tell you what I have done.

  • If you know what you're looking for in the statistics, eg as you say, what is the frequency then make this statistic calculation when you insert the new data.

For example let's say that you search how many pages user A have visited. Keep a line on statistics table that connect this user A, with the informations that you need to have, and you calculate them the moment you enter them, eg in every page just increase the counter of how many have see. That way you can have online statistics avoid background work, and thousands of line entries. I believe that you need to know what statistics you're looking for at the first place, and if there are some more in the future, then you add them later.

  • You add the call to statistics calculation and insertion on the end of page, either with a thread or with a call to an extra handler so the user do not have delay to see the page.

eg, on the end of the page:

<img src="/myStats.ashx?infos=CodeStringWithSomeInfos">

on myStats.ashx, save your statistics data, and return an emtpy gif.

  • Also when you show the data, even if you calculate most of your information on time, there are always extra things that you can not calculate, when you show this statistics and make this calculations, keep them on an extra table cache to speed up.
你的心境我的脸 2024-10-05 13:26:31

我不确定具体细节,但我的印象是您可以向谷歌分析添加自定义字段。您可以使用它来记录用户、角色以及您在服务器应用程序中记录的有关用户的任何业务特定数据。如果分析没有这个选项,Omniture 肯定有(它的工作方式很像谷歌分析,因为它使用 javascript 跟踪)。 Omniture 不是免费的解决方案。 (www.omniture.com)

I'm not sure of the specifics, but I was under the impression you can add custom fields to google analytics. You could use this to record user, role, any business specific data you record about a user in the server app. If analytics does not have this option, Omniture definitely does (it works much like google analytics in that it uses javascript tracking). Omniture is not a free solution. (www.omniture.com)

丶情人眼里出诗心の 2024-10-05 13:26:31

另一个想法(为了最大程度地控制登录用户的活动),您可以使用带有自定义上下文的日志框架(例如带有 Log4Net 提供程序的 Commons Logging),然后使用附加的数据库。您可以完全控制与用户活动相关的日志记录。通过使用附加的数据库,计算统计数据将非常简单......

Another idea (in order to get greatest control over activities of logged in users), you could use Logging framework with custom context (Commons Logging with Log4Net provider for example) and then use database appended. You would have complete control over logging as it pertains to user activities. By using database appended, calculating stats would be pretty straightforward...

倾城泪 2024-10-05 13:26:31

我认为 GA 不是您的最佳解决方案。
还有很多其他 WebAnalytics 解决方案可以为您提供更灵活的跟踪。

我认为最好的免费解决方案是 Yahoo WebAnalytics。它会给你一个类似于 GA 的跟踪代码,但有更多的自定义变量。

我认为在您的情况下最好的付费解决方案是 Adob​​e SiteCatalyst,它具有 150 个自定义变量、分级变量等,是市场上最好的平台。

克劳迪奥.

I think GA is not the best solution for you.
There are a lot of other WebAnalytics solution that can give you a more flexible tracking.

I think the best free solution is Yahoo WebAnalytics. It will give you a tracking code similar to the GA one but with a lot more Custom Variable.

The Best paid solution in your case i thik is Adobe SiteCatalyst that with 150 custom variable, herarchical variable and so on is the best platform in the market.

Claudio.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文