3 `* @sPddlZddlZddlZddlZddlZGdddejZedkrLejdS)Nc@seZdZdZddZdS)Plugin litespeedcCsi}i}d}|j}tjd|jdd|jdd|jdd|jddfj}x |jD]}tjd|}|dk o||jd rZd }y||jd Wn"t k ri||jd <YnX|j d d j |jd d j d} x| D]x}|j dj j d} y*||jd | d t | d 7<Wqt k rTt | d ||jd | d <YqXqWqZWd%} |d krx|jD]\} } y|d|| d<Wnt k ri|| <YnXi|| <x| jD]\}}|dkr|j|||| || d<|dkr|j|||| || d <|d!kr<|j|||| || d"<|d#kr`|j|||| || d$<|| kr||| |<qWqxWtj|d<|j||S)&NFz9curl -s -i -k -u %s:%s 'https://%s:%s/status?rpt=summary'rusernamepasswordhostportzREQ_RATE \[(.*)\]T rz, : SSL_BPS_INBPS_OUT MAXSSL_CONN PLAINCONNBPS_INSSLCONNAVAILSSLIDLECONN SSL_BPS_OUT AVAILCONNMAXCONNREQ_PROCESSINGtsZTOT_REQSZRPSZTOTAL_STATIC_HITSZ STATIC_RPSZTOTAL_PUB_CACHE_HITSZ PUB_CACHE_RPSZTOTAL_PRIVATE_CACHE_HITSZPRIVATE_CACHE_RPS) r r rrrrrrrrrr)Zget_agent_cacheospopengetread splitlinesresearchgroupKeyErrorreplacesplitstripfloatitemsZabsolute_to_per_secondtimeZset_agent_cache)selfconfigresultresultsdataZ prev_cacheresponselinetestlinesZkeyvalZmetricsZvhostZ statisticskeyvaluer3I/usr/local/lib/python3.6/site-packages/nixstatsagent/plugins/litespeed.pyrunsj:   *,        z Plugin.runN)__name__ __module__ __qualname__r5r3r3r3r4r s r__main__) Zpluginsrr'rbase64Z BasePluginrr6executer3r3r3r4sL