clickstream是opensymphony上的一個開源項目,其目的是用于跟蹤用戶在web服務器上的瀏覽歷史.通過這個模塊得到的歷史數據,可以分析出用戶訪問網站的路徑,瓶頸,熱點連接等,并根據這些數據對系統(tǒng)功能做出適當調整.
其設計的出發(fā)點是利用servlet的filter,在每次對servlet的訪問時就日志.日志的實現(xiàn)主要是通過在當前用戶的session中設置一個clickstream的跟蹤對象.并利用HttpSessionListener來跟蹤session的創(chuàng)建,銷毀事件,從而達到跟蹤一個用戶的瀏覽歷史功能.
雞蛋里挑點骨頭吧!
1.clickstream只有在用戶訪問servlet時才能實現(xiàn)跟蹤的目的.如果網站有很多的靜態(tài)頁面,那么就無法通過它來跟蹤了,還是apache的日志好啊!
2.clickstream在每個對servlet的訪問都創(chuàng)建了一個session,這對很多不需要session的servlet來說,是不必要的.對于高并發(fā)訪問的系統(tǒng),這會增加系統(tǒng)的負荷,尤其是如果站點是采用集群的話,更會帶來大量的session復制的性能問題.我建議才系統(tǒng)剛上線的時候或者有功能的重要更新的時候可以利用它來跟蹤用戶,以分析用戶行為,改進系統(tǒng).