Open mrueg opened 3 years ago
Nice idea. What if we recommended to put the hint in the HELP string, rather than add another field?
Nice idea. What if we recommended to put the hint in the HELP string, rather than add another field?
This is definitely an option as well, I didn't want to assume a specific workflow and/or break existing workflows when it comes to consuming HELP fields, that's why I suggested a separate one.
In general, I question the utility of this as in practice it's quite difficult to predict how software subsystems might evolve over time - and thus that their metrics might also become obsolete. Different types of software (many of which will co-exist inside one application) have very different meanings, lifecycles, and velocities associated with "stability". Accordingly documentation within each respective project would seem a better approach overall, rather than trying to formalise some of the fundamental complexities of software engineering into a metrics standard.
This has the same utility as SNMP's OID STATUS deprecated
. I do wonder if the ENUM should be simpler like simply current
and deprecated
.
Nice idea. What if we recommended to put the hint in the HELP string, rather than add another field? An extra field might be better for user assistance - e.g. strike through a deprecated metric in e.g. Grafana.
If it is just mentioned in HELP
, Grafana would need to assume that HELP.contains("deprecated")
does really really mean it is deprecated (Which would be a problem in something like # HELP app_deprecated_calls How many calls to deprecated API endpoints were made
).
# HELP app_requests How many requests were made. @DEPRECATED@ in favor of app_unicorns_total
or another very unambiguous solution should be okay.
In order to improve metrics experience, I would like to propose two fields to be added to the spec.
As an example:
This could allow consumers to warn when an unstable metric is used and improve metrics lifecycle. We currently see issues where e.g. grafana dashboards use a deprecated metric and users only figure out when the metric is gone on the consumer side.
This is similar to https://github.com/OpenObservability/OpenMetrics/issues/189 but with a clearer focus on lifecycle.