MCPcopy
hub / github.com/usefathom/fathom / GetRealtimeVisitorCount

Method GetRealtimeVisitorCount

pkg/datastore/sqlstore/site_stats.go:67–90  ·  view source on GitHub ↗
(siteID int64)

Source from the content-addressed store, hash-verified

65}
66
67func (db *sqlstore) GetRealtimeVisitorCount(siteID int64) (int64, error) {
68 var siteTrackingID string
69 if err := db.Get(&siteTrackingID, db.Rebind(`SELECT tracking_id FROM sites WHERE id = ? LIMIT 1`), siteID); err != nil && err != sql.ErrNoRows {
70 log.Error(err)
71 return 0, mapError(err)
72 }
73
74 var sql string
75 var total int64
76
77 // for backwards compatibility with tracking snippets without an explicit site tracking ID (< 1.1.0)
78 if siteID == 1 {
79 sql = `SELECT COUNT(*) FROM pageviews p WHERE ( site_tracking_id = ? OR site_tracking_id = '' ) AND is_finished = FALSE AND timestamp > ?`
80 } else {
81 sql = `SELECT COUNT(*) FROM pageviews p WHERE site_tracking_id = ? AND is_finished = FALSE AND timestamp > ?`
82 }
83
84 query := db.Rebind(sql)
85 if err := db.Get(&total, query, siteTrackingID, time.Now().Add(-5*time.Minute)); err != nil {
86 return 0, mapError(err)
87 }
88
89 return total, nil
90}

Callers

nothing calls this directly

Calls 1

mapErrorFunction · 0.85

Tested by

no test coverage detected