
    #wgo              
          d dl Z d dlZd dlZd dlZd dlZ	 d dlZd Z	  ej                  ej                  ej                          ej                  d      Zej                  ddd	       ej                  d
ddddj                  ej                         z         ej                  ddd       ej                  dddd       ej                  dddd       ej                  dddd       ej#                         \  ZZej(                  r ee      d k(  r"ej-                           ej.                  d        ee      dk(  r+ed    j1                  d      d kD  red    j3                  d      Zd Zd Z eej:                  e      D ]!  \  ZZ e dededed        edz  Zeez  Z# d!ed"z  z   ed"z  z   Z! e" ejF                  e!d#z        d$z        Z$ e d% ee!      d&e$d'       d(D ]  Z% e d)e%d* ee%d+z  e$z                 ej.                  d         ee      d,k  r"ejM                           ej.                  d       ed    Z'edd D  cg c]  }  ej:                  |        c} Ze jN                  jQ                  e'      r)ejR                  r e d-e'z          e jT                  e'       	  ejV                  e'eejX                  ejZ                  ej\                  ej^                  .        e jf                  e'      jh                  Z! e d0e'e!fz         y# e$ r	  ed      w xY w# e$ r Y w xY wc c} w # ej`                  $ rZ1 ed/ e2e1      z        dZ1[1ww xY w)1    Nz6[ERROR] Please make sure whisper is installed properlyc                 D    dD ]  }| dk  r	d| |fz  c S | dz  }  d| dfz  S )N)bytesKBMBg      @z%.3f%sGB )numxs     `/home/mcse/projects/flask/flask-venv/lib/python3.12/site-packages/../../../bin/whisper-create.pybyte_formatr      sA      a
V|a  6MC 
S$K	    a  %prog path timePerPoint:timeToStore [timePerPoint:timeToStore]*
%prog --estimate timePerPoint:timeToStore [timePerPoint:timeToStore]*

timePerPoint and timeToStore specify lengths of time, for example:

60:1440      60 seconds per datapoint, 1440 datapoints = 1 day of retention
15m:8        15 minutes per datapoint, 8 datapoints = 2 hours of retention
1h:7d        1 hour per datapoint, 7 days of retention
12h:2y       12 hours per datapoint, 2 years of retention
)usagez--xFilesFactorg      ?float)defaulttypez--aggregationMethodaveragestringz,Function to use when aggregating values (%s)z, )r   r   helpz--overwriteF
store_true)r   actionz
--estimatezWDon't create a whisper file, estimate storage requirements based on archive definitions)r   r   r   z--sparsez!Create new whisper as sparse filez--fallocatez$Create new whisper and use fallocate   ,zArchive z: z points of zs precision      g      @i   z
Estimated Whisper DB Size: z (z bytes on disk with 4k blocks)
)r      
   2   d   i  z"Estimated storage requirement for zk metrics: i     zOverwriting existing file: %s)xFilesFactoraggregationMethodsparseuseFallocatez
[ERROR] %szCreated: %s (%d bytes))5ossyssignaloptparsemathwhisperImportError
SystemExitr   SIGPIPESIG_DFLAttributeErrorOptionParseroption_parser
add_optionjoinaggregationMethods
parse_argsoptionsargsestimatelenprint_usageexitfindsplitarchivestotal_pointsmapparseRetentionDef	precisionpointsprintsizeintceil	disk_sizer
   
print_helppathexists	overwriteunlinkcreater    r!   r"   	fallocateWhisperExceptionexcstrstatst_size)retentionDefs   0r   <module>rU      s   
 
   M
 &--/
 &%%	
   )3W  E   .	&L7#=#=>?  @   l  K   u\J  K   U<A  C   lD  F  **,$
Y!^CHHQKY!^QS)A-7==D(, !:!:DA y&	h	
RSMHFL
 
x"}	!2	3$)$))D6M*T12)	T	I	' (# 2a	k!d(Y./1 22 #((1+t9q=
#((1+Aw $QR* &G%%l3 * 77>>$G--'$./"))D/,'..xg.B.B#*#<#<W^^%//1 rwwt} $- .s  MKLLM  v*  ,<#c(*++,s;   L& 'L7 M<A M &L47M ?M M-M((M-