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

Implement telemetry client interfaces #36

Merged
merged 1 commit into from
Jul 19, 2024
Merged

Implement telemetry client interfaces #36

merged 1 commit into from
Jul 19, 2024

Conversation

rtamalin
Copy link
Collaborator

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

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 rtamalin requested review from mbelur and gbuenodevsuse July 19, 2024 18:13
@rtamalin rtamalin merged commit f4e158d into main Jul 19, 2024
1 check passed
@rtamalin rtamalin deleted the client_interfaces branch July 24, 2024 13:20
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants