Клієнтські застосунки
Використовуйте OpenTelemetry у застосунках, що контролюються кінцевими користувачами та працюють на таких пристроях, як мобільні телефони, настільні компʼютери та торговельні кіоски.
Клієнтські застосунки представляють унікальні виклики для спостережуваності порівняно з серверними робочими навантаженнями. Ці застосунки працюють на пристроях, які ви не контролюєте, з різними можливостями мережі, апаратного забезпечення та непередбачуваною поведінкою користувачів.
Чому важлива спостережуваність на боці клієнтів
Традиційний моніторинг на боці сервера надає вам видимість того, що відбувається у ваших бекенд-системах, але пропускає повну картину того, з як взаємодіє користувач. Спостережуваність на боці клієнта допомагає вам:
- Розуміти реальний досвід користувача: бачити фактичні час завантаження сторінок, частоту кадрів, та реактивність, як їх відчувають користувачі.
- Вирішувати проблеми в контексті: корелювати помилки з характеристиками пристрою, умовами мережі та діями користувачів.
- Відстежувати транзакції від кінця до кінця: зʼєднувати відстеження трейсу клієнтського інтерфейсу з трейсами бекенду для повної відстежуваності розподілених систем.
- Моніторити стан застосунків у масштабі: агрегувати телеметрію серед вашої бази користувачів, щоб виявляти закономірності та тенденції.
Ключові відмінності від інструментації серверів
При інструментуванні клієнтських застосунків, враховуйте такі фактори:
- Обмеження ресурсів: мобільні пристрої та оглядачі обмежені обсягом памʼяті, процесором та зарядом батареї. Збір телеметрії має бути ефективним і не впливати на продуктивність застосунку.
- Варіативність мережі: користувачі можуть мати повільне, ненадійне або відсутнє з’єднання з мережею. Реалізуйте буферизацію офлайн та пакетний експорт, щоб враховувати ненадійність мережевого з’єднання.
- Управління сесіями: відстежуйте сесії користувачів, щоб групувати звʼязану телеметрію та розуміти як користувачі використовують застосунок після кількох запусків.
- Приватність та згода: клієнтські застосунки часто збирають дані, які підпадають під дію правил конфіденційності. Плануйте мінімізацію даних, управління згодою та видалення отриманих даних.
- Обсяг даних: з потенційно мільйонами користувачів, стратегії семплювання стають необхідними для управління витратами, зберігаючи репрезентативну телеметрію.
Моніторинг справжніх користувачів (RUM)
OpenTelemetry підтримує шаблони РReal User Monitoring (RUM), які збирають дані про те, як реальні користувачі використовують ваш застосунок:
- Продуктивність завантаження сторінок/екранів: час до першого байта, час до першого завантаження контенту та повне завантаження.
- Взаємодія користувачів: події кліків, шаблони навігації та заповнення форм.
- Помилки та збої: не оброблені винятки, події ANR та відсотки помилок.
- Завантаження ресурсів: час завантаження мережі, коефіцієнти попадання в кеш та розміри ресурсів.
Підключення до бекенду
Телеметрія клієнтів стає найбільш цінною, коли вона зʼєднана з трейсами бекенду. Передавайте контекст трейсу через HTTP-запити, щоб підтримувати наскрізну видимість:
Client App → API Gateway → Backend Services → Database
│ │ │ │
└──────────────┴──────────────┴──────────────┘
Correlated Traces
Налаштуйте SDK клієнта для додавання заголовків трейсу (traceparent, tracestate) та переконайтеся, що служби бекенду передають цей контекст через свої операції.
Використовуйте OpenTelemetry в застосунках, що працюють на платформах Android
Використання OpenTelemetry у застосунках, що працюють на iOS та iPadOS
Використання OpenTelemetry у застосунках, що працюють у веб-оглядачах