summaryrefslogtreecommitdiffstats
path: root/app/analytics.go
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2018-05-02 10:50:56 -0400
committerChristopher Speller <crspeller@gmail.com>2018-05-02 07:50:56 -0700
commitd6537deb3ddace25b693932ae503b4fbdbe02935 (patch)
tree64b3f9989e43459cfc815076fe460920a8796abe /app/analytics.go
parent1647614fc95b0cb9dd5c4c5699f4f7fbba0bee43 (diff)
downloadchat-d6537deb3ddace25b693932ae503b4fbdbe02935.tar.gz
chat-d6537deb3ddace25b693932ae503b4fbdbe02935.tar.bz2
chat-d6537deb3ddace25b693932ae503b4fbdbe02935.zip
Add inactive user count to analytics and fix client analytics function (#8695)
Diffstat (limited to 'app/analytics.go')
-rw-r--r--app/analytics.go18
1 files changed, 16 insertions, 2 deletions
diff --git a/app/analytics.go b/app/analytics.go
index 7a32e78c1..a09b56538 100644
--- a/app/analytics.go
+++ b/app/analytics.go
@@ -30,7 +30,7 @@ func (a *App) GetAnalytics(name string, teamId string) (model.AnalyticsRows, *mo
}
if name == "standard" {
- var rows model.AnalyticsRows = make([]*model.AnalyticsRow, 10)
+ var rows model.AnalyticsRows = make([]*model.AnalyticsRow, 11)
rows[0] = &model.AnalyticsRow{Name: "channel_open_count", Value: 0}
rows[1] = &model.AnalyticsRow{Name: "channel_private_count", Value: 0}
rows[2] = &model.AnalyticsRow{Name: "post_count", Value: 0}
@@ -41,13 +41,17 @@ func (a *App) GetAnalytics(name string, teamId string) (model.AnalyticsRows, *mo
rows[7] = &model.AnalyticsRow{Name: "total_read_db_connections", Value: 0}
rows[8] = &model.AnalyticsRow{Name: "daily_active_users", Value: 0}
rows[9] = &model.AnalyticsRow{Name: "monthly_active_users", Value: 0}
+ rows[10] = &model.AnalyticsRow{Name: "inactive_user_count", Value: 0}
openChan := a.Srv.Store.Channel().AnalyticsTypeCount(teamId, model.CHANNEL_OPEN)
privateChan := a.Srv.Store.Channel().AnalyticsTypeCount(teamId, model.CHANNEL_PRIVATE)
teamChan := a.Srv.Store.Team().AnalyticsTeamCount()
var userChan store.StoreChannel
- if teamId != "" {
+ var userInactiveChan store.StoreChannel
+ if teamId == "" {
+ userInactiveChan = a.Srv.Store.User().AnalyticsGetInactiveUsersCount()
+ } else {
userChan = a.Srv.Store.User().AnalyticsUniqueUserCount(teamId)
}
@@ -91,6 +95,16 @@ func (a *App) GetAnalytics(name string, teamId string) (model.AnalyticsRows, *mo
}
}
+ if userInactiveChan == nil {
+ rows[10].Value = -1
+ } else {
+ if r := <-userInactiveChan; r.Err != nil {
+ return nil, r.Err
+ } else {
+ rows[10].Value = float64(r.Data.(int64))
+ }
+ }
+
if r := <-teamChan; r.Err != nil {
return nil, r.Err
} else {