1. Go to this page and download the library: Download scoutapp/scout-apm-php library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
scoutapp / scout-apm-php example snippets
use Psr\Log\LoggerInterface;
use Scoutapm\Agent;
use Scoutapm\Config;
use Scoutapm\Config\ConfigKey;
// It is assumed you are using a PSR Logger
/** @var LoggerInterface $psrLoggerImplementation */
$agent = Agent::fromConfig(
Config::fromArray([
ConfigKey::APPLICATION_NAME => 'Your application name',
ConfigKey::APPLICATION_KEY => 'your scout key',
ConfigKey::MONITORING_ENABLED => true,
]),
$psrLoggerImplementation
);
// If the core agent is not already running, this will download and run it (from /tmp by default)
$agent->connect();
// Use $agent to record `webTransaction`, `backgroundTransaction`, `instrument` or `tagRequest` as necessary
// Nothing is sent to Scout until you call this - so call this at the end of your request
$agent->send();
use Psr\Log\LoggerInterface;
use Psr\Log\LogLevel;
use Scoutapm\Agent;
use Scoutapm\Config;
use Scoutapm\Config\ConfigKey;
/** @var LoggerInterface $psrLoggerImplementation */
$agent = Agent::fromConfig(
Config::fromArray([
ConfigKey::APPLICATION_NAME => 'Your application name',
ConfigKey::APPLICATION_KEY => 'your scout key',
ConfigKey::MONITORING_ENABLED => true,
ConfigKey::LOG_LEVEL => LogLevel::ERROR, // <-- add this configuration to reduce logging verbosity
]),
$psrLoggerImplementation
);
use Doctrine\Common\Cache\RedisCache;
use Psr\Log\LoggerInterface;
use Roave\DoctrineSimpleCache\SimpleCacheAdapter;
use Scoutapm\Agent;
use Scoutapm\Config;
use Scoutapm\Config\ConfigKey;
/** @var LoggerInterface $psrLoggerImplementation */
$yourPsrSimpleCacheImplementation = new SimpleCacheAdapter(new RedisCache());
$agent = Agent::fromConfig(
Config::fromArray([
ConfigKey::APPLICATION_NAME => 'Your application name',
ConfigKey::APPLICATION_KEY => 'your scout key',
ConfigKey::MONITORING_ENABLED => true,
]),
$psrLoggerImplementation,
$yourPsrSimpleCacheImplementation
);
// Assumes $app is defined, e.g. an instance of `\Slim\App`
$app->add(\Scoutapm\Middleware\ScoutApmMiddleware::class);
// Assumes $serviceManager is defined, e.g. an instance of `\Laminas\ServiceManager\ServiceManager`
$serviceManager->setFactory(
\Scoutapm\Middleware\ScoutApmMiddleware::class,
static function (\Psr\Container\ContainerInterface $container) {
$logger = $container->get(LoggerInterface::class);
$agent = Agent::fromConfig(
Config::fromArray([
// any additional array configuration
]),
$logger
);
return new ScoutApmMiddleware($agent, $logger);
}
);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.