Skip to content

Commit 4be3970

Browse files
committed
Add more details to "no relevant sample found" warning log
Signed-off-by: Mathias L. Baumann <[email protected]>
1 parent 1de07a6 commit 4be3970

File tree

1 file changed

+33
-1
lines changed

1 file changed

+33
-1
lines changed

src/frequenz/sdk/timeseries/_resampling.py

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -746,14 +746,46 @@ def resample(self, timestamp: datetime) -> Sample[Quantity]:
746746
# resort to some C (or similar) implementation.
747747
relevant_samples = list(itertools.islice(self._buffer, min_index, max_index))
748748
if not relevant_samples:
749-
_logger.warning("No relevant samples found for: %s", self._name)
749+
self._log_no_relevant_samples(minimum_relevant_timestamp, timestamp)
750+
750751
value = (
751752
conf.resampling_function(relevant_samples, conf, props)
752753
if relevant_samples
753754
else None
754755
)
755756
return Sample(timestamp, None if value is None else Quantity(value))
756757

758+
def _log_no_relevant_samples(
759+
self, minimum_relevant_timestamp: datetime, timestamp: datetime
760+
) -> None:
761+
"""Log that no relevant samples were found.
762+
763+
Args:
764+
minimum_relevant_timestamp: The minimum timestamp for which relevant samples
765+
timestamp: The timestamp for which no relevant samples were found.
766+
"""
767+
if self._buffer:
768+
buffer_label = f"Buffer({len(self._buffer)}):"
769+
buffer_info = f"{self._buffer[0].timestamp} - {self._buffer[-1].timestamp}"
770+
else:
771+
buffer_label = "Buffer:"
772+
buffer_info = "Buffer is empty"
773+
774+
# Calculate the maximum label width for alignment
775+
label_width = max(len("Requested:"), len(buffer_label))
776+
777+
_logger.warning(
778+
("No relevant samples found for: %s\n%-*s %s - %s\n%-*s %s"),
779+
self._name,
780+
label_width,
781+
"Requested:",
782+
minimum_relevant_timestamp,
783+
timestamp,
784+
label_width,
785+
buffer_label,
786+
buffer_info,
787+
)
788+
757789

758790
class _StreamingHelper:
759791
"""Resample data coming from a source, sending the results to a sink."""

0 commit comments

Comments
 (0)