def start(self):
if self.run_suffix:<EOL><INDENT>self.data_suffix = self.run_suffix<EOL><DEDENT>if self.auto_data:<EOL><INDENT>self.load()<EOL><DEDENT>if self.source or self.source_pkgs:<EOL><INDENT>self.source_match = TreeMatcher(self.source)<EOL><DEDENT>else:<EOL><INDENT>if self.cover_dir:<EOL><INDENT>self.cover_match = TreeMatcher([self.cover_dir])<EOL><DEDENT>if self.pylib_dirs:<EOL><INDENT>self.pylib_match = TreeMatcher(self.pylib_dirs)<EOL><DEDENT><DEDENT>if self.include:<EOL><INDENT>self.include_match = FnmatchMatcher(self.include)<EOL><DEDENT>if self.omit:<EOL><INDENT>self.omit_match = FnmatchMatcher(self.omit)<EOL><DEDENT>if self.debug.should('<STR_LIT>'):<EOL><INDENT>self.debug.write("<STR_LIT>")<EOL>config_info = sorted(self.config.__dict__.items())<EOL>self.debug.write_formatted_info(config_info)<EOL><DEDENT>if self.debug.should('<STR_LIT>'):<EOL><INDENT>self.debug.write("<STR_LIT>")<EOL>self.debug.write_formatted_info(self.sysinfo())<EOL><DEDENT>self.collector.start()<EOL>self._started = True<EOL>self._measured = True<EOL>
Start measuring code coverage.

        Coverage measurement actually occurs in functions called after `start`
        is invoked.  Statements in the same scope as `start` won't be measured.

        Once you invoke `start`, you must also call `stop` eventually, or your
        process might not shut down cleanly.