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
Add tracking property for os.arch() to Amplitude / Sentry (project creation) #13872
Conversation
Codecov Report
@@ Coverage Diff @@
## main #13872 +/- ##
=======================================
Coverage 55.58% 55.58%
=======================================
Files 1275 1275
Lines 31829 31829
Branches 5733 5733
=======================================
Hits 17692 17692
Misses 12323 12323
Partials 1814 1814
Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
Yes, there's something to add to the tracker at the moment when you do something like this. I'll do it quickly once this PR is merged don't worry. I second your idea, by the way, that would be quite helpful 👍 Last thing: I already shared that on Slack but I think we should be considerate with bandwidth consumption - as well as keep things a bit simpler - and stop sending all the Don't worry I'm not asking for changes on that today, just wanted to share my thoughts on this, and maybe start a discussion with people interested here on GitHub. |
@fdel-car That's great to hear. I was thinking something similar: I'd like to have them as part of I don't mind adding them to |
I agree here especially with os.arch as I imagine most of the failures at the didInstall step are going to be arm based systems (mostly arm based macs or arm based cloud providers) |
So my suggestion would be to maybe only send user properties whenever they could have changed, if we're confident that they would not have changed - for instance between Lastly, keep in mind that events that are sent outside of the generators, won't benefit from your change in this PR, you'd need to also update the |
@fdel-car I understand the idea, but in this case I'm not sure, because what we would want to do is to calculate the difference between |
Hi 👋 reviving this. Let's merge this now so we can analyze the errors more finely asap. Those events being only sent during the creation of the project the impact is not as huge as sending that data during the normal runtime so @fdel-car you can open the discussion to put that in the backlog of the tooling squad for a bit later :) |
e21dedc
to
76cb466
Compare
c734413
to
a78c0a5
Compare
a78c0a5
to
de4df38
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually I was thinking about something else.
I think we need this property more on the Sentry side to debug errors during the installation process than on amplitude (we can still leave it on amplitude for consistency but not sure that's worth it as we won't do much analytics on it there probably?)
However for sentry we can add it in packages/generators/app/lib/create-project.js in the
sentry.configureScope
call
@alexandrebodin That is certainly an interesting idea. Let's do that! 👍🏼 However: what do you think about keeping it for Amplitude (at least for a while) to understand the size of the problem in relation to total installations? As far as I know we currently can not have Sentry and Amplitude data in one view and would only see the total number of errors in Sentry. Therefore it might be helpful: 1) to understand the size of the problem on Amplitude 2) the mutations of the different errors on Sentry. What do you think? |
Sounds good to me to have it in both places yes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
What does it do?
Following an internal discussion about our current support of M1 processors I got curious to find some numbers on Amplitude / Sentry, but had to learn we are currently not tracking the CPU architecture. I think for the installation this might be an interesting information and therefore I'd like to propse to track it.
os_arch
could contain the following architectures: 'arm', 'arm64', 'ia32', 'mips', 'mipsel', 'ppc', 'ppc64', 's390', 's390x', and 'x64'.Node documentation: https://nodejs.org/api/os.html#osarch
This PR adds the current CPU architecture to Amplitude and Sentry when projects are created.
Why is it needed?
I'd like to understand if users with
arm64
CPU architectures have more problems installing Strapi than others.