;ò
á&Ec           @   s  d  k  Z  d k Td  k Z d  k Z d  k Z d  k Z d  k Z d  k Z d  k Z d k	 l
 Z
 d  k Z d  k Z d f  d „  ƒ  YZ e d j oï d  k Z e ƒ  Z d Z e i ƒ  Z e i e _ d e _ d e _ d e _ d	 e _ d
 e _ e i e _ d e _ e i ƒ  Z x+ e d ƒ D] Z e i ƒ  e i d ƒ qWd Ge i GHe i  e ƒ Z! e i" e e ƒ Z# e! d GHe# d GHn d  S(   N(   s   *(   s   Sorters   ChannelStatc           B   s¡   t  Z d „  Z d „  Z e e d „ Z e e d d „ Z d „  Z d „  Z d „  Z	 d	 „  Z
 d
 „  Z e d „ Z e d „ Z e d „ Z e d „ Z d „  Z RS(   Nc         C   sX  d |  _ d |  _ d |  _ d |  _ t i ƒ  |  _ h  |  _ h  |  _ t i	 t i
 d d ƒ ƒ |  _ t i t i d t i d |  _ t i d d d f d	 d
 ƒ |  _ t i d d d f d	 d
 ƒ |  _ t i d d d f d	 d
 ƒ |  _ t i d d d f d	 d
 ƒ |  _ t i d d d f d	 d
 ƒ |  _ t i d d d	 d
 ƒ |  _ t i ƒ  |  _ d  S(   Ni    s   2026-09-19 03:45s   %Y-%m-%d %H:%Ms   datas   channelStatRXSpeed.dats   shapeiÐ  i   s   types   Float32(   s   selfs   updateTimings   systemUpdateTimes   systemStatsUpdates   channelss   times   systemUpdateCous   channelStatss   prev_channelStatss   mktimes   strptimes	   stop_times   PL2_inis   PL_paths   oss   seps   RX_Speed_filenames   numarrays   zeross   channel_RX_speeds   channel_TX_speeds   channel_RX_packetss   channel_TX_packetss   channel_multicast_packetss   PLD_response_times   PL2_Packetlogics   Packetlogics   pl(   s   self(    (    s   C:\Python\PL\ChannelStat.pys   __init__   s     						"!!!!!c      	   C   sÓ  t  d ƒ t i |  i ƒ |  _ t i ƒ  }	 t i |	 ƒ } | d d | d d } t i
 ƒ  } t i d j o5 t i i ƒ  } | i i ƒ  |  _ t i i | ƒ n t i i ƒ  |  _ t i
 ƒ  | } t i o d G|  i GHd G|  i GHn |	 |  i j  o | d |  i | <n t i t i ƒ  ƒ } | d d | d d } x( t | | ƒ D] } d	 |  i | d
 <qQWt i ƒ  } |  i |  i j o(t i ƒ  |  i! |  _" t# |  i ƒ |  _$ |  i$ d j o d |  _$ n d
 } |  i" d j o
 d } n x~t | ƒ D]p} t i o d |  i" | f GHn |  i' d
 7_' t i ƒ  |  _! x)t( t d ƒ |  i ƒ D]\ } } | d
 }
 t i o4 t  d t i, d | ƒ |
 | | d f d d ƒn y` |  i | d d
 d |  i- | | d d	 f <|  i | d d	 d |  i- | | d d
 f <Wn= d	 |  i- | | d d	 f <d	 |  i- | | d d
 f <n X|  i. | d d	 d
 d  d  … i ƒ  |  i. | d d	 d	 d +|  i. | d d
 d
 d  d  … i ƒ  |  i. | d d
 d	 d +y` |  i | d d
 d |  i. | d d	 d f <|  i | d d	 d |  i. | d d
 d f <Wn= d	 |  i. | d d	 d f <d	 |  i. | d d
 d f <n X|  i/ | d d	 d
 d  d  … i ƒ  |  i/ | d d	 d	 d +|  i/ | d d
 d
 d  d  … i ƒ  |  i/ | d d
 d	 d +yŽ |  i | d d
 |  i | d d
 d | |  i/ | d d	 d f <|  i | d d	 |  i | d d	 d | |  i/ | d d
 d f <Wn= d	 |  i/ | d d	 d f <d	 |  i/ | d d
 d f <n X|  i0 | d d	 d
 d  d  … i ƒ  |  i0 | d d	 d	 d +|  i0 | d d
 d
 d  d  … i ƒ  |  i0 | d d
 d	 d +yŽ |  i | d d
 |  i | d d
 d | |  i0 | d d	 d f <|  i | d d	 |  i | d d	 d | |  i0 | d d
 d f <Wn= d	 |  i0 | d d	 d f <d	 |  i0 | d d
 d f <n X|  i1 | d d	 d
 d  d  … i ƒ  |  i1 | d d	 d	 d +|  i1 | d d
 d
 d  d  … i ƒ  |  i1 | d d
 d	 d +y† |  i | d d
 |  i | d d
 d |  i1 | d d	 d f <|  i | d d	 |  i | d d	 d |  i1 | d d
 d f <Wn= d	 |  i1 | d d	 d f <d	 |  i1 | d d
 d f <n Xt i d j o t i t ƒ t i _ qZqZWqýWt i2 o4 |  i3 |  i- | | d
 … d	 d … f d |	 ƒq³n t  d t i ƒ  | ƒ d  Sd  S(   Ns   Start updateChannelStatDatai   i<   i   i	   s   x s   p iè  i    i   i   i
   s0   ################## %s ## %s ####################s2   %s Updating channel %s: Pointer=%s Responsetime=%ss   %Y-%m-%d %H:%M:%Ss   portiœ  s   RX speedf8.0iÿÿÿÿs   TX speeds
   RX packetss
   TX packetss   Multicast packetss   ch_times*   End updateChannelStatData and took %s sec.(4   s   debugMsgs   copys   deepcopys   selfs   channelStatss   prev_channelStatss   times   ch_times	   localtimes   pointers   clocks   start_response_times   webenvs   protocolVersions   PL2_conns   PL2_pldPLDConns   allocatePLconns   PL_apis   call_channel_stats_updates   releasePLconns   PL2_Packetlogics   pls   getChannelStatss   response_times   PL2_inis   developments	   stop_times   PLD_response_times
   localtime2s   pointer2s   ranges   ps   starts   systemUpdateTimes   updateTimings   lens   channelss   loopss   xs   systemStatsUpdates   zips   channels   channelStatsIndexs	   channelNos   strftimes   channel_RX_speeds   channel_TX_speeds   channel_RX_packetss   channel_TX_packetss   channel_multicast_packetss   saveChannelStats   saveChannelStatTofile(   s   selfs   loopss
   localtime2s   pointers   channelStatsIndexs   pointer2s   starts   channels	   localtimes   ch_times	   channelNos   PL2_pldPLDConns   response_times   start_response_times   ps   x(    (    s   C:\Python\PL\ChannelStat.pys   updateChannelStatData.   s¬    

 
 
 

4.2>>.2>>EI>>EI>>AE!
8c         C   sU  | t j o |  i } n t i ƒ  } | t j o t i ƒ  } n t i | ƒ d } t i | ƒ d } t i | ƒ d } t i | ƒ d }	 t i | ƒ d } d d g t i | ƒ } | i d | i d t i i } | i d d	 j o | d d
 | }
 nq | i d d j o | d d
 | d | }
 n? | i d d j o* | d d
 | d | d |	 d }
 n t d | | |
 | |
 | f ƒ y! t | d ƒ } t d | ƒ WnQ t | d ƒ } t d | ƒ t i d d	 d
 | d f d d ƒ i | ƒ n X| i | |
 ƒ | i | ƒ | i ƒ  t d t i ƒ  | ƒ d  Sd  S(   Ni    i   i   i   i   im  in  i   iÐ  i   i   i<   sH   DayNo:=%s Writing data %s record_number=%s record_size=%s filepointer=%ss   r+bs   File %s exists   w+bs   Creating file %s s   shapes   types   Float32s%   Save channelStat to file took %s sec.(   s   filenames   Nones   selfs   RX_Speed_filenames   times   starts   ch_times	   localtimes   years   hours   minutes   seconds   year_days   calendars   isleaps   days_in_years   datas   shapes   numarrays   Float32s   bytess   record_sizes   record_numbers   debugMsgs   opens   files   zeross   tofiles   seeks   close(   s   selfs   datas   filenames   ch_times   days_in_years   hours   years   record_sizes   starts   seconds   record_numbers   files   year_days   minute(    (    s   C:\Python\PL\ChannelStat.pys   saveChannelStatTofile­   s>    "*!1
i   c         C   sÑ  | t j o |  i } n t i ƒ  } | }	 | t j o
 | } n t i | ƒ d } t i | ƒ d } t i | ƒ d } t i | ƒ d } t i | ƒ d } t i | ƒ o
 d } n d } | d d	 | d
 | d
 | d }
 d d } t d | |
 | |
 | f ƒ y] t | d ƒ } t d | ƒ | i | |
 ƒ t i | d d d | d f ƒ} | i ƒ  Wn; t d | ƒ t i d d d	 | d f d d ƒ } n Xt d | t i ƒ  |	 f ƒ | Sd  S(   Ni    i   i   i   i   in  im  i   i   i<   s?   Fetching data %s record_number=%s record_size=%s filepointer=%ss   r+bs   File %s exists   types   Float32s   shapes*   Fetching data from %s caught an exception:iÐ  s)   Get channelStat from file %s took %s sec.(   s   filenames   Nones   selfs   RX_Speed_filenames   times   nows   starts   ch_times	   localtimes   years   hours   minutes   seconds   year_days   calendars   isleaps   days_in_years   record_numbers   record_sizes   debugMsgs   opens   files   seeks   numarrays   fromfiles   recordss   channel_datas   closes   zeros(   s   selfs   filenames   ch_times   recordss   days_in_years   seconds   files   years   channel_datas   starts   record_numbers   year_days   nows   minutes   hours   record_size(    (    s   C:\Python\PL\ChannelStat.pys   getChannelStatFromFileÝ   s8    

&
!*c   
      C   sø   t  i o¿ t i ƒ  } | d } |  i d | d d d ƒ } t i | ƒ }	 | } d |	 d d |	 d d } t i | | d  … d d … f i ƒ  | d | … d d … f i ƒ  f d ƒ } | } n |  i } t } |  i | | | d	 d
 | ƒSd  S(   Ni  s   ch_times   recordsi   iÏ  i   i<   i    f5.0s   end_time(   s   PL2_inis   saveChannelStats   times   nows
   start_dates   selfs   getChannelStatFromFiles   datas	   localtimes   end_times   pointers   numarrays   concatenates   copys   channel_datas   channel_RX_speeds   Nones   getChannelStatGraph2s
   speedCharts	   channelNo(
   s   selfs
   speedCharts	   channelNos   channel_datas
   start_dates   end_times   nows   datas   pointers	   localtime(    (    s   C:\Python\PL\ChannelStat.pys   getChannelStatRXSpeedGraph  s    

P
	c         C   s   |  i | |  i | d ƒ Sd  S(   Nf5.0(   s   selfs   getChannelStatGraphs
   speedCharts   channel_TX_speeds	   channelNo(   s   selfs
   speedCharts	   channelNo(    (    s   C:\Python\PL\ChannelStat.pys   getChannelStatTXSpeedGraph  s    c         C   s&   d | _ |  i | |  i | d ƒ Sd  S(   Ni   f5.0(   s
   speedCharts	   unit_types   selfs   getChannelStatGraphs   channel_RX_packetss	   channelNo(   s   selfs
   speedCharts	   channelNo(    (    s   C:\Python\PL\ChannelStat.pys   getChannelStatRXpacketsGraph  s    	c         C   s&   d | _ |  i | |  i | d ƒ Sd  S(   Ni   f5.0(   s
   speedCharts	   unit_types   selfs   getChannelStatGraphs   channel_TX_packetss	   channelNo(   s   selfs
   speedCharts	   channelNo(    (    s   C:\Python\PL\ChannelStat.pys   getChannelStatTXpacketsGraph"  s    	c         C   s&   d | _ |  i | |  i | d ƒ Sd  S(   Ni   f5.0(   s
   speedCharts	   unit_types   selfs   getChannelStatGraphs   channel_multicast_packetss	   channelNo(   s   selfs
   speedCharts	   channelNo(    (    s   C:\Python\PL\ChannelStat.pys#   getChannelStatMulticastpacketsGraph&  s    	c         C   s¿  d  k  } t d | d t i ƒd } d } d | d d } | d } | d }
 | i
 | | ƒ }	 t d | | | | |
 f d t i ƒ|  i h  j o|  i i ƒ  |
 } |  i | d	 | _ t i | _ t i ƒ  } t i | ƒ } | d
 d | d d } t i | | d  … d d
 … f i ƒ  | d | … d d
 … f i ƒ  f d ƒ } | | | | … |
 d d f i ƒ  d | |	 _! | | | | … |
 d d f i ƒ  d | |	 _" |	 i! |	 i" |	 _# | | | | … |
 d d f i ƒ  |	 _$ | | | | … |
 d d f i ƒ  |	 _% |	 i$ |	 i% |	 _& |	 i$ i' ƒ  d |	 _( |	 i% i' ƒ  d |	 _) |	 i& i' ƒ  d |	 _* |  i+ | |	 | | d | ƒ|  i, | | ƒ | _- n | i. |	 | ƒ Sd  S(   Ns   Creating channel-%s statgraphs   hosti<   i,  i   ih  i   s:   minutesInChart=%s timestep=%s base=%s points=%s channel=%ss   namei   i   i    i   i   f8.0s   end_time(/   s	   drawgraphs   debugMsgs	   channelNos   PL2_inis	   debugHosts   minutesInCharts   timesteps   bases   pointss   channels	   GraphDatas	   graphDatas   selfs   channelStatss   keyss   channelStatsIds
   speedCharts	   chartNames   PL_consts   USERDEF_CHARTs
   chart_types   times	   localtimes   mktimes   end_times   pointers   numarrays   concatenates   channel_datas   copys   ch_datas   sums	   timeConsts   traffic_total_ins   traffic_total_outs   traffic_totals	   lineData0s	   lineData1s	   lineData2s   maxs   inbound_maxvalues   outbound_maxvalues   total_maxvalues   systemStatslabelss   channelStatSideTexts   sideTexts   drawSpeedGraph(   s   selfs
   speedCharts   channel_datas	   channelNos	   timeConsts   end_times   timesteps   ch_datas   pointers	   graphDatas   channels	   localtimes   channelStatsIds   bases   minutesInCharts	   drawgraphs   points(    (    s   C:\Python\PL\ChannelStat.pys   getChannelStatGraph2*  s:    	

&P33++c         C   s   d  k  } t d | d t i ƒd } d }
 d | d d }	 | d } | d } | i
 | | ƒ } |  i h  j ox|  i i ƒ  | } |  i | d | _ t i | _ | | d	 d
 |	 |	 | !i ƒ  d | | _ | | d	 d |	 |	 | !i ƒ  d | | _ | i | i | _ | | d	 d
 |	 |	 | !i ƒ  | _ | | d	 d |	 |	 | !i ƒ  | _ | i | i | _ | i i ƒ  d | _  | i i ƒ  d | _! | i i ƒ  d | _" |  i# | | | |
 d | ƒ|  i% | | ƒ | _& n | i' | | ƒ Sd  S(   Ns   Creating channel-%s statgraphs   hosti<   i,  i   ih  i   s   namei   i    i   f8.0s   end_time((   s	   drawgraphs   debugMsgs	   channelNos   PL2_inis	   debugHosts   minutesInCharts   timesteps   bases   pointss   channels	   GraphDatas	   graphDatas   selfs   channelStatss   keyss   channelStatsIds
   speedCharts	   chartNames   PL_consts   USERDEF_CHARTs
   chart_types   channel_datas   sums	   timeConsts   traffic_total_ins   traffic_total_outs   traffic_totals   copys	   lineData0s	   lineData1s	   lineData2s   maxs   inbound_maxvalues   outbound_maxvalues   total_maxvalues   systemStatslabelss   end_times   channelStatSideTexts   sideTexts   drawSpeedGraph(   s   selfs
   speedCharts   channel_datas	   channelNos	   timeConsts   end_times	   drawgraphs   channelStatsIds	   graphDatas   bases   timesteps   minutesInCharts   channels   points(    (    s   C:\Python\PL\ChannelStat.pys   getChannelStatGraphX  s0    	

..&&c         C   s  d  k  } d }	 d } d |	 d d } |	 d } t i ƒ  |  i j  o |  i } t i	 |  i ƒ } n t i	 ƒ  } t i
 | ƒ } | d d | d d }
 t i | _ d	 | _ | i | | ƒ } d
 | _ d
 | _ d
 | _ t i |  i |
 i ƒ  |  i d |
 !i ƒ  f d ƒ } | | | | !i ƒ  | _ d | _ d | _ | | | | !i ƒ  | _ t i  d | d d ƒ | _! t i  d | d d ƒ | _" d G| Gt# | i ƒ GH| i i$ ƒ  d | _% | i! i$ ƒ  d | _& | i" i$ ƒ  d | _' |  i( | | | | d | ƒ| i) | | ƒ Sd  S(   Ni   i,  i<   i   ih  i   i   i   i   s      i    s   shapes   types   Float32s   ======f8.0s   end_time(*   s	   drawgraphs   minutesInCharts   timesteps   bases   pointss   times   selfs	   stop_times   end_times	   localtimes   mktimes   pointers   PL_consts   USERDEF_CHARTs
   speedCharts
   chart_types	   unit_types	   GraphDatas	   graphDatas	   data0Names	   data1Names	   data2Names   numarrays   concatenates   PLD_response_times   copys   ch_datas   sums   traffic_total_ins   traffic_total_outs   traffic_totals	   lineData0s   zeross	   lineData1s	   lineData2s   lens   maxs   inbound_maxvalues   outbound_maxvalues   total_maxvalues   systemStatslabelss   drawSpeedGraph(   s   selfs
   speedCharts   end_times	   drawgraphs   timesteps   ch_datas	   graphDatas   bases	   localtimes   minutesInCharts   pointers   points(    (    s   C:\Python\PL\ChannelStat.pys   getPLDresponseTime}  s<    	
					5		c      	   C   sa  | t j o t i ƒ  } n | | d }	 t i d t i |	 ƒ ƒ | _ t i d t i | ƒ ƒ | _	 | i | _
 | i	 | _ t |	 | ƒ | } t |	 | ƒ } t | i
 d d !ƒ } t | i
 d d !ƒ } t | i
 d d !ƒ } | d	 | d
 | } t i oT | i GH| i	 GHt i d t i | ƒ ƒ GHd Gt | ƒ Gt | d ƒ GHd G| GHn g  }
 xQ t d d ƒ D]@ } |
 i d t i d t i | | | | | d ƒ ƒ ƒ qoWd } d g | d } xH t d | | d ƒ D]0 } |
 | | | t | | ƒ d <| d 7} qáW| d | !} d | d <t i o | d d
 !Gt | ƒ GHn | | _  | Sd  S(   Ni   s   %Y-%m-%d %H:%M:%Si   i   i   i   i   i   i  i<   s   diff in sec=s	   points = i    i   s   -s   %H:%Mi,  s    i   iÿÿÿÿ(!   s   end_times   Nones   times   pointss
   start_times   strftimes	   localtimes
   speedCharts   stat_start_times   stat_end_times   graph_start_times   graph_end_times   longs   timesteps   firsts   ints   diffs   hours   minutes   seconds   time_tmps   PL2_inis   developments   labels_names   ranges   xs   appends   gmtimes   ys   labelss   lens	   graphDatas   speed_labels(   s   selfs
   speedCharts	   graphDatas   pointss   timesteps   end_times   labelss   seconds   diffs
   start_times   labels_names   minutes   time_tmps   hours   ys   xs   first(    (    s   C:\Python\PL\ChannelStat.pys   systemStatslabels­  sF    
 >  

	c         C   sŽ  t  ƒ  } | d } |  i i ƒ  | }	 g  } xW| g  i	 } |  i |	 D] }
 | t |
 ƒ ƒ qG ~ d d ƒD]}
 |  i |	 |
 } |
 i d ƒ } t | ƒ t j o! | d d f | i d ƒ 7} nœ t | ƒ t j o. x… | D] } | t | ƒ i d ƒ 7} qá Wn[ t | ƒ t j o | | i d ƒ 7} n1 t | ƒ t j o | t | ƒ i d ƒ 7} n t i o	 | GHn | i	 | ƒ qm W| Sd  S(   Ni   s   reversei   s   Nos   Yesi   (   s   Sorters   sorts	   channelNos   channels   selfs   channelStatss   keyss   channelStatsIds   sideTexts   appends   _[1]s   xs   strs   values   ljusts   ch_infs   types   bools   rjusts   tuples   js   ints   PL2_inis   development(   s   selfs
   speedCharts	   channelNos   sorts   js   ch_infs   sideTexts   values   _[1]s   channelStatsIds   xs   channel(    (    s   C:\Python\PL\ChannelStat.pys   channelStatSideTextâ  s,    	
A ! !
	(   s   __name__s
   __module__s   __init__s   updateChannelStatDatas   Nones   saveChannelStatTofiles   getChannelStatFromFiles   getChannelStatRXSpeedGraphs   getChannelStatTXSpeedGraphs   getChannelStatRXpacketsGraphs   getChannelStatTXpacketsGraphs#   getChannelStatMulticastpacketsGraphs   getChannelStatGraph2s   getChannelStatGraphs   getPLDresponseTimes   systemStatslabelss   channelStatSideText(    (    (    s   C:\Python\PL\ChannelStat.pys   ChannelStat   s   		0*					.%05s   __main__i   i    i   s   2006-09-10 00:00s   2006-09-11 00:00i
   s   ++++($   s   oss   PL_debugs   PL2_inis   numarrays   calendars   times   copys   webenvs   PL_consts   sorts   Sorters   PL2_conns   PL2_Packetlogics   ChannelStats   __name__s	   drawgraphs   cs	   channelNos	   GraphParas
   speedCharts   LIVEL_LINE_CHARTs   charts
   chart_types   graphs   outputs   graph_start_times   graph_end_times   ts   ranges   xs   updateChannelStatDatas   sleeps   getPLDresponseTimes   g0s   getChannelStatRXSpeedGraphs   g(   s   ChannelStats   calendars
   speedCharts   PL2_Packetlogics   numarrays   Sorters   PL_consts   webenvs   g0s	   channelNos   cs   copys   PL2_inis   gs	   drawgraphs   PL2_conns   ts   times   xs   os(    (    s   C:\Python\PL\ChannelStat.pys   ?   sJ   										ÿ ð								 
	 	