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

Unified Diff: tools/telemetry/telemetry/timeline/event_container.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
« no previous file with comments | « tools/telemetry/telemetry/timeline/event.py ('k') | tools/telemetry/telemetry/timeline/event_unittest.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/telemetry/telemetry/timeline/event_container.py
diff --git a/tools/telemetry/telemetry/timeline/event_container.py b/tools/telemetry/telemetry/timeline/event_container.py
deleted file mode 100644
index 4d41e68da75acf4c0366f4eb76b973b01ea7936f..0000000000000000000000000000000000000000
--- a/tools/telemetry/telemetry/timeline/event_container.py
+++ /dev/null
@@ -1,144 +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.
-
-from telemetry.timeline import async_slice as async_slice_module
-from telemetry.timeline import flow_event as flow_event_module
-from telemetry.timeline import slice as slice_module
-
-
-class TimelineEventContainer(object):
- """Represents a container for events.
-
- """
- def __init__(self, name, parent):
- self.parent = parent
- self.name = name
-
- @staticmethod
- def IsAsyncSlice(t):
- return t == async_slice_module.AsyncSlice
-
- # Basic functions that subclasses of TimelineEventContainer should implement
- # in order to expose their events. New methods should be added to this part of
- # the code only when absolutely certain they're needed.
-
- def IterChildContainers(self):
- raise NotImplementedError()
-
- def IterEventsInThisContainer(self, event_type_predicate, event_predicate):
- """Iterates all the TimelineEvents in this container.
-
- Only events with a type matching event_type_predicate AND matching event
- event_predicate will be yielded.
-
- event_type_predicate is given an actual type object, e.g.:
- event_type_predicate(slice_module.Slice)
-
- event_predicate is given actual events:
- event_predicate(thread.slices[7])
-
- DO NOT ASSUME that the event_type_predicate will be called for every event
- found. The relative calling order of the two is left up to the implementer
- of the method.
-
- """
- del event_type_predicate, event_predicate # unused
- return
- yield # pylint: disable=unreachable
-
-
- def IterAllEvents(self,
- recursive=True,
- event_type_predicate=lambda t: True,
- event_predicate=lambda e: True):
- """Iterates all events in this container, pre-filtered by two predicates.
-
- Only events with a type matching event_type_predicate AND matching event
- event_predicate will be yielded.
-
- event_type_predicate is given an actual type object, e.g.:
- event_type_predicate(slice_module.Slice)
-
- event_predicate is given actual events:
- event_predicate(thread.slices[7])
- """
- if not recursive:
- for e in self.IterEventsInThisContainer(
- event_type_predicate, event_predicate):
- yield e
- return
-
- # TODO(nduca): Write this as a proper iterator instead of one that creates a
- # list and then iterates it.
- containers = []
- def GetContainersRecursive(container):
- containers.append(container)
- for container in container.IterChildContainers():
- GetContainersRecursive(container)
- GetContainersRecursive(self)
-
- # Actually create the iterator.
- for c in containers:
- for e in c.IterEventsInThisContainer(event_type_predicate,
- event_predicate):
- yield e
-
- # Helper functions for finding common kinds of events. Must always take an
- # optinal recurisve parameter and be implemented in terms fo IterAllEvents.
- def IterAllEventsOfName(self, name, recursive=True):
- return self.IterAllEvents(
- recursive=recursive,
- event_type_predicate=lambda t: True,
- event_predicate=lambda e: e.name == name)
-
- def IterAllSlices(self, recursive=True):
- return self.IterAllEvents(
- recursive=recursive,
- event_type_predicate=lambda t: t == slice_module.Slice)
-
- def IterAllSlicesInRange(self, start, end, recursive=True):
- return self.IterAllEvents(
- recursive=recursive,
- event_type_predicate=lambda t: t == slice_module.Slice,
- event_predicate=lambda s: s.start >= start and s.end <= end)
-
- def IterAllSlicesOfName(self, name, recursive=True):
- return self.IterAllEvents(
- recursive=recursive,
- event_type_predicate=lambda t: t == slice_module.Slice,
- event_predicate=lambda e: e.name == name)
-
- def IterAllToplevelSlicesOfName(self, name, recursive=True):
- return self.IterAllEvents(
- recursive=recursive,
- event_type_predicate=lambda t: t == slice_module.Slice,
- event_predicate=lambda e: e.name == name and e.parent_slice == None)
-
- def IterAllAsyncSlicesOfName(self, name, recursive=True):
- return self.IterAllEvents(
- recursive=recursive,
- event_type_predicate=self.IsAsyncSlice,
- event_predicate=lambda e: e.name == name)
-
- def IterAllAsyncSlicesStartsWithName(self, name, recursive=True):
- return self.IterAllEvents(
- recursive=recursive,
- event_type_predicate=self.IsAsyncSlice,
- event_predicate=lambda e: e.name.startswith(name))
-
- def IterAllFlowEvents(self, recursive=True):
- return self.IterAllEvents(
- recursive=recursive,
- event_type_predicate=lambda t: t == flow_event_module.FlowEvent)
-
- # List versions. These should always be simple expressions that list() on
- # an underlying iter method.
- def GetAllEvents(self, recursive=True):
- return list(self.IterAllEvents(recursive=recursive))
-
- def GetAllEventsOfName(self, name, recursive=True):
- return list(self.IterAllEventsOfName(name, recursive))
-
- def GetAllToplevelSlicesOfName(self, name, recursive=True):
- return list(self.IterAllToplevelSlicesOfName(name, recursive))
« no previous file with comments | « tools/telemetry/telemetry/timeline/event.py ('k') | tools/telemetry/telemetry/timeline/event_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698