Преглед изворни кода

Track stats for metadata dumps

Jordi Boggiano пре 5 година
родитељ
комит
a754883de5

+ 10 - 1
src/Packagist/WebBundle/Package/SymlinkDumper.php

@@ -22,6 +22,7 @@ use Packagist\WebBundle\Entity\Package;
 use Doctrine\DBAL\Connection;
 use Packagist\WebBundle\HealthCheck\MetadataDirCheck;
 use Predis\Client;
+use Graze\DogStatsD\Client as StatsDClient;
 
 /**
  * @author Jordi Boggiano <j.boggiano@seld.be>
@@ -117,6 +118,11 @@ class SymlinkDumper
      */
     private $awsMeta;
 
+    /**
+     * @var StatsDClient
+     */
+    private $statsd;
+
     /**
      * Constructor
      *
@@ -127,7 +133,7 @@ class SymlinkDumper
      * @param string                $targetDir
      * @param int                   $compress
      */
-    public function __construct(RegistryInterface $doctrine, Filesystem $filesystem, UrlGeneratorInterface $router, Client $redis, $webDir, $targetDir, $compress, $awsMetadata)
+    public function __construct(RegistryInterface $doctrine, Filesystem $filesystem, UrlGeneratorInterface $router, Client $redis, $webDir, $targetDir, $compress, $awsMetadata, StatsDClient $statsd)
     {
         $this->doctrine = $doctrine;
         $this->fs = $filesystem;
@@ -138,6 +144,7 @@ class SymlinkDumper
         $this->compress = $compress;
         $this->redis = $redis;
         $this->awsMeta = $awsMetadata;
+        $this->statsd = $statsd;
     }
 
     /**
@@ -507,6 +514,8 @@ class SymlinkDumper
             }
         }
 
+        $this->statsd->increment('packagist.metadata_dump');
+
         // TODO when a package is deleted, it should be removed from provider files, or marked for removal at least
         return true;
     }

+ 1 - 1
src/Packagist/WebBundle/Resources/config/services.yml

@@ -71,7 +71,7 @@ services:
     packagist.package_dumper:
         public: true
         class: Packagist\WebBundle\Package\SymlinkDumper
-        arguments: [ '@doctrine', '@filesystem', '@router', '@snc_redis.default_client', '%kernel.root_dir%/../web/', '%packagist_metadata_dir%', '%packagist_dumper_compress%', '%aws_metadata%' ]
+        arguments: [ '@doctrine', '@filesystem', '@router', '@snc_redis.default_client', '%kernel.root_dir%/../web/', '%packagist_metadata_dir%', '%packagist_dumper_compress%', '%aws_metadata%', '@Graze\DogStatsD\Client' ]
 
     packagist.user_provider:
         class: Packagist\WebBundle\Security\Provider\UserProvider