# typed: ignore # Copyright (c) 2015 Sqreen. All Rights Reserved. # Please refer to our terms for more information: https://www.sqreen.com/terms.html require 'sqreen/version' require 'sqreen/session' require 'sqreen/runner' require 'sqreen/log' require 'sqreen/exception' require 'sqreen/configuration' require 'sqreen/cb' require 'sqreen/default_cb' require 'sqreen/run_when_called_cb' require 'sqreen/framework_cb' require 'sqreen/events/attack' require 'sqreen/sdk' require 'sqreen/dependency/detector' require 'sqreen/worker' require 'sqreen/web_server' module Sqreen module Agent module_function def start return if Sqreen.to_bool(ENV['SQREEN_DISABLE']) Sqreen::Dependency::Detector.hook do Sqreen.log.debug "[#{Process.pid}] Attaching to webserver" Sqreen::WebServer.attach do Sqreen.log.debug "[#{Process.pid}] Attached to webserver" # TODO: maybe in dependency, not here, to separate concerns? Sqreen::Dependency::Sentry.ignore_sqreen_exceptions Sqreen::Dependency::NewRelic.ignore_sqreen_exceptions Sqreen::Worker.start(Sqreen.framework) end end end end end