Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(202)

Unified Diff: tools/telemetry/telemetry/web_perf/metrics/mainthread_jank_stats.py

Issue 1647513002: Delete tools/telemetry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/telemetry/web_perf/metrics/mainthread_jank_stats.py
diff --git a/tools/telemetry/telemetry/web_perf/metrics/mainthread_jank_stats.py b/tools/telemetry/telemetry/web_perf/metrics/mainthread_jank_stats.py
deleted file mode 100644
index 66a86a7052fe95d1d010ce47ac4a61cd8c5bc9b0..0000000000000000000000000000000000000000
--- a/tools/telemetry/telemetry/web_perf/metrics/mainthread_jank_stats.py
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 2014 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-
-# A top level slice of a main thread can cause the webapp to behave
-# unresponsively if its thread duration is greater than or equals to
-# USER_PERCEIVABLE_DELAY_THRESHOLD_MS. Human eyes can perceive delay at low as
-# 100ms, but since we use thread time instead of wall-time, we reduce the
-# threshold further to 50ms to make room for other OS's activities.
-USER_PERCEIVABLE_DELAY_THRESHOLD_MS = 50
-
-
-class _MainthreadJankStat(object):
- """A small wrapper class for storing mainthread jank stats computed for
- single record.
- """
-
- def __init__(self):
- self.sum_big_top_slices_thread_time = 0
- self.biggest_top_slice_thread_time = 0
-
-
-def _ComputeMainthreadJankStatsForRecord(renderer_thread, record):
- """Computes the mainthread jank stat on a record range.
-
- Returns:
- An instance of _MainthreadJankStat, which has:
-
- sum_big_top_slices_thread_time is the total thread duration of all top
- slices whose thread time ranges overlapped with (thread_start, thread_end)
- and the overlapped thread duration is greater than or equal
- USER_PERCEIVABLE_DELAY_THRESHOLD_MS.
-
- biggest_top_slice_thread_time is the biggest thread duration of all
- top slices whose thread time ranges overlapped with
- (thread_start, thread_end).
-
- Note: thread duration of each slices is computed using overlapped range
- with (thread_start, thread_end).
- """
- stat = _MainthreadJankStat()
- for s in renderer_thread.toplevel_slices:
- jank_thread_duration = record.GetOverlappedThreadTimeForSlice(s)
- stat.biggest_top_slice_thread_time = max(
- stat.biggest_top_slice_thread_time, jank_thread_duration)
- if jank_thread_duration >= USER_PERCEIVABLE_DELAY_THRESHOLD_MS:
- stat.sum_big_top_slices_thread_time += jank_thread_duration
- return stat
-
-
-class MainthreadJankStats(object):
- """
- Utility class for extracting main thread jank statistics from the timeline
- (or other loggin facilities), and providing them in a common format to
- classes that compute benchmark metrics from this data.
-
- total_big_jank_thread_time is the total thread duration of all top
- slices whose thread time ranges overlapped with any thread time ranges of
- the records and the overlapped thread duration is greater than or equal
- USER_PERCEIVABLE_DELAY_THRESHOLD_MS.
-
- biggest_jank_thread_time is the biggest thread duration of all
- top slices whose thread time ranges overlapped with any of records' thread
- time ranges.
- """
-
- def __init__(self, renderer_thread, interaction_records):
- self._renderer_thread = renderer_thread
- self._interaction_records = interaction_records
- self._total_big_jank_thread_time = 0
- self._biggest_jank_thread_time = 0
- self._ComputeMainthreadJankStats()
-
- @property
- def total_big_jank_thread_time(self):
- return self._total_big_jank_thread_time
-
- @property
- def biggest_jank_thread_time(self):
- return self._biggest_jank_thread_time
-
- def _ComputeMainthreadJankStats(self):
- for record in self._interaction_records:
- record_jank_stat = _ComputeMainthreadJankStatsForRecord(
- self._renderer_thread, record)
- self._total_big_jank_thread_time += (
- record_jank_stat.sum_big_top_slices_thread_time)
- self._biggest_jank_thread_time = (
- max(self._biggest_jank_thread_time,
- record_jank_stat.biggest_top_slice_thread_time))

Powered by Google App Engine
This is Rietveld 408576698