def install(*args, **kwargs): if "config" in kwargs: ScoutConfig().set(**kwargs["config"]) context = AgentContext.build(config=ScoutConfig()) if not context.config.value("monitor"): logger.info( "APM Not Launching on PID: %s - Configuration 'monitor' is not true", getpid(), ) return False InstrumentManager().install_all() if objtrace is not None: objtrace.enable() logger.debug("APM Launching on PID: %s", getpid()) launched = CoreAgentManager().launch() AppMetadata.report() if launched: AgentContext.socket().stop() return True
def install(): if not AgentContext.instance().config.value('monitor'): logger.info( "APM Not Launching on PID: %s - Configuration 'monitor' is not true", getpid()) return False logger.debug('APM Launching on PID: %s', getpid()) CoreAgentManager().launch() AppMetadata.report() AgentContext.socket().stop()
def install(*args, **kwargs): if 'config' in kwargs: ScoutConfig().set(**kwargs['config']) context = AgentContext.build(config=ScoutConfig()) if not context.config.value('monitor'): logger.info( "APM Not Launching on PID: %s - Configuration 'monitor' is not true", getpid()) return False InstrumentManager().install_all() if HAS_OBJTRACE: objtrace.enable() logger.debug('APM Launching on PID: %s', getpid()) CoreAgentManager().launch() AppMetadata.report() AgentContext.socket().stop() return True
def test_report_app_metadata(send): AgentContext.build() AppMetadata().report() assert send.call_count == 1 (command, ), kwargs = send.call_args assert kwargs == {} message = command.message() assert message["ApplicationEvent"]["event_type"] == "scout.metadata" # py.test is installed, since it's running tests right now. assert ( "py", py.version) in message["ApplicationEvent"]["event_value"]["libraries"]
def test_report_app_metadata_error_getting_data(send): AgentContext.build() with patch( "scout_apm.core.metadata.AppMetadata.get_python_packages_versions", side_effect=RuntimeError, ): AppMetadata().report() assert send.call_count == 1 (command, ), kwargs = send.call_args assert kwargs == {} message = command.message() assert message["ApplicationEvent"]["event_type"] == "scout.metadata" assert message["ApplicationEvent"]["event_value"] == {}
def test_report_app_metadata_no_pkg_resources(send): AgentContext.build() pkg_resources = sys.modules["pkg_resources"] sys.modules["pkg_resources"] = None try: AppMetadata().report() finally: sys.modules["pkg_resources"] = pkg_resources assert send.call_count == 1 (command, ), kwargs = send.call_args assert kwargs == {} message = command.message() assert message["ApplicationEvent"]["event_type"] == "scout.metadata" assert message["ApplicationEvent"]["event_value"]["libraries"] == []