Skip to content

Commit 676d7cc

Browse files
committed
Improve logging and reporting
1 parent 6244eab commit 676d7cc

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

src/Package/V2Dumper.php

+6-3
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ public function dumpRoot(bool $verbose = false): void
109109
echo 'Dumping root'.PHP_EOL;
110110
}
111111
$this->dumpRootFile($rootFile, json_encode($rootFileContents, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR));
112+
$this->statsd->increment('packagist.metadata_dump_root');
112113
}
113114

114115
/**
@@ -151,7 +152,10 @@ public function dump(array $packageIds, bool $force = false, bool $verbose = fal
151152
$step = 50;
152153
while ($packageIds) {
153154
$dumpTime = new \DateTime;
154-
$packages = $this->getEM()->getRepository(Package::class)->getPackagesWithVersions(array_splice($packageIds, 0, $step));
155+
$idBatch = array_splice($packageIds, 0, $step);
156+
$this->logger->debug('Dumping package ids', ['ids' => $idBatch]);
157+
$packages = $this->getEM()->getRepository(Package::class)->getPackagesWithVersions($idBatch);
158+
unset($idBatch);
155159
$packageNames = array_map(static fn (Package $pkg) => $pkg->getName(), $packages);
156160
$advisories = $this->getEM()->getRepository(SecurityAdvisory::class)->getAdvisoryIdsAndVersions($packageNames);
157161

@@ -232,8 +236,6 @@ public function dump(array $packageIds, bool $force = false, bool $verbose = fal
232236
sleep(1);
233237
}
234238
}
235-
236-
$this->statsd->increment('packagist.metadata_dump_v2');
237239
}
238240

239241
public function gc(): void
@@ -385,5 +387,6 @@ private function writeV2File(Package $package, string $name, string $path, strin
385387
$this->writeFileAtomic($path, $contents, intval(ceil($filemtime/10000)));
386388

387389
$this->redis->zadd('metadata-dumps', [$pkgWithDevFlag => $filemtime]);
390+
$this->statsd->increment('packagist.metadata_dump_v2');
388391
}
389392
}

src/Service/CdnClient.php

+5-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace App\Service;
44

5+
use Psr\Log\LoggerInterface;
56
use Symfony\Component\HttpClient\NoPrivateNetworkHttpClient;
67
use Symfony\Contracts\HttpClient\ResponseInterface;
78
use Symfony\Contracts\HttpClient\ResponseStreamInterface;
@@ -14,6 +15,7 @@ public function __construct(
1415
private ?string $metadataPublicEndpoint,
1516
private ?string $metadataApiKey,
1617
private ?string $cdnApiKey,
18+
private readonly LoggerInterface $logger,
1719
) {}
1820

1921
/**
@@ -46,7 +48,9 @@ public function uploadMetadata(string $path, string $contents): int
4648
],
4749
]);
4850
// wait for status code at least
49-
$resp->getStatusCode();
51+
if ($resp->getStatusCode() !== 200) {
52+
$this->logger->error('Failed purging '.$path.' from CDN while writing an update to it', ['filemtime' => $time/10000]);
53+
}
5054

5155
return $time;
5256
}

0 commit comments

Comments
 (0)