fix(prometheus): keep/drop patterns split on any whitespace, and a *_time_seconds value reads as a moment (#6423)
A pasted drop list whose line breaks had become spaces was stored as one pattern that matched nothing, so Home Assistant's two 526-series bookkeeping families filled the 1,000-series cap. No metric name holds whitespace, so patterns now split on spaces and tabs as well as lines and commas. Home Assistant names its Unix times *_time_seconds (e.g. homeassistant_last_updated_time_seconds), which read as "20751d 21h". is_moment() takes both suffixes, for the value shown and the chart axis. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -73,6 +73,10 @@ def test_names():
|
||||
assert resource_for("T", ()) == "T"
|
||||
assert resource_for("T", (("a", "1"), ("b", "x"))) == "T:a=1,b=x"
|
||||
assert patterns("a_*, b_*\n\n a_* \nc") == ["a_*", "b_*", "c"]
|
||||
# A paste that turned its line breaks into spaces (#6423): no metric name
|
||||
# holds whitespace, so each word is a pattern.
|
||||
assert patterns("ha_last_updated_time_seconds ha_entity_available\tha_entity_info") == [
|
||||
"ha_last_updated_time_seconds", "ha_entity_available", "ha_entity_info"]
|
||||
|
||||
|
||||
def test_labels_read_back_as_stored_even_with_a_comma_in_a_value():
|
||||
|
||||
Reference in New Issue
Block a user