def configure(self, request=None): silky_config = SilkyConfig() self.request = request self._configure() if silky_config.SILKY_PYTHON_PROFILER_FUNC: should_profile = silky_config.SILKY_PYTHON_PROFILER_FUNC(request) else: should_profile = silky_config.SILKY_PYTHON_PROFILER if should_profile: self.local.pythonprofiler = cProfile.Profile() self.local.pythonprofiler.enable()
def process_request(self, request): DataCollector().clear() if not _should_intercept(request): return Logger.debug('process_request') request.silk_is_intercepted = True self._apply_dynamic_mappings() if not hasattr(SQLCompiler, '_execute_sql'): SQLCompiler._execute_sql = SQLCompiler.execute_sql SQLCompiler.execute_sql = execute_sql silky_config = SilkyConfig() should_profile = silky_config.SILKY_PYTHON_PROFILER if silky_config.SILKY_PYTHON_PROFILER_FUNC: should_profile = silky_config.SILKY_PYTHON_PROFILER_FUNC(request) request_model = RequestModelFactory(request).construct_request_model() DataCollector().configure(request_model, should_profile=should_profile)