• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python stats.RequestStats类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中stats.RequestStats的典型用法代码示例。如果您正苦于以下问题:Python RequestStats类的具体用法?Python RequestStats怎么用?Python RequestStats使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了RequestStats类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: start_hatching

    def start_hatching(self, locust_count, hatch_rate):
        self.num_clients = locust_count
        slave_num_clients = locust_count / ((len(self.clients.ready) + len(self.clients.running)) or 1)
        slave_hatch_rate = float(hatch_rate) / ((len(self.clients.ready) + len(self.clients.running)) or 1)

        logger.info("Sending hatch jobs to %i ready clients" % (len(self.clients.ready) + len(self.clients.running)))
        if not (len(self.clients.ready) + len(self.clients.running)):
            logger.warning(
                "You are running in distributed mode but have no slave servers connected. Please connect slaves prior to swarming."
            )
            return

        if self.state != STATE_RUNNING and self.state != STATE_HATCHING:
            RequestStats.clear_all()

        for client in self.clients.itervalues():
            data = {
                "hatch_rate": slave_hatch_rate,
                "num_clients": slave_num_clients,
                "num_requests": self.num_requests,
                "host": self.host,
                "stop_timeout": None,
            }
            self.server.send(Message("hatch", data, None))

        RequestStats.global_start_time = time()
        self.state = STATE_HATCHING
开发者ID:amuraru,项目名称:locust,代码行数:27,代码来源:runners.py


示例2: start_hatching

    def start_hatching(self, locust_count=None, hatch_rate=None, wait=False):
        if self.state != STATE_RUNNING and self.state != STATE_HATCHING:
            RequestStats.clear_all()
            RequestStats.global_start_time = time()
            self.exceptions = {}

        # Dynamically changing the locust count
        if self.state != STATE_INIT and self.state != STATE_STOPPED:
            self.state = STATE_HATCHING
            if self.num_clients > locust_count:
                # Kill some locusts
                kill_count = self.num_clients - locust_count
                self.kill_locusts(kill_count)
            elif self.num_clients < locust_count:
                # Spawn some locusts
                if hatch_rate:
                    self.hatch_rate = hatch_rate
                spawn_count = locust_count - self.num_clients
                self.spawn_locusts(spawn_count=spawn_count)
        else:
            if hatch_rate:
                self.hatch_rate = hatch_rate
            if locust_count:
                self.spawn_locusts(locust_count, wait=wait)
            else:
                self.spawn_locusts(wait=wait)
开发者ID:justinlundy,项目名称:locust,代码行数:26,代码来源:runners.py


示例3: ramp_down

 def ramp_down(clients, hatch_stride):
     while True:
         if self.state != STATE_HATCHING:
             if self.num_clients < max_locusts:
                 gevent.sleep(calibration_time)
                 fail_ratio = RequestStats.sum_stats().fail_ratio
                 if fail_ratio <= acceptable_fail:
                     p = current_percentile(percent)
                     if p <= response_time_limit:
                         if hatch_stride <= precision:
                             print "sweet spot found, ramping stopped!"
                             return
                         print "ramping up..."
                         hatch_stride = max((hatch_stride/2),precision)
                         clients += hatch_stride
                         self.start_hatching(clients, self.hatch_rate)
                         return ramp_up(clients, hatch_stride, True)
             print "ramping down..."
             hatch_stride = max((hatch_stride/2),precision)
             clients -= hatch_stride
             if clients > 0:
                 self.start_hatching(clients, self.hatch_rate)
             else:
                 print "WARNING: no responses met the ramping thresholds, check your ramp configuration, locustfile and \"--host\" address"
                 print "ramping stopped!"
                 return
         gevent.sleep(1)
开发者ID:d1on,项目名称:locust,代码行数:27,代码来源:core.py


