in app/classes/ReleaseInsights/Beta.php [210:279]
public function crashes(): array
{
$data = [];
foreach (range(1, $this->count) as $beta_number) {
$beta_number = (string) $this->release . '.0b' . (string) $beta_number;
if (defined('TESTING_CONTEXT')) {
$beta_number = str_replace('94', '131', $beta_number);
$target = URL::Socorro->target() . 'crash-stats.mozilla.org_' . $beta_number . '.json';
} else {
$target = URL::Socorro->value . 'SuperSearch/?version=' . $beta_number . '&_facets=signature&product=Firefox'; // @codeCoverageIgnore
}
$temp = Json::load($target, 3600);
// In local tests, we always have test data
// @codeCoverageIgnoreStart
if (empty($temp)) {
$data[$beta_number] = [
'total' => 0,
'signatures' => [],
];
continue;
}
// @codeCoverageIgnoreEnd
$data[$beta_number] = [
'total' => $temp['total'],
'signatures' => $temp['facets']['signature'],
];
}
// Add crashes per RC
[$have_rc, $number_rc_builds] = $this->RCStatus();
if ($have_rc) {
foreach (range(1, $number_rc_builds) as $rc_number) {
$rc_number = (string) $this->release . '.0rc' . (string) $rc_number;
if (defined('TESTING_CONTEXT')) {
$rc_number = str_replace('94', '131', $rc_number);
$target = URL::Socorro->target() . 'crash-stats.mozilla.org_' . $rc_number . '.json';
} else {
$target = URL::Socorro->value . 'SuperSearch/?version=' . $rc_number . '&_facets=signature&product=Firefox'; // @codeCoverageIgnore
}
$temp = Json::load($target, 3600);
// In local tests, we always have test data
// @codeCoverageIgnoreStart
if (empty($temp)) {
$data[$rc_number] = [
'total' => 0,
'signatures' => [],
];
continue;
}
// @codeCoverageIgnoreEnd
$data[$rc_number] = [
'total' => $temp['total'],
'signatures' => $temp['facets']['signature'],
];
}
}
// Create a summary of the crashes across betas
$data['summary'] = [
'total' => array_sum(array_column($data, 'total')),
];
return $data;
}