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

tags.py (1960B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\monolithmetrics\tags.py
      2 from __future__ import absolute_import
      3 import logging
      4 import monolithconfig
      5 from . import _datadog
      6 import monolithgeoip2
      7 log = logging.getLogger('monolithmetrics.tags')
      8 UNIVERSE_TAG = 'universe:'
      9 MACHO_NODE_INDEX_TAG = 'machoNet.nodeIndex:'
     10 MACHO_MACHINE_NAME_TAG = 'machoNet.machineName:'
     11 MACHO_SERVICE_MASK_TAG = 'machoNet.serviceMask:'
     12 MACHO_CLUSTER_GROUP_TAG = 'machoNet.clusterGroup:'
     13 
     14 def set_universe(universe):
     15     _set_datadog_tag(UNIVERSE_TAG, universe)
     16 
     17 
     18 def set_macho_machine_name(machine_name):
     19     _set_datadog_tag(MACHO_MACHINE_NAME_TAG, machine_name)
     20 
     21 
     22 def set_macho_service_mask(service_mask):
     23     _set_datadog_tag(MACHO_SERVICE_MASK_TAG, service_mask)
     24 
     25 
     26 def set_macho_node_index(node_index):
     27     _set_datadog_tag(MACHO_NODE_INDEX_TAG, node_index)
     28 
     29 
     30 def set_macho_cluster_group(cluster_group):
     31     _set_datadog_tag(MACHO_CLUSTER_GROUP_TAG, cluster_group)
     32 
     33 
     34 def _set_datadog_tag(tag_name, value):
     35     if monolithconfig.on_client():
     36         return
     37     try:
     38         for tag in _datadog.client.constant_tags:
     39             if tag.startswith(tag_name):
     40                 _datadog.client.constant_tags.remove(tag)
     41 
     42         _datadog.client.constant_tags.append(tag_name + str(value))
     43     except Exception:
     44         log.error('Failed to set constant_tag for DataDog', exc_info=1, extra={'tag_name': tag_name,
     45          'value': value})
     46 
     47 
     48 def get_geo_tags(ipaddress):
     49     country_result = monolithgeoip2.country(ipaddress)
     50     tags = []
     51     if country_result and country_result.country and country_result.country.name:
     52         tags.append('country:' + country_result.country.name)
     53     else:
     54         tags.append('country:Unknown')
     55     if country_result and country_result.continent and country_result.continent.name:
     56         tags.append('continent:' + country_result.continent.name)
     57     else:
     58         tags.append('continent:Unknown')
     59     return tags