o
    Á¿i  ã                   @   s,  d dl mZ d dlmZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ eeƒZded	ed
ee ddfdd„Zd#d	edee ddfdd„Zd#d	edee ddfdd„Zdededdfdd„Z								d$dee dee dee dee dee dee dee d ee ddfd!d"„ZdS )%é    )ÚOptional)ÚERROR_TYPES)ÚGIT_TELEMETRY)ÚGIT_TELEMETRY_COMMANDS)Ú
get_logger)Útelemetry_writer)ÚTELEMETRY_NAMESPACEÚcommandÚdurationÚ	exit_codeÚreturnNc                 C   s†   t  d| ||¡ d| ff}t tjtjd|¡ t tjtj	||¡ |d ur?|dkrAd| fdt
|ƒff}t tjtjd|¡ d S d S d S )Nz+Recording git command telemetry: %s, %s, %sr	   é   r   r   )ÚlogÚdebugr   Úadd_count_metricr   ÚCIVISIBILITYr   ÚCOMMAND_COUNTÚadd_distribution_metricÚ
COMMAND_MSÚstrÚCOMMAND_ERRORS)r	   r
   r   ÚtagsÚ
error_tags© r   ú`/home/ubuntu/.local/lib/python3.10/site-packages/ddtrace/internal/ci_visibility/telemetry/git.pyÚrecord_git_command   s   
þr   Úerrorc                 C   sd   t  d| |¡ t tjtjd¡ t tjtj	| ¡ |d ur0dt
|ƒff}t tjtjd|¡ d S d S )Nz*Recording search commits telemetry: %s, %sr   Ú
error_type)r   r   r   r   r   r   r   ÚSEARCH_COMMITS_COUNTr   ÚSEARCH_COMMITS_MSr   ÚSEARCH_COMMITS_ERRORS©r
   r   r   r   r   r   Úrecord_search_commits   s   
ÿÿþr"   c                 C   s`   t  d| |¡ t tjtjd¡ t tjtj	| ¡ |d ur.d|ff}t tjtj
d|¡ d S d S )Nz/Recording objects pack request telmetry: %s, %sr   r   )r   r   r   r   r   r   r   ÚOBJECTS_PACK_COUNTr   ÚOBJECTS_PACK_MSÚOBJECTS_PACK_ERRORSr!   r   r   r   Úrecord_objects_pack_request%   s   
ÿþr&   Ú	num_filesÚ	num_bytesc                 C   s6   t  d| |¡ t tjtj|¡ t tjtj| ¡ d S )Nz-Recording objects pack data telemetry: %s, %s)	r   r   r   r   r   r   r   ÚOBJECTS_PACK_BYTESÚOBJECTS_PACK_FILES)r'   r(   r   r   r   Úrecord_objects_pack_data0   s   
ÿ
ÿr+   FÚcoverage_enabledÚskipping_enabledÚrequire_gitÚitr_enabledÚflaky_test_retries_enabledÚknown_tests_enabledÚearly_flake_detection_enabledÚtest_management_enabledc           	      C   s²   t  d| |||||||¡	 g }| r| d¡ |r| d¡ |r$| d¡ |r+| d¡ |r2| d¡ |r9| d¡ |r@| d¡ |rG| d	¡ |rWt tjtjd
t	|ƒ¡ d S d S )NzÛRecording settings telemetry: coverage_enabled=%s, skipping_enabled=%s, require_git=%s, itr_enabled=%s, flaky_test_retries_enabled=%s, known_tests_enabled=%s, early_flake_detection_enabled=%s, test_management_enabled=%s)r,   Útrue)Úitrskip_enabledr4   )r.   r4   )r/   r4   )r0   r4   )r1   r4   )r2   r4   )r3   r4   r   )
r   r   Úappendr   r   r   r   r   ÚSETTINGS_RESPONSEÚtuple)	r,   r-   r.   r/   r0   r1   r2   r3   Úresponse_tagsr   r   r   Úrecord_settings_response:   sB   
	ï







ÿÿr:   )N)FFFFFFFF)Útypingr   Ú2ddtrace.internal.ci_visibility.telemetry.constantsr   r   r   Úddtrace.internal.loggerr   Úddtrace.internal.telemetryr   Ú$ddtrace.internal.telemetry.constantsr   Ú__name__r   ÚfloatÚintr   r"   r&   r+   Úboolr:   r   r   r   r   Ú<module>   sN    
øÿþýüûúùø	÷