### Cписок основных аргументов, которые можно передать в функцию sentry_sdk.init:
0. dsn (Data Source Name) - уникальный ключ доступа к проекту в Sentry. DSN сообщает SDK, куда отправлять события. Если это значение не указано, SDK попытается прочитать его из переменной окружения SENTRY_DSN. Если эта переменная также не существует, SDK просто не будет отправлять никаких событий.
0. environment - окружение, в котором работает приложение ("production" или "development"). Это помогает разделять данные об ошибках между различными средами. По умолчанию SDK попытается прочитать это значение из переменной окружения SENTRY_ENVIRONMENT
0. release - версия приложения. По умолчанию SDK попытается прочитать это значение из переменной окружения SENTRY_RELEASE
0. integrations - список интеграций, которые следует активировать.
0. traces_sample_rate - определяет частоту сэмплирования трейсов (трейсинг запросов). Чтобы не перезагружать платформу тысячами однотипных ошибок, рекомендуется настроить данную переменную. При указании 1.0 будут отправляться 100% всех событий, а, например, при 0.25 — 25%. Не забудьте понизить traces_sample_rate для продакшена, чтобы это не сказалось на производительности сервиса.
0. debug - режим отладки, который выводит сообщения в консоль.
0. before_send - функция обратного вызова, которая выполняется перед отправкой события в Sentry. Позволяет модифицировать или отфильтровать данные об ошибке перед их отправкой.
0. before_breadcrumb - функция обратного вызова, которая выполняется перед добавлением хлебной крошки (breadcrumb). Позволяет модифицировать или отфильтровать хлебные крошки.
0. sample_rate - определяет частоту отправки ошибок в диапазоне от 0,0 до 1,0. Значение по умолчанию равно 1,0, что означает отправку 100% событий с ошибками. Если установлено значение 0.1, то будет отправлено только 10% сообщений об ошибках. События выбираются случайным образом.
0. max_breadcrumbs - максимальное количество хлебных крошек, которые будут храниться для каждого события. По умолчанию это значение равно 100.
0. attach_stacktrace - управляет тем, прикрепляется ли трассировка стека к событию.
0. send_default_pii - управляет отправкой персональных идентифицирующих данных (PII), таких как имена пользователей и адреса электронной почты. Если установлено в True, PII будет отправляться, если доступно.
0. attach_event_enrich - функция обратного вызова, которая позволяет добавлять дополнительные данные к событию перед его отправкой.
0. shutdown_timeout - время ожидания завершения работы агента Sentry при выходе из приложения. Значение по умолчанию зависит от SDK, но обычно составляет около двух секунд. Установка слишком низкого значения может вызвать проблемы с отправкой событий. Установка слишком высокого значения приведет к длительной блокировке приложения для пользователей, испытывающих проблемы с подключением к сети.
0. server_name - имя сервера. Для многих интеграций имя сервера фактически соответствует имени хоста и определяется автоматически.
0. ignore_errors - список строк или шаблонов регулярных выражений, соответствующих сообщениям об ошибках, которые не следует отправлять в Sentry.
ignore_transactions - список строк или шаблонов регулярных выражений, соответствующих именам транзакций, которые не следует отправлять в Sentry.
0. ca_certs - путь к сертификату CA в формате PEM.
max_value_length - Максимальное количество символов, которое может содержать одно значение, прежде чем оно будет обрезано (по умолчанию - 250).
enabled - Указывает, должен ли SDK отправлять события в Sentry. По умолчанию установлено значение true.
### Чем отличается traces_sample_rate и sample_rate?
- traces_sample_rate применяется специфически к трейсам, используемым для трейсинга запросов и измерения производительности.
- sample_rate контролирует сэмплирование для всех событий, включая ошибки, логи и другие события, которые вы решите отслеживать. По умолчанию равна 1, что означает, что все ошибки отправляются в Sentry.
Оба параметра позволяют управлять объемом данных, отправляемых в Sentry, что особенно важно при высокой активности приложения.
### События и транзакции это разные вещи.
События (Events): данные об ошибке, исключении или другом событии, произошедшем в приложении.
Транзакции (Transactions): записи о производительности приложения. В контексте мониторинга производительности Sentry может отслеживать различные транзакции, такие как время выполнения определенного запроса к серверу или другие метрики производительности.