OpenSLO
OpenSLO copied to clipboard
structured metadata for SLO objectives
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
This use case is good feedback for the discussion in #168
Wouldn't the metadata.name
work for this?
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.
My bad misunderstood you :) Sounds like a reasonable suggestion
@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?
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.