Skip to content
This repository has been archived by the owner on Feb 20, 2023. It is now read-only.

Add capability to override telemetry URL #27023

Closed
jrbenny35 opened this issue Sep 15, 2022 · 15 comments · Fixed by #27577, fork-house/fenix#14, #27748, Leland-Takamine/fenix#159 or nathanmkaya/fenix#108
Assignees
Labels
eng:health Improve code health eng:qa:not-needed Added by QA to issues that cannot be tested Nimbus
Milestone

Comments

@jrbenny35
Copy link

jrbenny35 commented Sep 15, 2022

What is the user problem or growth opportunity you want to see solved?

Collecting telemetry from Fenix now is a bit involved to do locally. The steps are outlined here. Allowing for a URL to be specified to send telemetry too, would help simplify this use case.

How do you know that this problem exists today? Why is this important?

This isn't necessarily a problem but more of an enhancement to aid in testing/QA work.

Who will benefit from it?

Softvision QA Team, Nimbus Engineering Team

┆Issue is synchronized with this Jira Task

@github-actions github-actions bot added the needs:triage Issue needs triage label Sep 15, 2022
@jrbenny35
Copy link
Author

jrbenny35 commented Sep 15, 2022

What would be the best practice to allow this field to be changed based on build types? The default URL is specified here, https://mozilla.github.io/glean/book/reference/general/initializing.html#gleaninitializeconfiguration

@kbrosnan
Copy link
Contributor

This sounds like something we could add to secret settings.

@kbrosnan kbrosnan added eng:health Improve code health Nimbus and removed needs:triage Issue needs triage labels Oct 17, 2022
@jonalmeida
Copy link
Contributor

We can surface serverUrl setting here in the debug UI for the android app.

Since it's set during app initialization, it'll have to be a flag that is set after the first run so the new serverUrl is set in the UI and then the next app restart will use the newly set URL.

That might affect QA's ability to test first run glean events or Nimbus experiments. Does that work @jrbenny35 ? We can find alternatives to solving this, but it'll require some new work to add the ability to do similar things to GeckoView with reading a config file during first init.

@jrbenny35
Copy link
Author

That might affect QA's ability to test first run glean events or Nimbus experiments. Does that work @jrbenny35 ? We can find alternatives to solving this, but it'll require some new work to add the ability to do similar things to GeckoView with reading a config file during first init.

You're saying the way you proposed will affect QA's ability to run first run testing? Or if they set the URL, it would affect their ability since they have to do the restart.

@jonalmeida
Copy link
Contributor

jonalmeida commented Oct 17, 2022

You're saying the way you proposed will affect QA's ability to run first run testing? Or if they set the URL, it would affect their ability since they have to do the restart.

It will affect QA ability to run first-run testing. 👍

To rephrase: if we want to set the serverUrl value to something custom, it will always require a restart for it to take effect.

@jrbenny35
Copy link
Author

I think that is a good solution for now until we can get something into GeckView like you mentioned earlier. Thanks @jonalmeida

@jonalmeida
Copy link
Contributor

I think that is a good solution for now until we can get something into GeckView like you mentioned earlier. Thanks jonalmeida

Just to clarify, I didn't mean put something into GeckoView, but rather doing something like this configuration file.

We can work on the serverUrlOverride in that case for now.

@rocketsroger rocketsroger self-assigned this Oct 20, 2022
@github-actions github-actions bot added the eng:reopen-for-qa Reopens and tags the issue for QA needed when the issue is merged label Oct 27, 2022
rocketsroger added a commit to rocketsroger/fenix that referenced this issue Nov 1, 2022
rocketsroger added a commit to rocketsroger/fenix that referenced this issue Nov 1, 2022
rocketsroger added a commit to rocketsroger/fenix that referenced this issue Nov 1, 2022
@rocketsroger
Copy link
Contributor

As agreed with @jrbenny35. This will only be supported on Nightly and debug builds.

@mergify mergify bot closed this as completed in #27577 Nov 1, 2022
@github-actions github-actions bot reopened this Nov 1, 2022
@github-actions github-actions bot added eng:qa:needed QA Needed and removed eng:reopen-for-qa Reopens and tags the issue for QA needed when the issue is merged labels Nov 1, 2022
@github-actions github-actions bot added this to the 108 milestone Nov 1, 2022
@delia-pop
Copy link

Hi, @jrbenny35, is this something the Manual QA team should check? If so, we can reach out to the Ecosystem QA team to help us. We verified that the option to set a custom Glean server URL is displayed in Secret Settings in Nightly 108.0a1 from 11/06 .

1667834884262

@jrbenny35
Copy link
Author

Hi, @jrbenny35, is this something the Manual QA team should check? If so, we can reach out to the Ecosystem QA team to help us. We verified that the option to set a custom Glean server URL is displayed in Secret Settings in Nightly 108.0a1 from 11/06 .

Hi Delia, I don't think this needs to be added to your usual verifications, as this was something that will help automate some testing within Fenix, and potentially help some of the softvision folks to get telemetry a little easier.

@delia-pop
Copy link

Great, thank you. I will close this ticket and remove the QA needed label then.

@delia-pop delia-pop added eng:qa:not-needed Added by QA to issues that cannot be tested and removed eng:qa:needed QA Needed labels Nov 7, 2022
@rocketsroger rocketsroger reopened this Nov 7, 2022
@rocketsroger
Copy link
Contributor

Reopen as request from @jrbenny35 to add local properties as another way of injecting the custom Glean server URL.

rocketsroger added a commit to rocketsroger/fenix that referenced this issue Nov 7, 2022
rocketsroger added a commit to rocketsroger/fenix that referenced this issue Nov 8, 2022
@mergify mergify bot closed this as completed in #27748 Nov 8, 2022
@Dexterp37
Copy link
Contributor

Hey folks, can I get a better understanding of why this is needed?
We'd love to improve our ecosystem and if the current debug tooling have problems (logs, debug view), we'd rather like to fix them consistently instead of having custom solutions for each product and pave the way for custom workflows.

@jrbenny35 , @rocketsroger or @jonalmeida What is/are the current workflow for which sending telemetry to a custom endpoint is needed?

Thanks!

@jrbenny35
Copy link
Author

Hey folks, can I get a better understanding of why this is needed? We'd love to improve our ecosystem and if the current debug tooling have problems (logs, debug view), we'd rather like to fix them consistently instead of having custom solutions for each product and pave the way for custom workflows.

@jrbenny35 , @rocketsroger or @jonalmeida What is/are the current workflow for which sending telemetry to a custom endpoint is needed?

Thanks!

Hi Alessio, this specifically was for me wanting to create automation around testing a local nimbus server and getting the app to read from it.

@rocketsroger has implemented a solution for setting a custom telemetry URL. This change will potentially help our QA folks to specify a nimbus server and to be able to test experiments from it, without having to rebuild the app.

Also, sorry for the late reply

@Dexterp37
Copy link
Contributor

@jrbenny35 thanks for the clarification! Let us know if there's something we can do to make your / QA life easier.

JohanLorenzo pushed a commit to mozilla-mobile/firefox-android that referenced this issue Feb 14, 2023
JohanLorenzo pushed a commit to mozilla-mobile/firefox-android that referenced this issue Feb 14, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.