Index: common/py_trace_event/py_trace_event/trace_event_impl/meta_class.py |
diff --git a/common/py_trace_event/py_trace_event/trace_event_impl/meta_class.py b/common/py_trace_event/py_trace_event/trace_event_impl/meta_class.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..4ede79bd338fac7ba31e45d0bbe3b14fba790b96 |
--- /dev/null |
+++ b/common/py_trace_event/py_trace_event/trace_event_impl/meta_class.py |
@@ -0,0 +1,16 @@ |
+# Copyright 2016 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. |
+ |
+import types |
+ |
+from py_trace_event.trace_event_impl import decorators |
+ |
+ |
+class TracedMetaClass(type): |
+ def __new__(cls, name, bases, attrs): |
+ for attr_name, attr_value in attrs.iteritems(): |
+ if isinstance(attr_value, types.FunctionType): |
+ attrs[attr_name] = decorators.traced(attr_value) |
+ |
+ return super(TracedMetaClass, cls).__new__(cls, name, bases, attrs) |