示例4: ramp_up

 def ramp_up(clients, hatch_stride, boundery_found=False):
     while True:
         if self.state != STATE_HATCHING:
             if self.num_clients >= max_locusts:
                 print "ramp up stopped due to max locusts limit reached:", max_locusts
                 client, hatch_stride = ramp_down_help(clients, hatch_stride)
                 return ramp_down(clients, hatch_stride)
             gevent.sleep(calibration_time)
             fail_ratio = RequestStats.sum_stats().fail_ratio
             if fail_ratio > acceptable_fail:
                 print "ramp up stopped due to acceptable fail ratio %d%% exceeded with fail ratio %d%%" % (acceptable_fail*100, fail_ratio*100)
                 client, hatch_stride = ramp_down_help(clients, hatch_stride)
                 return ramp_down(clients, hatch_stride)
             p = current_percentile(percent)
             if p >= response_time_limit:
                 print "ramp up stopped due to percentile response times getting high:", p
                 client, hatch_stride = ramp_down_help(clients, hatch_stride)
                 return ramp_down(clients, hatch_stride)
             if boundery_found and hatch_stride <= precision:
                 print "sweet spot found, ramping stopped!"
                 return
             print "ramping up..."
             if boundery_found:
                 hatch_stride = max((hatch_stride/2),precision)
             clients += hatch_stride
             self.start_hatching(clients, self.hatch_rate)
         gevent.sleep(1)
开发者ID:d1on,项目名称:locust,代码行数:27,代码来源:core.py


示例5: ramp_up

    def ramp_up(clients, hatch_stride, boundery_found=False):
        while True:
            if locust_runner.state != STATE_HATCHING:
                if locust_runner.num_clients >= max_locusts:
                    logger.info("Ramp up halted; Max locusts limit reached: %d" % max_locusts)
                    return ramp_down(clients, hatch_stride)

                gevent.sleep(calibration_time)
                fail_ratio = RequestStats.sum_stats().fail_ratio
                if fail_ratio > acceptable_fail:
                    logger.info("Ramp up halted; Acceptable fail ratio %d%% exceeded with fail ratio %d%%" % (acceptable_fail*100, fail_ratio*100))
                    return ramp_down(clients, hatch_stride)

                p = current_percentile(percent)
                if p >= response_time_limit:
                    logger.info("Ramp up halted; Percentile response times getting high: %d" % p)
                    return ramp_down(clients, hatch_stride)

                if boundery_found and hatch_stride <= precision:
                    logger.info("Sweet spot found! Ramping stopped at %i locusts" % (locust_runner.num_clients))
                    return remove_listeners()

                logger.info("Ramping up...")
                if boundery_found:
                    hatch_stride = max((hatch_stride/2),precision)
                clients += hatch_stride
                locust_runner.start_hatching(clients, locust_runner.hatch_rate)
            gevent.sleep(1)
开发者ID:glassesmouse,项目名称:locust,代码行数:28,代码来源:ramping.py


示例6: ramp_down

    def ramp_down(clients, hatch_stride):
        while True:
            if locust_runner.state != STATE_HATCHING:
                if locust_runner.num_clients < max_locusts:
                    gevent.sleep(calibration_time)
                    fail_ratio = RequestStats.sum_stats().fail_ratio
                    if fail_ratio <= acceptable_fail:
                        p = current_percentile(percent)
                        if p <= response_time_limit:
                            if hatch_stride <= precision:
                                logger.info("Sweet spot found! Ramping stopped at %i locusts" % (locust_runner.num_clients))
                                return remove_listeners()

                            logger.info("Ramping up...")
                            hatch_stride = max((hatch_stride/2),precision)
                            clients += hatch_stride
                            locust_runner.start_hatching(clients, locust_runner.hatch_rate)
                            return ramp_up(clients, hatch_stride, True)

                logger.info("Ramping down...")
                hatch_stride = max((hatch_stride/2),precision)
                clients -= hatch_stride
                if clients > 0:
                    locust_runner.start_hatching(clients, locust_runner.hatch_rate)
                else:
                    logger.warning("No responses met the ramping thresholds, check your ramp configuration, locustfile and \"--host\" address")
                    logger.info("RAMING STOPPED")
                    return remove_listeners()
            gevent.sleep(1)
开发者ID:glassesmouse,项目名称:locust,代码行数:29,代码来源:ramping.py


