Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Config: add support for specifying enabled telemetry classes #31

Closed
rtamalin opened this issue Jul 10, 2024 · 1 comment
Closed

Config: add support for specifying enabled telemetry classes #31

rtamalin opened this issue Jul 10, 2024 · 1 comment
Labels
Config enhancement New feature or request SDK

Comments

@rtamalin
Copy link
Collaborator

Per #30 there will be at least 3 telemetry classes, with 2 of them being potentially optional.

We should implement support in our config for being able to specify which telemetry classes are enabled.

@rtamalin rtamalin added enhancement New feature or request Config SDK labels Jul 10, 2024
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
@rtamalin
Copy link
Collaborator Author

Our client config now supports specifying a class_options stanza including the following settings:

  • opt_out - boolean indicating if this class is enabled/disabled for gathering & submission
  • opt_in - boolean indicating if this class is enabled/disabled for gathering & submission
  • allow - a list of telemetry types that are allowed to be gathered and submitted (empty means allow all)
  • deny - a list of telemetry types that will not be gathered or submitted (empty means deny nothing)

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Config enhancement New feature or request SDK
Projects
None yet
Development

No branches or pull requests

1 participant