diff options
Diffstat (limited to 'examples/summaries/cocoa/metrics.py')
-rw-r--r-- | examples/summaries/cocoa/metrics.py | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/examples/summaries/cocoa/metrics.py b/examples/summaries/cocoa/metrics.py deleted file mode 100644 index 6a73a7344b95..000000000000 --- a/examples/summaries/cocoa/metrics.py +++ /dev/null @@ -1,112 +0,0 @@ -""" -Objective-C runtime wrapper for use by LLDB Python formatters - -part of The LLVM Compiler Infrastructure -This file is distributed under the University of Illinois Open Source -License. See LICENSE.TXT for details. -""" -import lldb -import time -import datetime -import inspect - - -class TimeMetrics: - - @staticmethod - def generate(label=None): - return TimeMetrics(label) - - def __init__(self, lbl=None): - self.label = "" if lbl is None else lbl - pass - - def __enter__(self): - caller = inspect.stack()[1] - self.function = str(caller) - self.enter_time = time.clock() - - def __exit__(self, a, b, c): - self.exit_time = time.clock() - print("It took " + str(self.exit_time - self.enter_time) + - " time units to run through " + self.function + self.label) - return False - - -class Counter: - - def __init__(self): - self.count = 0 - self.list = [] - - def update(self, name): - self.count = self.count + 1 - # avoid getting the full dump of this ValueObject just to save its - # metrics - if isinstance(name, lldb.SBValue): - self.list.append(name.GetName()) - else: - self.list.append(str(name)) - - def __str__(self): - return str(self.count) + " times, for items [" + str(self.list) + "]" - - -class MetricsPrinter_Verbose: - - def __init__(self, metrics): - self.metrics = metrics - - def __str__(self): - string = "" - for key, value in self.metrics.metrics.items(): - string = string + "metric " + str(key) + ": " + str(value) + "\n" - return string - - -class MetricsPrinter_Compact: - - def __init__(self, metrics): - self.metrics = metrics - - def __str__(self): - string = "" - for key, value in self.metrics.metrics.items(): - string = string + "metric " + \ - str(key) + " was hit " + str(value.count) + " times\n" - return string - - -class Metrics: - - def __init__(self): - self.metrics = {} - - def add_metric(self, name): - self.metrics[name] = Counter() - - def metric_hit(self, metric, trigger): - self.metrics[metric].update(trigger) - - def __getitem__(self, key): - return self.metrics[key] - - def __getattr__(self, name): - if name == 'compact': - return MetricsPrinter_Compact(self) - if name == 'verbose': - return MetricsPrinter_Verbose(self) - raise AttributeError("%r object has no attribute %r" % - (type(self).__name__, name)) - - def __str__(self): - return str(self.verbose) - - def metric_success(self, metric): - total_count = 0 - metric_count = self[metric].count - for key, value in self.metrics.items(): - total_count = total_count + value.count - if total_count > 0: - return metric_count / float(total_count) - return 0 |