php 发送前过滤Sentry Laravel事件

ix0qys7i  于 2023-02-28  发布在  PHP
关注(0)|答案(1)|浏览(127)

目前正在使用Laravel的哨兵,真的很喜欢它,但我想过滤事件发送到哨兵通过客户端使用之前_发送或任何其他选项过滤/速率限制,以尝试减少重复的事件正在发送。我已经击中了几次事件,迅速堆积,并留下了一个大的打击,我们的事件配额。我没有商业计划书,所以没有选择速率限制在哨兵服务器端。任何选项,以删除事件后,设置数量的相同事件已发送或限制事件的总量,可以在24小时内发送?
谢谢

imzjd6km

imzjd6km1#

当我在寻找一个非常相似的答案时,这个问题出现了,因为我也没有找到答案,所以我花了一些时间自己想出了一个解决方案。
这归结为向/config/sentry.php添加以下内容

'before_send_transaction' => function (
    \Sentry\Event $transaction
): ?\Sentry\Event {
    $ignore = ['_debugbar', 'monitoring', 'pleaseignoreme'];
    $request = $transaction->getRequest();
    $check = array_filter($ignore, function ($url) use ($request) {
        if (stripos($request['url'], $url) !== false) {
            return true;
        }
    });

    if (count($check) > 0) {
        return null;
    }

    return $transaction;
},

相关问题