def execute(self):
        events.init.add_listener(self.__on_init)
        events.user_error.add_listener(self.__on_exception)
        events.worker_report.add_listener(self.__on_worker_report)
        events.quitting.add_listener(self.__on_quit)

        if os.getenv("JTL"):  # regular locust worker
            fname = os.getenv("JTL")
            self.fhd = open(fname, 'wt')
            fieldnames = list(self.__getrec(None, None, None, None).keys())
            dialect = guess_csv_dialect(",".join(fieldnames))
            self.writer = csv.DictWriter(self.fhd,
                                         fieldnames=fieldnames,
                                         dialect=dialect)
            self.writer.writeheader()
            events.request.add_listener(self.__on_request_success)
            events.request.add_listener(self.__on_request_failure)
        elif os.getenv("WORKERS_LDJSON"):  # master of distributed mode
            fname = os.getenv("WORKERS_LDJSON")
            self.fhd = open(fname, 'wt')
            self.writer = None
        else:
            raise ValueError(
                "Please specify JTL or WORKERS_LDJSON environment variable")

        main.main()

        self.fhd.close()
示例#2
0
    def execute(self):
        if os.getenv("SLAVES_LDJSON"):
            fname = os.getenv("SLAVES_LDJSON")
            is_csv = False
        elif os.getenv("JTL"):
            fname = os.getenv("JTL")
            is_csv = True
        else:
            raise ValueError("Please specify JTL or SLAVES_LDJSON environment variable")

        with open(fname, 'wt') as self.fhd:
            if is_csv:
                fieldnames = list(self.__getrec(None, None, None, None).keys())
                dialect = guess_csv_dialect(",".join(fieldnames))
                self.writer = csv.DictWriter(self.fhd, fieldnames=fieldnames, dialect=dialect)
                self.writer.writeheader()
                self.fhd.flush()
            else:
                self.writer = None  # FIXME: bad code design, have zero object for it

            events.request_success += self.__on_request_success
            events.request_failure += self.__on_request_failure
            events.locust_error += self.__on_exception
            events.slave_report += self.__on_slave_report
            events.quitting += self.__on_quit

            main.main()
            self.fhd.flush()
示例#3
0
    def execute(self):
        if os.getenv("SLAVES_LDJSON"):
            fname = os.getenv("SLAVES_LDJSON")
            is_csv = False
        elif os.getenv("JTL"):
            fname = os.getenv("JTL")
            is_csv = True
        else:
            raise ValueError(
                "Please specify JTL or SLAVES_LDJSON environment variable")

        with open(fname, 'wt') as self.fhd:
            if is_csv:
                fieldnames = list(self.__getrec(None, None, None, None).keys())
                dialect = guess_csv_dialect(",".join(fieldnames))
                self.writer = csv.DictWriter(self.fhd,
                                             fieldnames=fieldnames,
                                             dialect=dialect)
                self.writer.writeheader()
                self.fhd.flush()
            else:
                self.writer = None  # FIXME: bad code design, have zero object for it

            events.request_success += self.__on_request_success
            events.request_failure += self.__on_request_failure
            events.locust_error += self.__on_exception
            events.slave_report += self.__on_slave_report

            main.main()
            self.fhd.flush()
    def execute(self):
        if os.getenv("WORKERS_LDJSON"):
            fname = os.getenv("WORKERS_LDJSON")
            is_csv = False
        elif os.getenv("JTL"):
            fname = os.getenv("JTL")
            is_csv = True
        else:
            raise ValueError(
                "Please specify JTL or WORKERS_LDJSON environment variable")

        with open(fname, 'wt') as self.fhd:
            if is_csv:
                fieldnames = list(self.__getrec(None, None, None, None).keys())
                dialect = guess_csv_dialect(",".join(fieldnames))
                self.writer = csv.DictWriter(self.fhd,
                                             fieldnames=fieldnames,
                                             dialect=dialect)
                self.writer.writeheader()
                self.fhd.flush()
            else:
                self.writer = None  # FIXME: bad code design, have zero object for it

            events.init.add_listener(self.__on_init)
            events.request.add_listener(self.__on_request_success)
            events.request.add_listener(self.__on_request_failure)
            events.user_error.add_listener(self.__on_exception)
            events.worker_report.add_listener(self.__on_worker_report)
            events.quitting.add_listener(self.__on_quit)

            main.main()
            self.fhd.flush()
示例#5
0
文件: tools.py 项目: keithmork/taurus
    def __guess_delimiter(self, path):
        with open(path) as fhd:
            header = fhd.read(4096)  # 4KB is enough for header
            try:
                delimiter = guess_csv_dialect(header).delimiter
            except BaseException as exc:
                self.log.debug(traceback.format_exc())
                self.log.warning('CSV dialect detection failed (%s), default delimiter selected (",")', exc)
                delimiter = ","  # default value

        return delimiter
示例#6
0
文件: tools.py 项目: xmeng1/taurus
    def __guess_delimiter(self, path):
        with open(path) as fhd:
            header = fhd.read(4096)  # 4KB is enough for header
            try:
                delimiter = guess_csv_dialect(header).delimiter
            except BaseException as exc:
                self.log.debug(traceback.format_exc())
                self.log.warning('CSV dialect detection failed (%s), default delimiter selected (",")', exc)
                delimiter = ","  # default value

        return delimiter