
    bDg(                       d dl mZ d dlmZmZ d dlmZ d dlZd dlZddl	m
Z
  G d de      Ze G d	 d
             Z G d dej                        Z G d dej                        ZddZddZ	 	 	 	 ddZd dZ	 	 	 	 	 	 	 d!	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d"dZ ed      e G d d                    Z ed      e G d d                    Z ed      e G d d                    Zy)#    )annotations)event_classT_JSON_DICT)	dataclassN   )ioc                  <     e Zd ZdZddZedd       Z fdZ xZS )MemoryDumpConfigz[
    Configuration for memory dump. Used only when "memory-infra" category is enabled.
    c                    | S N selfs    K/var/www/highfloat_scraper/venv/lib/python3.12/site-packages/cdp/tracing.pyto_jsonzMemoryDumpConfig.to_json   s        c                     | |      S r   r   clsjsons     r   	from_jsonzMemoryDumpConfig.from_json       4yr   c                >    dj                  t        | 	               S )NzMemoryDumpConfig({}))formatsuper__repr__)r   	__class__s    r   r   zMemoryDumpConfig.__repr__   s    %,,UW-=-?@@r   )returndict)r   r   r   r
   )	__name__
__module____qualname____doc__r   classmethodr   r   __classcell__)r   s   @r   r
   r
      s-      A Ar   r
   c                      e Zd ZU dZded<   dZded<   dZded<   dZded<   dZded	<   dZ	ded
<   dZ
ded<   dZded<   ddZedd       Zy)TraceConfigNtyping.Optional[str]record_modeztyping.Optional[bool]enable_samplingenable_systraceenable_argument_filterz!typing.Optional[typing.List[str]]included_categoriesexcluded_categoriessynthetic_delaysz!typing.Optional[MemoryDumpConfig]memory_dump_configc                X   t               }| j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   | j
                  | j
                  D cg c]  }| c}|d<   | j                  | j                  D cg c]  }| c}|d<   | j                  | j                  D cg c]  }| c}|d<   | j                  | j                  j                         |d<   |S c c}w c c}w c c}w )	N
recordModeenableSamplingenableSystraceenableArgumentFilterincludedCategoriesexcludedCategoriessyntheticDelaysmemoryDumpConfig)
r   r)   r*   r+   r,   r-   r.   r/   r0   r   )r   r   is      r   r   zTraceConfig.to_json:   s+    F'!%!1!1D+%)%9%9D!"+%)%9%9D!"&&2+/+F+FD'(##/595M5M)N!)ND%&##/595M5M)N!)ND%&  ,262G2G&HQq&HD"#"".'+'>'>'F'F'HD#$ *O)N&Hs   	D:	D"#	D'c                    | d|v rt        |d         nd d|v rt        |d         nd d|v rt        |d         nd d|v rt        |d         nd d|v r|d   D cg c]  }t        |       c}nd d|v r|d   D cg c]  }t        |       c}nd d|v r|d   D cg c]  }t        |       c}nd d|v rt        j                  |d         	      S d 	      S c c}w c c}w c c}w )
Nr2   r3   r4   r5   r6   r7   r8   r9   )r)   r*   r+   r,   r-   r.   r/   r0   )strboolr
   r   r   r   r:   s      r   r   zTraceConfig.from_jsonN   s   3?43GD./T<LPT<TD&6!78Z^<LPT<TD&6!78Z^I_cgIg4-C(D#EmqPdhlPl6J1K LAQ LrvPdhlPl6J1K LAQ LrvJ[_cJcd3D.EFc!fFimWimqWq/99$?Q:RS	
 		
 x|	
 		

 !M LFs   C;CC$)r   r   )r   r   r   r'   )r    r!   r"   r)   __annotations__r*   r+   r,   r-   r.   r/   r0   r   r$   r   r   r   r   r'   r'       s     )-K%, .2O*1 .2O*1 5918 >B:A >B:A ;?7> =A9@( 

 

