Refactor prometheus integration
Move prometheus to SaaS and make it a plugin Move static callers to use metrics_queue plugin Change local-docker to support different quay clone dirnames Change prom_aggregator to use logrus
This commit is contained in:
parent
3d9acf2fff
commit
668a8edc50
10 changed files with 216 additions and 161 deletions
|
@ -15,14 +15,10 @@ from collections import namedtuple
|
|||
|
||||
from util.registry import filelike
|
||||
from storage.basestorage import BaseStorageV2, InvalidChunkException
|
||||
from util.prometheus import Counter
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
multipart_upload_start = Counter('multipart_upload_start', 'Multipart upload startse')
|
||||
multipart_upload_end = Counter('multipart_upload_end', 'Multipart upload ends.', labelnames=['type'])
|
||||
|
||||
_PartUploadMetadata = namedtuple('_PartUploadMetadata', ['path', 'offset', 'length'])
|
||||
_CHUNKS_KEY = 'chunks'
|
||||
|
||||
|
@ -168,8 +164,8 @@ class _CloudStorage(BaseStorageV2):
|
|||
|
||||
if self._metric_queue is not None:
|
||||
self._metric_queue.put('MultipartUploadStart', 1)
|
||||
self._metric_queue.multipart_upload_start.Inc()
|
||||
|
||||
multipart_upload_start.Inc()
|
||||
return self._cloud_bucket.initiate_multipart_upload(path, metadata=metadata,
|
||||
**self._upload_params)
|
||||
|
||||
|
@ -209,8 +205,7 @@ class _CloudStorage(BaseStorageV2):
|
|||
|
||||
if self._metric_queue is not None:
|
||||
self._metric_queue.put('MultipartUploadFailure', 1)
|
||||
|
||||
multipart_upload_end.Inc(labelvalues=['failure'])
|
||||
self._metric_queue.multipart_upload_end.Inc(labelvalues=['failure'])
|
||||
|
||||
if cancel_on_error:
|
||||
mp.cancel_upload()
|
||||
|
@ -221,8 +216,8 @@ class _CloudStorage(BaseStorageV2):
|
|||
if total_bytes_written > 0:
|
||||
if self._metric_queue is not None:
|
||||
self._metric_queue.put('MultipartUploadSuccess', 1)
|
||||
self._metric_queue.multipart_upload_end.Inc(labelvalues=['success'])
|
||||
|
||||
multipart_upload_end.Inc(labelvalues=['success'])
|
||||
mp.complete_upload()
|
||||
|
||||
return total_bytes_written, error
|
||||
|
|
Reference in a new issue