52 lines
1.0 KiB
PHP
Raw Permalink Normal View History

2022-10-19 01:29:40 +03:00
<?php
namespace App\Exceptions\Trackers;
use App\Traits\Trackers as Base;
2022-10-19 01:29:40 +03:00
use Illuminate\Support\Str;
use Sentry\Event;
use Sentry\EventHint;
use Sentry\Tracing\SamplingContext;
class Sentry
{
use Base;
2022-10-19 01:29:40 +03:00
public static function beforeSend(Event $event, ?EventHint $hint): ?Event
{
$event->setRelease(version('short'));
2022-11-22 15:00:33 +03:00
$tags = static::getTrackerTags();
$event->setTags($tags);
2022-10-19 01:29:40 +03:00
return $event;
}
public static function tracesSampler(SamplingContext $context): float
{
2022-10-19 09:25:18 +03:00
if (static::shouldFilterAgent()) {
2022-10-19 01:29:40 +03:00
return 0.0;
}
return config('sentry.traces_sample_rate');
}
2022-10-19 09:25:18 +03:00
public static function shouldFilterAgent(): bool
2022-10-19 01:29:40 +03:00
{
$user_agent = request()->userAgent();
$filter_agents = explode(',', env('SENTRY_TRACES_FILTER_AGENTS'));
foreach ($filter_agents as $filter_agent) {
if (! Str::contains($user_agent, $filter_agent)) {
continue;
}
return true;
}
return false;
}
}