"""Datadog Connector.""" from contextlib import contextmanager import config from datadog import api from datadog import initialize @contextmanager def datadog_connection(): """Context manager for datadog connection objects. Yields: datadog.api: connection to datadog api """ initialize(api_key=config.DD_API_KEY, app_key=config.DD_APP_KEY) yield api def publish_metric(metric: str, value: int = 1): """Publish a metric to DataDog.""" if config.ENVIRONMENT.lower() in ['dev', 'test']: return with datadog_connection() as datadog: datadog.Metric.send(metric=metric, points=value, tags=[ f'environment:{config.ENVIRONMENT}', f'service_name:{config.SERVICE_NAME}', ])