Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes on DAU and MAU aggregations #14418

Merged
merged 13 commits into from
May 9, 2019
Merged

Fixes on DAU and MAU aggregations #14418

merged 13 commits into from
May 9, 2019

Conversation

rodrigok
Copy link
Member

@rodrigok rodrigok commented May 7, 2019

  • Aggregate OS for last month
  • Aggregate Devices for last month
  • Count sessions correctly for devices
  • Count unique sessions correctly
  • Add unit tests
  • Report new data
  • Change for past 30 days
  • Use monogdb container for Unit Tests on CI (isn't possible to use mongoUnit for MongoDB 3.2 in Debian 9.2)
  • Report Electron client correctly
  • Check compatibility with stats collector (https://github.com/RocketChat/Rocket.Chat.StatisticsCollector/pull/36)
  • Migration
  • Test migration with real data

@rodrigok rodrigok added this to the 1.0.3 milestone May 7, 2019
@rodrigok rodrigok changed the title Fixes on SAU and MAU aggregations Fixes on DAU and MAU aggregations May 8, 2019
@mrsimpson
Copy link
Collaborator

Good to see this! I consider activity measurements as essential for a successful SaaS.
But I don't think the information "Server has seen the user" sufficient to declare the user "active". This information can also be quite easily taken from a Piwik / Google Analytics.
What I consider interesting is how many rooms have been read and how many messages have been written in the interval. We implemented it quite simply here: https://github.com/assistify/Rocket.Chat/blob/develop/packages/rocketchat-statistics/server/functions/getUsages.js
Would love to read you opinion!

@rodrigok
Copy link
Member Author

rodrigok commented May 9, 2019

Thanks @mrsimpson it looks interesting, will check tomorrow 😄

@rodrigok rodrigok marked this pull request as ready for review May 9, 2019 00:28
geekgonecrazy
geekgonecrazy previously approved these changes May 9, 2019
@@ -1,5 +1,374 @@
import { Base } from './_Base';

export const aggregates = {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

any reason to export a whole object instead of individual functions?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to be more organized and clear about what the methods does

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO it is more organized when you export individual functions.. function names should be clear enough for explanation =)

or should they be static methods of the Sessions class? idk.

@rodrigok
Copy link
Member Author

rodrigok commented May 9, 2019

@mrsimpson your code is interesting, but I'm not sure what readsAggregationCursor should means, are you getting the new subscriptions after last statistics?

@rodrigok rodrigok merged commit 2f8e15f into develop May 9, 2019
@rodrigok rodrigok deleted the dau-mau branch May 9, 2019 18:43
rodrigok added a commit that referenced this pull request May 9, 2019
* Fixes on SAU and MAU aggregations

* Report new data from DAU/MAU

* Run tests agains a mongodb container in CI

* Try to run CI correctly

* Fix drop database

* Parse desktop app User Agent correctly

* Fix aggregation of past sessions

* Return past month today

* Fix bug

* Add migration

* Fixed migration

* Migration improvements
@rodrigok rodrigok mentioned this pull request May 9, 2019
rodrigok added a commit that referenced this pull request May 10, 2019
* [FIX] New day separator overlapping above system message (#14362)

* Improve German translations (#14351)

* Use the plural for discussions-section in side panel

* Formal and informal translations for 1.0

* fix german typos

* [FIX] Main thread title on replies (#14372)

* fix

* fix test

* fix setting

* Update tests/pageobjects/main-content.page.js

Co-Authored-By: ggazzo <guilhermegazzo@gmail.com>

* Update app/ui-utils/client/lib/RoomHistoryManager.js

Co-Authored-By: ggazzo <guilhermegazzo@gmail.com>

* [FIX] Bell was too small on threads (#14394)

* [FIX] Messages on threads disappearing (#14393)

* fix subscription-changed updating all messages(#14391)

* Fix: Message body was not being updated when user disabled nrr message (#14390)

* [NEW] Allow change Discussion's properties (#14389)

* [FIX] Unnecessary meteor.defer on openRoom (#14396)

* [FIX] more message actions to threads context(follow, unfollow, copy, delete) (#14387)

* added more message actions to threads context

* more actions

* change token name (#14379)

* [FIX] Pressing Enter in User Search field at channel causes reload (#14388)

* Prevent default on enter in User search

* Prevent form submission in membersList

* If using subpath make sure streams use that also for multi-instance.  Fixes #13200 (#14376)

* Revert "[IMPROVE] Use SessionId for credential token in SAML request (#13791)" (#14345)

This reverts commit 3967a74.

* Add fallback to mongo version that doesn't require clusterMonitor role (#14403)

* [FIX] Users actions in administration were returning error (#14400)

* Fix actions collapse into popup in userInfo

* Refactor userActions

* [FIX] Error 400 on send a reply to an old thread (#14402)

* fix error 400 on send a reply to an old thread

* ignoring properly hidden messages

* [FIX] Messages on thread panel were receiving wrong context/subscription  (#14404)

* [FIX] preview pdf its not working (#14419)

* [FIX] renderMessageBody was caching messages in wrong scenarios #14420

* LingoHub Update 🚀 (#14426)

Manual push by LingoHub User: Diego Sampaio.
Project: Rocket.Chat

Made with ❤️ by https://lingohub.com

* [FIX] Mentions message missing 'jump to message' action (#14430)

* fixed context

* threads context

* [FIX] Escape unrecognized slash command message (#14432)

* Add missing german translations (#14386)

* [FIX] IE11 support (#14422)

* Add symlinks to ES6 node_modules imports

* Add URL polyfill for IE11

* Fix thread replies for IE11

* [IMPROVE] allow users to skip activeUsers to be ready (#14431)

* allow users to skip activeUsers to be ready

* Update main.js

* Update app/ui-master/client/main.js

Co-Authored-By: ggazzo <guilhermegazzo@gmail.com>

* [IMPROVE] Don't use regex to find users (#14397)

* Don't use regex to find users

* Invert logic on model methods

* Escape username regex

* Find users in batch

* Use only normalizeMessagesForUser

* Don't ignore username case to get owners on graphql

* Fixes on DAU and MAU aggregations (#14418)

* Fixes on SAU and MAU aggregations

* Report new data from DAU/MAU

* Run tests agains a mongodb container in CI

* Try to run CI correctly

* Fix drop database

* Parse desktop app User Agent correctly

* Fix aggregation of past sessions

* Return past month today

* Fix bug

* Add migration

* Fixed migration

* Migration improvements

* Fix crowd sync by using correct logging method (#14405)

* Fix room names in user info dialogs (#14415)

* Fix discussion name being invalid (#14442)

Closes #14378

* Fix i18n files keys sort (#14433)

* Add script to normalize i18n files

* Fix i18n files

* Set as official script

* Update package-lock.json

* fix (#14443)

* Update threads.css

* Bump version to 1.0.3

* regen changelog
@sampaiodiego sampaiodiego mentioned this pull request May 28, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants