diff options
Diffstat (limited to 'webapp')
-rw-r--r-- | webapp/components/analytics/system_analytics.jsx | 34 | ||||
-rw-r--r-- | webapp/i18n/en.json | 2 | ||||
-rw-r--r-- | webapp/utils/async_client.jsx | 8 | ||||
-rw-r--r-- | webapp/utils/constants.jsx | 4 |
4 files changed, 47 insertions, 1 deletions
diff --git a/webapp/components/analytics/system_analytics.jsx b/webapp/components/analytics/system_analytics.jsx index dd7b90260..89cc98f0b 100644 --- a/webapp/components/analytics/system_analytics.jsx +++ b/webapp/components/analytics/system_analytics.jsx @@ -358,6 +358,32 @@ class SystemAnalytics extends React.Component { /> ); + const dailyActiveUsers = ( + <StatisticCount + title={ + <FormattedMessage + id='analytics.system.dailyActiveUsers' + defaultMessage='Daily Active Users' + /> + } + icon='fa-users' + count={stats[StatTypes.DAILY_ACTIVE_USERS]} + /> + ); + + const monthlyActiveUsers = ( + <StatisticCount + title={ + <FormattedMessage + id='analytics.system.monthlyActiveUsers' + defaultMessage='Monthly Active Users' + /> + } + icon='fa-users' + count={stats[StatTypes.MONTHLY_ACTIVE_USERS]} + /> + ); + let firstRow; let secondRow; if (isLicensed && skippedIntensiveQueries) { @@ -406,6 +432,13 @@ class SystemAnalytics extends React.Component { ); } + const thirdRow = ( + <div className='row'> + {dailyActiveUsers} + {monthlyActiveUsers} + </div> + ); + return ( <div className='wrapper--fixed team_statistics'> <h3> @@ -417,6 +450,7 @@ class SystemAnalytics extends React.Component { {banner} {firstRow} {secondRow} + {thirdRow} {advancedStats} {advancedGraphs} {postTotalGraph} diff --git a/webapp/i18n/en.json b/webapp/i18n/en.json index 1513a4afe..daa0434dc 100644 --- a/webapp/i18n/en.json +++ b/webapp/i18n/en.json @@ -945,6 +945,8 @@ "analytics.system.textPosts": "Posts with Text-only", "analytics.system.title": "System Statistics", "analytics.system.totalChannels": "Total Channels", + "analytics.system.dailyActiveUsers": "Daily Active Users", + "analytics.system.monthlyActiveUsers": "Monthly Active Users", "analytics.system.totalCommands": "Total Commands", "analytics.system.totalFilePosts": "Posts with Files", "analytics.system.totalHashtagPosts": "Posts with Hashtags", diff --git a/webapp/utils/async_client.jsx b/webapp/utils/async_client.jsx index 25724ec5e..cd38be811 100644 --- a/webapp/utils/async_client.jsx +++ b/webapp/utils/async_client.jsx @@ -1039,6 +1039,14 @@ export function getStandardAnalytics(teamId) { if (data[index].name === 'total_read_db_connections') { stats[StatTypes.TOTAL_READ_DB_CONNECTIONS] = data[index].value; } + + if (data[index].name === 'daily_active_users') { + stats[StatTypes.DAILY_ACTIVE_USERS] = data[index].value; + } + + if (data[index].name === 'monthly_active_users') { + stats[StatTypes.MONTHLY_ACTIVE_USERS] = data[index].value; + } } AppDispatcher.handleServerAction({ diff --git a/webapp/utils/constants.jsx b/webapp/utils/constants.jsx index b1c188d89..86147ee8c 100644 --- a/webapp/utils/constants.jsx +++ b/webapp/utils/constants.jsx @@ -260,7 +260,9 @@ export const Constants = { NEWLY_CREATED_USERS: null, TOTAL_WEBSOCKET_CONNECTIONS: null, TOTAL_MASTER_DB_CONNECTIONS: null, - TOTAL_READ_DB_CONNECTIONS: null + TOTAL_READ_DB_CONNECTIONS: null, + DAILY_ACTIVE_USERS: null, + MONTHLY_ACTIVE_USERS: null }), STAT_MAX_ACTIVE_USERS: 20, STAT_MAX_NEW_USERS: 20, |