buildman: address PR #11 comments
This commit is contained in:
		
							parent
							
								
									5790d7d8cc
								
							
						
					
					
						commit
						f53dea46b7
					
				
					 5 changed files with 55 additions and 55 deletions
				
			
		|  | @ -14,6 +14,9 @@ class NullReporter(object): | |||
| class CloudWatchReporter(object): | ||||
|   """ CloudWatchReporter reports work queue metrics to CloudWatch """ | ||||
|   def __init__(self, request_queue, namespace, need_capacity_name, build_percent_name): | ||||
|     if None in (request_queue, namespace, need_capacity_name, build_percent_name): | ||||
|       raise TypeError | ||||
| 
 | ||||
|     self._namespace = namespace | ||||
|     self._need_capacity_name = need_capacity_name | ||||
|     self._build_percent_name = build_percent_name | ||||
|  | @ -39,28 +42,18 @@ class QueueMetrics(object): | |||
|   QueueMetrics initializes a reporter for recording metrics of work queues. | ||||
|   """ | ||||
|   def __init__(self, app=None): | ||||
|     self.app = app | ||||
|     self.sender = None | ||||
|     self._app = app | ||||
|     self._reporter = NullReporter() | ||||
|     if app is not None: | ||||
|       self.state = self.init_app(app) | ||||
|     else: | ||||
|       self.state = None | ||||
|       reporter_type = app.config.get('QUEUE_METRICS_TYPE', 'Null') | ||||
|       if reporter_type == 'CloudWatch': | ||||
|         namespace = app.config.get('QUEUE_METRICS_NAMESPACE') | ||||
|         req_capacity_name = app.config.get('QUEUE_METRICS_CAPACITY_SHORTAGE_NAME') | ||||
|         build_percent_name = app.config.get('QUEUE_METRICS_BUILD_PERCENT_NAME') | ||||
| 
 | ||||
|   def init_app(self, app): | ||||
|     analytics_type = app.config.get('QUEUE_METRICS_TYPE', 'Null') | ||||
| 
 | ||||
|     if analytics_type == 'CloudWatch': | ||||
|       namespace = app.config.get('QUEUE_METRICS_NAMESPACE') | ||||
|       req_capacity_name = app.config.get('QUEUE_METRICS_CAPACITY_SHORTAGE_NAME') | ||||
|       build_percent_name = app.config.get('QUEUE_METRICS_BUILD_PERCENT_NAME') | ||||
| 
 | ||||
|       request_queue = get_queue(app) | ||||
|       reporter = CloudWatchReporter(request_queue, namespace, req_capacity_name, | ||||
|                                     build_percent_name) | ||||
|     else: | ||||
|       reporter = NullReporter() | ||||
| 
 | ||||
|     return reporter | ||||
|         request_queue = get_queue(app) | ||||
|         self._reporter = CloudWatchReporter(request_queue, namespace, req_capacity_name, | ||||
|                                         build_percent_name) | ||||
| 
 | ||||
|   def __getattr__(self, name): | ||||
|     return getattr(self.state, name, None) | ||||
|     return getattr(self._reporter, name, None) | ||||
|  |  | |||
		Reference in a new issue