NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

_statsd.py (3016B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\monolithmetrics\_statsd.py
      2 from __future__ import absolute_import
      3 import logging
      4 import monolithconfig
      5 from . import _datadog
      6 log = logging.getLogger('monolithmetrics._statsd')
      7 aggregation_key = monolithconfig.get_value('clusterName', 'prefs') or 'Unknown'
      8 running_client = monolithconfig.on_client()
      9 
     10 def gauge(metric, value, tags = None, sample_rate = 1):
     11     if running_client:
     12         return
     13     try:
     14         _datadog.client.gauge(metric_name=metric, value=value, tags=tags, sample_rate=sample_rate)
     15     except Exception as e:
     16         msg = 'Gauge metric failed'
     17         log.error(msg, exc_info=1, extra={'metric': metric,
     18          'value': value,
     19          'tags': tags,
     20          'sample_rate': sample_rate})
     21 
     22 
     23 def increment(metric, value = 1, tags = None, sample_rate = 1):
     24     if running_client:
     25         return
     26     try:
     27         _datadog.client.increment(metric_name=metric, value=value, tags=tags, sample_rate=sample_rate)
     28     except Exception as e:
     29         msg = 'Increment metric failed'
     30         log.error(msg, exc_info=1, extra={'metric': metric,
     31          'value': value,
     32          'tags': tags,
     33          'sample_rate': sample_rate})
     34 
     35 
     36 def decrement(metric, value = 1, tags = None, sample_rate = 1):
     37     if running_client:
     38         return
     39     try:
     40         _datadog.client.decrement(metric_name=metric, value=value, tags=tags, sample_rate=sample_rate)
     41     except Exception as e:
     42         msg = 'Decrement metric failed'
     43         log.error(msg, exc_info=1, extra={'metric': metric,
     44          'value': value,
     45          'tags': tags,
     46          'sample_rate': sample_rate})
     47 
     48 
     49 def histogram(metric, value, tags = None, sample_rate = 1):
     50     if running_client:
     51         return
     52     try:
     53         _datadog.client.histogram(metric_name=metric, value=value, tags=tags, sample_rate=sample_rate)
     54     except Exception as e:
     55         msg = 'Histogram metric failed'
     56         log.error(msg, exc_info=1, extra={'metric': metric,
     57          'value': value,
     58          'tags': tags,
     59          'sample_rate': sample_rate})
     60 
     61 
     62 def timing(metric, value, tags = None, sample_rate = 1):
     63     if running_client:
     64         return
     65     try:
     66         _datadog.client.timing(metric_name=metric, value=value, tags=tags, sample_rate=sample_rate)
     67     except Exception as e:
     68         msg = 'Timing metric failed'
     69         log.error(msg, exc_info=1, extra={'metric': metric,
     70          'value': value,
     71          'tags': tags,
     72          'sample_rate': sample_rate})
     73 
     74 
     75 def event(title, text = '', tags = None):
     76     if running_client:
     77         return
     78     try:
     79         _datadog.client.event(title=title, text=text, tags=tags, aggregation_key=aggregation_key)
     80     except Exception as e:
     81         msg = 'Event metric failed'
     82         log.error(msg, exc_info=1, extra={'title': title,
     83          'text': text,
     84          'tags': tags})
     85 
     86 
     87 def flush():
     88     if running_client:
     89         return
     90     try:
     91         _datadog.client.flush()
     92     except Exception as e:
     93         log.error('Manual flush failed')