"""Datadog.""" from functools import cache import config from secrets_manager.lambda_ext import LambdaSecretsManager from vector_utils.datadog.metrics import call_datadog_with_metric @cache def _get_datadog_credentials(): datadog_secrets_manager_client = LambdaSecretsManager( environment=config.ENVIRONMENT, service_name='datadog' ) DATADOG_APP_KEY = datadog_secrets_manager_client.get_cred('DD_APP_KEY') DATADOG_API_KEY = datadog_secrets_manager_client.get_cred('DD_API_KEY') return DATADOG_APP_KEY, DATADOG_API_KEY def publish_datadog_metric(dms_id, metric, extra_tags=[]): """Publish Datadog metric.""" if config.DISABLE_PUBLISHING_METRICS: return app_key, api_key = _get_datadog_credentials() call_datadog_with_metric( metric, [ f'dms_id:{dms_id}', f'environment:{config.ENVIRONMENT}' ] + extra_tags, api_key=api_key, app_key=app_key )