-
Notifications
You must be signed in to change notification settings - Fork 990
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
chore(analytics): Simplify analytics testing #22235
base: develop
Are you sure you want to change the base?
Conversation
Jenkins Builds
|
86% of end-end tests have passed
Failed tests (2)Click to expandClass TestWalletCollectibles:
Passed tests (12)Click to expandClass TestWalletCollectibles:
Class TestWalletOneDevice:
Class TestWalletMultipleDevice:
Class TestOneToOneChatMultipleSharedDevicesNewUi:
Class TestCommunityOneDeviceMerged:
Class TestCommunityMultipleDeviceMerged:
|
a811d16
to
3877269
Compare
Hi @ilmotta ! I've checked User ID events on iOS/Android and unfortunately I do not see them. I also have a filling that events are not tracked in PR builds at all. One more thing: I've created 2 Profiles and:
Can you please take a look? |
Hey @mariia-skrypnyk, sorry for the late reply. I see from the logs that the metrics are being correctly sent to MixPanel's test project and the token is correct. I also see numerous events (600+) in the test project since last week and there are events as recent as March 10. This means that PR builds are generating test events. I used the User ID found in the zip log you shared, and I got 100 events in the last few days. ![]() Events may take some time to arrive in MixPanel, although usually for me they appear in less than a minute and most certainly in less than 5 min. It looks like this is what happened in your testing.
Every app installation generates a unique random ID that is shared by all profiles, therefore, metrics are collected per installation, not per profile. |
Thanks @ilmotta ! |
Hey @ilmotta ! So the issue was in my access to the test project. PR finally 👏 can be merged! |
Fixes #21680
Summary
status-go PR: status-im/status-go#6385
This PR provides an alternative implementation to the one suggested in #21680 which is much simpler. The problem we are trying to resolve is that when QAs or even developers need to analyze events sent to MixPanel they cannot pinpoint exactly which events originated from their testing Status installation. Even if events end up in the test project (which is not as noisy as prod MixPanel), it's still cumbersome to test if there are other people concurrently generating events (which can be the case while we are testing releases).
The solution is to allow us to filter events based on the so called MixPanel
User ID
, which in the case of Status, is a UUID generated once and which varies per installation. This PR adds a new option in the Advanced Settings behind a toggle, therefore the feature is only available in PR builds because feature flags are only accessible ifENABLE_QUO_PREVIEW
is1
.Additional notes
The original solution suggested in the issue is more flexible but more involved, where clients would be able to specify their own
UserID
, which in the future would be useful to support tracking certain events more anonymously by not tying them to the global installation ID (User ID).Areas that may be impacted
I don't anticipate any impact in the app.
Steps to test
Settings > Privacy and security
.Settings > Feature flags
and enableanalytics > copy-user-id
.Settings > Advanced settings
and press on the optionCopy analytics User ID
to copy the User ID to the clipboard.status: ready