OLD | NEW |
1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 """Helper classes that make it easier to instrument code for monitoring.""" | 5 """Helper classes that make it easier to instrument code for monitoring.""" |
6 | 6 |
7 | 7 |
8 class ScopedIncrementCounter(object): | 8 class ScopedIncrementCounter(object): |
9 """Increment a counter when the wrapped code exits. | 9 """Increment a counter when the wrapped code exits. |
10 | 10 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 self.status = None | 44 self.status = None |
45 return self | 45 return self |
46 | 46 |
47 def __exit__(self, exc_type, exc_value, traceback): | 47 def __exit__(self, exc_type, exc_value, traceback): |
48 if self.status is None: | 48 if self.status is None: |
49 if exc_type is None: | 49 if exc_type is None: |
50 self.status = self.success_value | 50 self.status = self.success_value |
51 else: | 51 else: |
52 self.status = self.failure_value | 52 self.status = self.failure_value |
53 self.counter.increment({self.label: self.status}) | 53 self.counter.increment({self.label: self.status}) |
OLD | NEW |