Як ми реєструємо помилки вебсайту та перетворюємо їх на завдання

Ми впровадили надійну систему реєстрації помилок, яка автоматично перетворює критичні помилки на завдання для нашої інженерної команди.

--- У середину насиченого п’ятничного дня в Slack з’явилася низка повідомлень від команди підтримки клієнтів. Користувачі повідомляли про проблеми з процесом реєстрації, і одна й та ж помилка з’являлася кілька разів у наших логах. Один з наших бекенд-інженерів швидко витягнув деталі помилки, і стало зрозуміло, що нам потрібно діяти швидко – невеликий баг загрожував порушити процес реєстрації користувачів.

Розуміння ставок

Ця проблема була важливою не лише тому, що вона впливала на досвід користувачів, але й тому, що могла заважати нашому зростанню. Оскільки дедалі більше користувачів почали реєструватися на нашій платформі, ми відчули тиск забезпечити безперебійну реєстрацію. Якщо ми не зможемо швидко вирішити цю проблему, ми ризикуємо втратити потенційних ранніх прихильників, які можуть не повернутися після розчарувального досвіду.

Поглиблення в проблему

Помилка, про яку йдеться, була 500 Internal Server Error, яка виникала, коли користувачі намагалися надіслати свої реєстраційні форми. Це було особливо проблематично, оскільки помилка виникала випадковим чином; не кожна спроба завершувалася невдачею, але достатня кількість користувачів стикалася з нею, що стало серйозною проблемою. В одному випадку користувач повідомив, що не може створити обліковий запис після кількох спроб, що спонукало нашу команду провести подальше розслідування.

Початкові спроби та перешкоди

Нашим першим інстинктом було перевірити налаштування з’єднання з базою даних, оскільки вони часто викликають такі проблеми. Однак після кількох годин налагодження ми зрозуміли, що база даних працює правильно. Тоді ми звернули увагу на журнали застосунку, де знайшли спорадичні повідомлення про помилки, які не вказували на єдину проблему. Цей невдалий початок навчив нас важливості структурованого підходу до реєстрації помилок.

Впровадження надійного рішення

Ми вирішили створити централізовану систему реєстрації помилок, яка могла б ефективніше фіксувати та категоризувати помилки. Використовуючи комбінацію Sentry для відстеження помилок у реальному часі та Jira для управління завданнями, ми налаштували автоматизовані робочі процеси. Коли критична помилка реєструвалася, вона автоматично створювала завдання в Jira для відповідного члена команди. Ось спрощений фрагмент коду, що демонструє, як ми інтегрували Sentry у наш застосунок:

import sentry_sdk

sentry_sdk.init(
    dsn="https://examplePublicKey@o0.ingest.sentry.io/0",
    traces_sample_rate=1.0
)

def register_user(data):
    try:
        # Логіка реєстрації
    except Exception as e:
        sentry_sdk.capture_exception(e)  # Реєстрація помилки
        raise

Покращення досвіду користувачів

З моменту впровадження цієї системи ми спостерігаємо помітне зменшення помилок реєстрації, про які повідомляють користувачі. Автоматичне створення завдань дозволяє нашій інженерній команді пріоритизувати та швидко вирішувати проблеми. Як результат, процес реєстрації користувачів став більш надійним, що сприяло підвищенню задоволеності та утримання користувачів. Це покращення також позитивно відображається на наших метриках для /pricing та /for-candidates, оскільки ми можемо запевнити потенційних користувачів у стабільності нашої платформи.

Отримані ключові висновки

У процесі ми отримали кілька цінних уроків:

  • Структуроване ведення журналів є необхідним: Без чіткої категоризації відстеження помилок може стати хаотичним.
  • Автоматизація є множником ефективності: Автоматичне створення завдань економить час і зменшує ймовірність помилок.
  • Відгуки користувачів безцінні: Прямі повідомлення від користувачів часто підкреслюють проблеми, які ми можемо пропустити.
  • Інструменти для співпраці є критично важливими: Інтеграція таких інструментів, як Sentry та Jira, спрощує наш робочий процес.

Наслідки для кандидатів

Для кандидатів цей підхід підкреслює нашу прихильність до якості та надійності в наших інженерних практиках. Ми шукаємо людей, які не лише вміють програмувати, але й розуміють важливість надійного оброблення помилок і ведення журналів. Приєднуйтесь до нас, якщо хочете стати частиною команди, яка ставить на перше місце забезпечення безперебійного користувацького досвіду.

Наслідки для рекрутерів

Рекрутерам слід звернути увагу на те, що наша інженерна культура цінує прозорість і проактивне вирішення проблем. Ми шукаємо кандидатів, які можуть взаємодіяти зі складними системами та вносити свій внесок у наші зусилля з відстеження помилок. Розуміння нюансів управління помилками є критично важливим навиком, який ми прагнемо розвивати в нашій команді.

Майбутні роздуми

Хоча наша нова система реєстрації помилок виявилася ефективною, у нас ще є покращення, які потрібно зробити. Ми розглядаємо можливість розширення нашої реєстрації, щоб включити більше контекстуальних даних, що забезпечить глибші інсайти під час налагодження. Крім того, ми слідкуємо за впливом нашої стратегії ведення журналів на продуктивність, щоб переконатися, що це не негативно вплине на досвід користувачів. Якщо б нам довелося скасувати будь-яку частину цього процесу, ми б дослідили альтернативні фреймворки ведення журналів раніше, замість того, щоб застрягти в нашому початковому підході.

На завершення, перетворивши спосіб ведення журналів помилок і автоматизації завдань, ми не лише покращили наш продукт, але й створили більш ефективний робочий процес для нашої інженерної команди. Поки ми продовжуємо вдосконалювати цю систему, ми залишаємося відданими створенню надійної та зручної платформи для наших користувачів. ---

Пов'язані матеріали

  • Code screenshot plannedError Logging Integration
    Code snippet demonstrating Sentry integration for error logging.
  • Chart plannedError Reduction Metrics
    A chart showing the decrease in user-reported errors post-implementation.
  • Architecture diagram plannedAutomated Task Creation Workflow
    Diagram illustrating the automated workflow from error logging to task creation in Jira.

Також на Fitlane AI

Теми: error logging, task automation, website reliability, backend engineering, error tracking, Fitlane AI, engineering workflows