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

SDK: Generate() should include a telemetry class parameter #30

Open
rtamalin opened this issue Jul 10, 2024 · 0 comments
Open

SDK: Generate() should include a telemetry class parameter #30

rtamalin opened this issue Jul 10, 2024 · 0 comments
Labels

Comments

@rtamalin
Copy link
Collaborator

rtamalin commented Jul 10, 2024

There will be at least 3 classes of telemetry:

  • mandatory
  • opt-out
  • opt-in

We will need to define enumerated constants for these classes.

The generate call will need to include an additional class parameter specifying one of these classes.

We will also need to add checks to the Generate() call to "drop" opt-out or opt-in class telemetry if it is not enabled in our config, per #31.

And we should store the telemetry class as part of the client data store attributes for a telemetry data item, so that it can be used latter to gate submitting telemetry that may have been disabled since it was generated.

rtamalin added a commit that referenced this issue Jul 19, 2024
Add a telemetry package to the repo top-level directory that defines
the client interfaces that should be used by applications integrating
with the SUSE Telemetry Client to generate telemetry.

The telemetry package defines the following interfaces:
* Generate() - can be called by telemetry providers to "generate"
  telemetry.
* Status() - can be used by telemetry providers to check the status
  of the telemetry client.

Enhance the telemetry client config to support specifing enablement
state for the opt-out and opt-in telemetry classes, and allow and deny
lists for specific telemetry types.

Add new types and associated helper methods, to support the telemetry
client interfaces:
* TelemetryClass - specifies mandatory, opt-out or opt-in classes of
  telemetry.
* GenerateFlags - flags that control how the Generate() interface
  handles provided telemetry.

Updated the examples directory contents, including adding an example
Go app leveraging the telemetry client interfaces to generate telemetry
and check the status of the telemetry client.

Updated various config files and embedded config settings to reflect
recent logging support changes and add class_options settings; they
should all now be pretty consistent in their content.

Updated the cmd/generator and cmd/clientds tools to setup logging.

Relates: #15 #30 #31 #32 #33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant