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

structured metadata for SLO objectives #179

Open
BertHartm opened this issue Sep 27, 2022 · 6 comments
Open

structured metadata for SLO objectives #179

BertHartm opened this issue Sep 27, 2022 · 6 comments
Labels
enhancement New feature or request schema Shape of YAMLs v2alpha1 Incompatible changes proposed for the next major release

Comments

@BertHartm
Copy link
Contributor

Problem to solve

Example use case:
If a team wanted to tighten their existing SLO, there might be a few months overlap where they want to continue using the existing objective for measurement purposes, but want to also start tracking a stricter objective to see how they're tracking against their goal.

To do this currently, you can define 2 objectives on the same SLO, but there's no way to distinguish the objectives outside of displayName.
If we wanted to mark the new stricter SLO as "aspirational" (meaning not to be used), we have the option of having some convention for displayName, and changing the name later, or creating a second SLO object that's a copy of the first, and adding labels to the SLO object.

Proposal

If we add a labels section to the objective definition, then we can add arbitrary structured metadata that would allow labeling without copying the full SLO object, or depending on naming conventions.

Further details

Other use cases might include having different SLOs for different service tiers, or flagging certain objectives as aligning to a company wide standard or initiative.

Links / references

@BertHartm BertHartm added the enhancement New feature or request label Sep 27, 2022
@kenfinnigan
Copy link
Collaborator

This use case is good feedback for the discussion in #168

@weyert
Copy link
Collaborator

weyert commented Sep 29, 2022

Wouldn't the metadata.name work for this?

@BertHartm
Copy link
Contributor Author

Wouldn't the metadata.name work for this?

metadata only exists on the SLO, and not on the objective, so that's what makes it difficult if we want to have multiple objectives for the same SLO object.

@weyert
Copy link
Collaborator

weyert commented Sep 29, 2022

My bad misunderstood you :) Sounds like a reasonable suggestion

@fpiwowarczyk fpiwowarczyk added the schema Shape of YAMLs label Dec 9, 2022
@nieomylnieja
Copy link
Member

@BertHartm I know it's been a while, but would you be willing to contribute to this document with your suggestion for v2: https://github.com/OpenSLO/OpenSLO/blob/main/enhancements/v2alpha1.md#datasource?

@nieomylnieja nieomylnieja added the v2alpha1 Incompatible changes proposed for the next major release label Nov 17, 2023
BertHartm added a commit to BertHartm/OpenSLO that referenced this issue Nov 17, 2023
When working with lots of SLO / SLI objects at scale, it can be helpful to be able to add arbitrary metadata to indicate things like:
- ownership
- association to certain projects
- criticality
or other ways that teams might need to organize their SLOs, SLIs, and Datasources.

Allowing for key value pairs in the spec directly avoids having to do workarounds like depend on naming schemes.

Some prior discussion is in OpenSLO#179
@BertHartm
Copy link
Contributor Author

Thanks @nieomylnieja,

I've submitted #236 to start that conversation for adding metadata to the SLO, SLI, and Datasource objects. Objectives wasn't specified there, so I haven't directly addressed that aspect of it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request schema Shape of YAMLs v2alpha1 Incompatible changes proposed for the next major release
Projects
None yet
Development

No branches or pull requests

5 participants