示例7: stats_csv

 def stats_csv(self):
     rows = [
         ",".join([
             '"Method"',
             '"Name"',
             '"# requests"',
             '"# failures"',
             '"Median response time"',
             '"Average response time"',
             '"Min response time"', 
             '"Max response time"',
             '"Average Content Size"',
             '"Reqests/s"',
         ])
     ]
 
     for s in chain(_sort_stats(self.request_stats), [RequestStats.sum_stats("Total", full_request_history=True)]):
         rows.append('"%s","%s",%i,%i,%i,%i,%i,%i,%i,%.2f' % (
             s.method,
             s.name,
             s.num_reqs,
             s.num_failures,
             s.median_response_time,
             s.avg_response_time,
             s.min_response_time or 0,
             s.max_response_time,
             s.avg_content_length,
             s.total_rps,
         ))
 
     return "\n".join(rows)
开发者ID:kevinpetersavage,项目名称:locust,代码行数:31,代码来源:runners.py


示例8: start_hatching

    def start_hatching(self, locust_count, hatch_rate):
        self.num_clients = locust_count
        slave_num_clients = locust_count / ((len(self.clients.ready) + len(self.clients.running)) or 1)
        slave_hatch_rate = float(hatch_rate) / ((len(self.clients.ready) + len(self.clients.running)) or 1)

        print "Sending hatch jobs to %i ready clients" % (len(self.clients.ready) + len(self.clients.running))
        if not (len(self.clients.ready)+len(self.clients.running)):
            print "WARNING: You are running in distributed mode but have no slave servers connected."
            print "Please connect slaves prior to swarming."
        
        if self.state != STATE_RUNNING and self.state != STATE_HATCHING:
            RequestStats.clear_all()
        
        for client in self.clients.itervalues():
            msg = {"hatch_rate":slave_hatch_rate, "num_clients":slave_num_clients, "num_requests": self.num_requests, "host":self.host, "stop_timeout":None}
            self.server.send({"type":"hatch", "data":msg})
        
        RequestStats.global_start_time = time()
        self.state = STATE_HATCHING
开发者ID:d1on,项目名称:locust,代码行数:19,代码来源:core.py


示例9: on_request_success_ramping

def on_request_success_ramping(_, _1, response_time, _2):
    if is_distributed:
        response_times.append(response_time)
    else:
        response_times.append(response_time)

        # remove from the queue
        rps = RequestStats.sum_stats().current_rps
        if len(response_times) > rps*PERCENTILE_TIME_WINDOW:
            for i in xrange(len(response_times) - int(math.ceil(rps*PERCENTILE_TIME_WINDOW))):
                response_times.popleft()
开发者ID:glassesmouse,项目名称:locust,代码行数:11,代码来源:ramping.py


示例10: distribution_stats_csv

 def distribution_stats_csv(self):
     rows = [",".join((
         '"Name"',
         '"# requests"',
         '"50%"',
         '"66%"',
         '"75%"',
         '"80%"',
         '"90%"',
         '"95%"',
         '"98%"',
         '"99%"',
         '"100%"',
     ))]
     for s in chain(_sort_stats(self.request_stats), [RequestStats.sum_stats("Total", full_request_history=True)]):
         if s.num_reqs:
             rows.append(s.percentile(tpl='"%s",%i,%i,%i,%i,%i,%i,%i,%i,%i,%i'))
         else:
             rows.append('"%s",0,"N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A","N/A"' % s.name)        
     return "\n".join(rows)
开发者ID:kevinpetersavage,项目名称:locust,代码行数:20,代码来源:runners.py


示例11: on_hatch_complete

 def on_hatch_complete(count):
     self.state = STATE_RUNNING
     logger.info("Resetting stats\n")
     RequestStats.reset_all()
开发者ID:justinlundy,项目名称:locust,代码行数:4,代码来源:runners.py


示例12: on_hatch_complete

 def on_hatch_complete(count):
     self.state = STATE_RUNNING
     print "Resetting stats\n"
     RequestStats.reset_all()
开发者ID:d1on,项目名称:locust,代码行数:4,代码来源:core.py



注:本文中的stats.RequestStats类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python stats.Stats类代码示例发布时间:2022-05-27
下一篇:
Python stats.std函数代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap