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