o
    ưiC                     @  s   d Z ddlmZ ddlZddlmZmZ ddlmZ ddd	Z	dd
dZ
dddZdddZdddZdddZ	ddddZdS )z(Shared helpers for Datadog integrations.    )annotationsN)ListOptional)StandardLoggingPayloadreturnstrc                   C     t ddS )NZ	DD_SOURCEZlitellmosgetenv r   r   c/home/app/Keep/.python/lib/python3.10/site-packages/litellm/integrations/datadog/datadog_handler.pyget_datadog_source      r   c                   C  r   )NZ
DD_SERVICEzlitellm-serverr	   r   r   r   r   get_datadog_service   r   r   c                   C  r   )NHOSTNAME r	   r   r   r   r   get_datadog_hostname   r   r   Optional[str]c                   C  s
   t dS )zt
    Get base URL override from common DD_BASE_URL env var.
    This is useful for testing or custom endpoints.
    ZDD_BASE_URLr	   r   r   r   r   get_datadog_base_url_from_env   s   
r   c                   C  r   )NZDD_ENVunknownr	   r   r   r   r   get_datadog_env   r   r   c                   C  r   )NPOD_NAMEr   r	   r   r   r   r   get_datadog_pod_name#   r   r   standard_logging_object Optional[StandardLoggingPayload]c                 C  s   t  t tddt t d}dd | D }| rS| dg p"g }|dd |D  | d	i p4i }|d
pH|dpH|dpH|d}|rS|	d|  d
|S )z8Build Datadog tags string used by multiple integrations.Z
DD_VERSIONr   )envZserviceversionr   r   c                 S  s   g | ]\}}| d | qS ):r   ).0kvr   r   r   
<listcomp>4   s    z$get_datadog_tags.<locals>.<listcomp>request_tagsc                 s  s    | ]}d | V  qdS )zrequest_tag:Nr   )r   tagr   r   r   	<genexpr>8   s    z#get_datadog_tags.<locals>.<genexpr>metadataZuser_api_key_team_aliasZ
team_aliasZuser_api_key_team_idZteam_idzteam:,)r   r   r
   r   r   r   itemsgetextendappendjoin)r   Z	base_tagstagsr#   r&   Zteam_tagr   r   r   get_datadog_tags'   s*   


r.   )r   r   )r   r   )N)r   r   r   r   )__doc__
__future__r   r
   typingr   r   Zlitellm.types.utilsr   r   r   r   r   r   r   r.   r   r   r   r   <module>   s    





