Added active pages, visitor count per page and referer.

This commit is contained in:
Marvin Blum
2020-08-13 01:06:27 +02:00
committed by Marvin Blum
parent a387a5adda
commit ab8123a4f7
6 changed files with 123 additions and 12 deletions

View File

@@ -48,6 +48,21 @@ func GetPageVisits(startDate, endDate time.Time) []PageVisits {
return pageVisits
}
func GetPages(startDate, endDate time.Time) []pirsch.VisitorPage {
pages, err := analyzer.Pages(&pirsch.Filter{From: startDate, To: endDate})
if err != nil {
logbuch.Error("Error reading page statistics", logbuch.Fields{"err": err})
return nil
}
if len(pages) > 10 {
return pages[:10]
}
return pages
}
func GetLanguages(startDate, endDate time.Time) []pirsch.VisitorLanguage {
languages, _, err := analyzer.Languages(&pirsch.Filter{From: startDate, To: endDate})
@@ -63,6 +78,21 @@ func GetLanguages(startDate, endDate time.Time) []pirsch.VisitorLanguage {
return languages
}
func GetReferer(startDate, endDate time.Time) []pirsch.VisitorReferer {
referer, err := analyzer.Referer(&pirsch.Filter{From: startDate, To: endDate})
if err != nil {
logbuch.Error("Error reading referer statistics", logbuch.Fields{"err": err})
return nil
}
if len(referer) > 10 {
return referer[:10]
}
return referer
}
func GetHourlyVisitors(startDate, endDate time.Time) (template.JS, template.JS) {
visitors, err := analyzer.HourlyVisitors(&pirsch.Filter{From: startDate, To: endDate})
@@ -96,6 +126,17 @@ func GetActiveVisitors() int {
return visitors
}
func GetActiveVisitorPages() []pirsch.PageVisitors {
pages, err := analyzer.ActiveVisitorsPages(pirsch.NullTenant, time.Second*30)
if err != nil {
logbuch.Error("Error reading active visitor pages", logbuch.Fields{"err": err})
return nil
}
return pages
}
func getLabelsAndData(visitors []pirsch.VisitorsPerDay) (template.JS, template.JS) {
var labels strings.Builder
var dp strings.Builder

View File

@@ -56,7 +56,6 @@ func NewTracker() (*pirsch.Tracker, context.CancelFunc) {
})
analyzer = pirsch.NewAnalyzer(store)
processor := pirsch.NewProcessor(store, nil)
processTrackingData(processor)
cancel := pirsch.RunAtMidnight(func() {
processTrackingData(processor)
})