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

[Telemetry] Deprecate TelemetryStart.getIsOptedIn() in favour of an observer #122632

Closed
afharo opened this issue Jan 11, 2022 · 6 comments
Closed
Labels
Feature:Telemetry good first issue low hanging fruit impact:high Addressing this issue will have a high level of impact on the quality/strength of our product. loe:medium Medium Level of Effort Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc technical debt Improvement of the software architecture and operational architecture

Comments

@afharo
Copy link
Member

afharo commented Jan 11, 2022

#122146 identified an issue with getIsOptedIn.
The solution is OK for now, but it does not make sense to fetch the SO every time the API is called and expose potential ES connection glitches to the plugins calling this getter.

Ideally, this API should be an observer that emits whenever the value changes.

This issue is to create the new observer-based API and to deprecate the current API.

@afharo afharo added Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc Feature:Telemetry labels Jan 11, 2022
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-core (Team:Core)

@lukeelmers lukeelmers added enhancement New value added to drive a business result technical debt Improvement of the software architecture and operational architecture and removed enhancement New value added to drive a business result labels Jan 11, 2022
@pgayvallet
Copy link
Contributor

and to deprecate the current API.

How many usages of the getIsOptedIn API do we currently have? Would it be worth it to adapt the existing calls directly instead of deprecating the old API?

@afharo
Copy link
Member Author

afharo commented Jan 24, 2022

AFAIK, it's used in just a few places:

  • In the UI
    1. The Welcome screen in the Home plugin - to show the opt-in/out banner
    2. The License Management - to show the opt-in/out banner
    3. The Telemetry Management Section - to handle the opt-in/out setting
  • In the Server:
    1. Security Solutions' EBT sender
    2. Fleet's EBT sender

++ to replacing them straight away. Especially on the server-side which is the main SO fetcher trigger :)

@exalate-issue-sync exalate-issue-sync bot added impact:high Addressing this issue will have a high level of impact on the quality/strength of our product. loe:small Small Level of Effort labels Feb 8, 2022
@afharo
Copy link
Member Author

afharo commented Feb 8, 2022

Increased the priority because the number of clients is growing

@exalate-issue-sync exalate-issue-sync bot added loe:medium Medium Level of Effort and removed loe:small Small Level of Effort labels Feb 8, 2022
@afharo afharo added the good first issue low hanging fruit label Jun 24, 2022
@afharo
Copy link
Member Author

afharo commented Jun 24, 2022

After the EBT project, the opt-in status is now held by an observer. Applying these changes should be fairly simple. Adding the good first issue label.

@TinaHeiligers
Copy link
Contributor

@afharo this issue has had an update in 2 years. I'm closing as "stale" and we can open it again if needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Telemetry good first issue low hanging fruit impact:high Addressing this issue will have a high level of impact on the quality/strength of our product. loe:medium Medium Level of Effort Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc technical debt Improvement of the software architecture and operational architecture
Projects
None yet
Development

No branches or pull requests

5 participants