r   r'   c                  2    e Zd ZdZdZdZddZedd       Zy)	StreamFormatz
    Data format of a trace. Can be either the legacy JSON format or the
    protocol buffer format. Note that the JSON format will be deprecated soon.
    r   protoc                    | j                   S r   valuer   s    r   r   zStreamFormat.to_jsond       zzr   c                     | |      S r   r   r   s     r   r   zStreamFormat.from_jsong   r   r   Nr   r<   )r   r<   r   rA   )	r    r!   r"   r#   JSONPROTOr   r$   r   r   r   r   rA   rA   \   s,     DE  r   rA   c                  2    e Zd ZdZdZdZddZedd       Zy)	StreamCompressionzB
    Compression type to use for traces returned via streams.
    nonegzipc                    | j                   S r   rD   r   s    r   r   zStreamCompression.to_jsons   rF   r   c                     | |      S r   r   r   s     r   r   zStreamCompression.from_jsonv   r   r   NrH   )r   r<   r   rL   )	r    r!   r"   r#   NONEGZIPr   r$   r   r   r   r   rL   rL   l   s,     DD  r   rL   c               #     K   ddi} | }yw)z'
    Stop trace events collection.
    methodzTracing.endNr   cmd_dictr   s     r   endrW   {   s     
 	-H >Ds   
c               #  \   K   ddi} | }|d   D cg c]  }t        |       c}S c c}w w)zc
    Gets supported tracing categories.

    :returns: A list of supported tracing categories.
    rT   zTracing.getCategories
categories)r<   )rV   r   r:   s      r   get_categoriesrZ      s;      	)H >D ./qCF///s   ,',c              #  <   K   t               }| |d<   d|d}|}yw)zh
    Record a clock sync marker in the trace.

    :param sync_id: The ID of this clock sync marker
    syncIdzTracing.recordClockSyncMarkerrT   paramsNr   )sync_idr^   rV   r   s       r   record_clock_sync_markerra      s/      &FF81H >Ds   c               #  R   K   ddi} | }t        |d         t        |d         fS w)u   
    Request a global memory dump.

    :returns: A tuple with the following items:

        0. **dumpGuid** – GUID of the resulting global memory dump.
        1. **success** – True iff the global memory dump succeeded.
    rT   zTracing.requestMemoryDumpdumpGuidsuccess)r<   r=   rU   s     r   request_memory_dumpre      sA      	-H >DDT)_ s   %'c              #     K   t               }| | |d<   |||d<   |||d<   |||d<   ||j                         |d<   ||j                         |d<   ||j                         |d<   d	|d
}|}	yw)aY  
    Start trace events collection.

    :param categories: **(DEPRECATED)** *(Optional)* Category/tag filter
    :param options: **(DEPRECATED)** *(Optional)* Tracing options
    :param buffer_usage_reporting_interval: *(Optional)* If set, the agent will issue bufferUsage events at this interval, specified in milliseconds
    :param transfer_mode: *(Optional)* Whether to report trace events as series of dataCollected events or to save trace to a stream (defaults to ```ReportEvents````).
    :param stream_format: *(Optional)* Trace data format to use. This only applies when using ````ReturnAsStream```` transfer mode (defaults to ````json````).
    :param stream_compression: *(Optional)* Compression format to use. This only applies when using ````ReturnAsStream```` transfer mode (defaults to ````none```)
    :param trace_config: *(Optional)*
    NrY   optionsbufferUsageReportingIntervaltransferModestreamFormatstreamCompressiontraceConfigzTracing.startr]   )r   r   )
rY   rg   buffer_usage_reporting_intervaltransfer_modestream_formatstream_compressiontrace_configr^   rV   r   s
             r   startrr      s     ( &F)|#y&21P-. !.~ !.!6!6!8~%&8&@&@&B"# , 4 4 6}!H >Ds   A0A2zTracing.bufferUsagec                  >    e Zd ZU ded<   ded<   ded<   edd       Zy)BufferUsagetyping.Optional[float]percent_fullevent_countrE   c                     | d|v rt        |d         nd d|v rt        |d         nd d|v rt        |d               S d       S )NpercentFull
eventCountrE   )rv   rw   rE   )floatr   s     r   r   zBufferUsage.from_json   s_    7D7LtM23RV5AT5Id<01t*1T/%W&
 	
 @D
 	
r   N)r   r   r   rt   )r    r!   r"   r?   r$   r   r   r   r   rt   rt      s*    
 )('' "!
 
r   rt   zTracing.dataCollectedc                  .    e Zd ZU dZded<   edd       Zy)DataCollectedz
    Contains an bucket of collected trace events. When tracing is stopped collected events will be
    send as a sequence of dataCollected events followed by tracingComplete event.
    ztyping.List[dict]rE   c                R     | |d   D cg c]  }t        |       c}      S c c}w )NrE   rD   r_   r>   s      r   r   zDataCollected.from_json   s(    $(M2q472
 	
2s   $N)r   r   r   r}   r    r!   r"   r#   r?   r$   r   r   r   r   r}   r}      s!     
 
r   r}   zTracing.tracingCompletec                  L    e Zd ZU dZded<   ded<   ded<   ded	<   edd
       Zy)TracingCompletez
    Signals that tracing is stopped and there is no trace buffers pending flush, all data were
    delivered via dataCollected events.
    r=   data_loss_occurredz typing.Optional[io.StreamHandle]streamtyping.Optional[StreamFormat]trace_format"typing.Optional[StreamCompression]rp   c           	          | t        |d         d|v r"t        j                  j                  |d         nd d|v rt        j                  |d         nd d|v rt
        j                  |d               S d       S )NdataLossOccurredr   traceFormatrk   )r   r   r   rp   )r=   r   StreamHandler   rA   rL   r   s     r   r   zTracingComplete.from_json  s    #D);$<=@HD@P2??,,T(^<VZHUY]H]//]0CDcgYlptYt0::4@S;TU	
 	
 {	
 	
r   N)r   r   r   r   r   r   r   r   r   r     s3     ,,//::
 
r   r   )r   0typing.Generator[T_JSON_DICT, T_JSON_DICT, None])r   z<typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[str]])r`   r<   r   r   )r   zCtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[str, bool]])NNNNNNN)rY   r(   rg   r(   rm   ru   rn   r(   ro   r   rp   r   rq   ztyping.Optional[TraceConfig]r   r   )
__future__r   cdp.utilr   r   dataclassesr   enumtyping r   r   r
   r'   EnumrA   rL   rW   rZ   ra   re   rr   rt   r}   r   r   r   r   <module>r      sd   # - !   At A 8
 8
 8
v499  		 
0	7"( ,0(,BF.27;AE59'('%' *@' ,	'
 5' ?' 3' 
8'T "#

 
  $
& $%

 
  &
 &'

 
  (
r   