Index: tools/telemetry/telemetry/web_perf/metrics/timeline_based_metric.py |
diff --git a/tools/telemetry/telemetry/web_perf/metrics/timeline_based_metric.py b/tools/telemetry/telemetry/web_perf/metrics/timeline_based_metric.py |
index f406b12c1403169a175c9b550506c219cb5c6f00..71f3f15ad4e34d1fcb3e71c57af00e24306d339d 100644 |
--- a/tools/telemetry/telemetry/web_perf/metrics/timeline_based_metric.py |
+++ b/tools/telemetry/telemetry/web_perf/metrics/timeline_based_metric.py |
@@ -26,6 +26,23 @@ def _TimeRangesHasOverlap(iterable_time_ranges): |
return False |
+def IsEventInInteractions(event, interaction_records): |
+ """ Return True if event is in any of the interaction records' time range. |
+ |
+ Args: |
+ event: an instance of telemetry.timeline.event.TimelineEvent. |
+ interaction_records: a list of interaction records, whereas each record is |
+ an instance of |
+ telemetry.web_perf.timeline_interaction_record.TimelineInteractionRecord. |
+ |
+ Returns: |
+ True if |event|'s start & end time is in any of the |interaction_records|'s |
+ time range. |
+ """ |
+ return any(ir.start <= event.start and ir.end >= event.end for ir |
+ in interaction_records) |
+ |
+ |
class TimelineBasedMetric(object): |
def __init__(self): |