Телеметрия
Вы можете получить метрики, собранные сервером Tuist, используя Prometheus и инструмент визуализации, такой как Grafana, чтобы создать пользовательскую панель, соответствующую вашим потребностям. Метрики Prometheus обслуживаются через конечную точку /metrics на порту 9091. Интервал scrape_interval в Prometheus должен быть меньше 10_000 секунд (мы рекомендуем оставить значение по умолчанию 15 секунд).
Аналитика PostHog
Tuist интегрируется с PostHog для аналитики поведения пользователей и отслеживания событий. Это позволит вам понять, как пользователи взаимодействуют с вашим сервером Tuist, отследить использование функций и получить представление о поведении пользователей на маркетинговом сайте, панели управления и в документации API.
Конфигурация
Интеграция с PostHog не является обязательной и может быть включена путем установки соответствующих переменных окружения. После настройки Tuist будет автоматически отслеживать события, просмотры страниц и путешествия пользователей.
| Переменная среды | Описание | Требуется | По умолчанию | Пример |
|---|---|---|---|---|
TUIST_POSTHOG_API_KEY | Ваш ключ API проекта PostHog | Нет | phc_fpR9c0Hs5H5VXUsupU1I0WlEq366FaZH6HJR3lRIWVR | |
TUIST_POSTHOG_URL | URL конечной точки PostHog API | Нет | https://eu.i.posthog.com |
ANALYTICS ENABLEMENT
Аналитика включается только в том случае, если настроены и TUIST_POSTHOG_API_KEY, и TUIST_POSTHOG_URL. Если одна из переменных отсутствует, события аналитики не будут отправляться.
Особенности
Если включен PostHog, Tuist автоматически отслеживает:
- Идентификация пользователей: Пользователи идентифицируются по их уникальному идентификатору и адресу электронной почты
- Псевдоним пользователя: Для облегчения идентификации пользователей они называются по имени учетной записи.
- Групповая аналитика: Пользователи группируются по выбранному проекту и организации для сегментированной аналитики
- Разделы страницы: События включают суперсвойства, указывающие, какой раздел приложения их породил:
маркетинг- События с маркетинговых страниц и публичного контентаприборная панель- События из основной приборной панели приложения и аутентифицированных областейapi-docs- События со страниц документации API
- Просмотры страниц: Автоматическое отслеживание навигации по странице с помощью Phoenix LiveView
- Пользовательские события: События, специфичные для приложения, для использования функций и взаимодействия с пользователем
Соображения конфиденциальности
- Для аутентифицированных пользователей PostHog использует уникальный идентификатор пользователя в качестве отличительного идентификатора и включает его адрес электронной почты.
- Для анонимных пользователей PostHog использует постоянство только в памяти, чтобы не хранить данные локально.
- Все аналитические системы уважают конфиденциальность пользователей и следуют лучшим практикам защиты данных
- Данные PostHog обрабатываются в соответствии с политикой конфиденциальности PostHog и вашей конфигурацией.
Метрики Elixir
По умолчанию мы включаем метрики среды выполнения Elixir, BEAM, Elixir и некоторых используемых библиотек. Ниже перечислены некоторые метрики, которые вы можете ожидать увидеть:
- Приложение
- BEAM
- Феникс
- Phoenix LiveView
- Экто
- [Обан] (https://hexdocs.pm/prom_ex/PromEx.Plugins.Oban.html)
Мы рекомендуем заглянуть на эти страницы, чтобы узнать, какие метрики доступны и как их использовать.
Метрики выполнения
Набор метрик, связанных с Tuist Runs.
tuist_runs_total (счетчик)
Общее количество туистских пробегов.
Теги
| Тег | Описание |
|---|---|
имя | Имя команды tuist, которая была запущена, например build, test, и т. д. |
is_ci | Булево значение, указывающее, является ли исполнитель машиной CI или машиной разработчика. |
статус | 0 в случае успеха, 1 в случае неудачи. |
tuist_runs_duration_milliseconds (гистограмма)
Общая продолжительность выполнения каждого туиста в миллисекундах.
Теги
| Тег | Описание |
|---|---|
имя | Имя команды tuist, которая была запущена, например build, test, и т. д. |
is_ci | Булево значение, указывающее, является ли исполнитель машиной CI или машиной разработчика. |
статус | 0 в случае успеха, 1 в случае неудачи. |
Метрики кэша
Набор метрик, связанных с кэшем Tuist Cache.
tuist_cache_events_total (счетчик)
Общее количество событий двоичного кэша.
Теги
| Тег | Описание |
|---|---|
тип события | Может быть любой из local_hit, remote_hit, или miss. |
tuist_cache_uploads_total (счетчик)
Количество загрузок в двоичный кэш.
tuist_cache_uploaded_bytes (sum)
Количество байт, загруженных в двоичный кэш.
tuist_cache_downloads_total (счетчик)
Количество загрузок в двоичный кэш.
tuist_cache_downloaded_bytes (sum)
Количество байт, загруженных из двоичного кэша.
Метрики предварительных просмотров
Набор метрик, связанных с функцией предварительного просмотра.
tuist_previews_uploads_total (sum)
Общее количество загруженных превью.
tuist_previews_downloads_total (sum)
Общее количество загруженных превью.
Метрики хранения
Набор метрик, связанных с хранением артефактов в удаленном хранилище (например, s3).
TIP
Эти показатели полезны для понимания производительности операций хранения и выявления потенциальных узких мест.
tuist_storage_get_object_size_size_bytes (гистограмма)
Размер (в байтах) объекта, полученного из удаленного хранилища.
Теги
| Тег | Описание |
|---|---|
ключ объекта | Ключ поиска объекта в удаленном хранилище. |
tuist_storage_get_object_size_duration_miliseconds (гистограмма)
Продолжительность (в миллисекундах) получения размера объекта из удаленного хранилища.
Теги
| Тег | Описание |
|---|---|
ключ объекта | Ключ поиска объекта в удаленном хранилище. |
tuist_storage_get_object_size_count (счетчик)
Количество раз, когда размер объекта был получен из удаленного хранилища.
Теги
| Тег | Описание |
|---|---|
ключ объекта | Ключ поиска объекта в удаленном хранилище. |
tuist_storage_delete_all_objects_duration_milliseconds (гистограмма)
Продолжительность (в миллисекундах) удаления всех объектов из удаленного хранилища.
Теги
| Тег | Описание |
|---|---|
метка проекта | Метка проекта, объекты которого удаляются. |
tuist_storage_delete_all_objects_count (счетчик)
Количество удалений всех объектов проекта из удаленного хранилища.
Теги
| Тег | Описание |
|---|---|
метка проекта | Метка проекта, объекты которого удаляются. |
tuist_storage_multipart_start_upload_duration_milliseconds (гистограмма)
Продолжительность (в миллисекундах) начала загрузки в удаленное хранилище.
Теги
| Тег | Описание |
|---|---|
ключ объекта | Ключ поиска объекта в удаленном хранилище. |
tuist_storage_multipart_start_upload_duration_count (счетчик)
Количество запущенных загрузок в удаленное хранилище.
Теги
| Тег | Описание |
|---|---|
ключ объекта | Ключ поиска объекта в удаленном хранилище. |
tuist_storage_get_object_as_string_duration_milliseconds (гистограмма)
Продолжительность (в миллисекундах) получения объекта в виде строки из удаленного хранилища.
Теги
| Тег | Описание |
|---|---|
ключ объекта | Ключ поиска объекта в удаленном хранилище. |
tuist_storage_get_object_as_string_count (count)
Количество раз, когда объект был получен в виде строки из удаленного хранилища.
Теги
| Тег | Описание |
|---|---|
ключ объекта | Ключ поиска объекта в удаленном хранилище. |
tuist_storage_check_object_existence_duration_milliseconds (гистограмма)
Длительность (в миллисекундах) проверки существования объекта в удаленном хранилище.
Теги
| Тег | Описание |
|---|---|
ключ объекта | Ключ поиска объекта в удаленном хранилище. |
tuist_storage_check_object_existence_count (count)
Количество раз, когда существование объекта проверялось в удаленном хранилище.
Теги
| Тег | Описание |
|---|---|
ключ объекта | Ключ поиска объекта в удаленном хранилище. |
tuist_storage_generate_download_presigned_url_duration_milliseconds (гистограмма)
Длительность (в миллисекундах) генерации URL-адреса с предварительным назначением загрузки для объекта в удаленном хранилище.
Теги
| Тег | Описание |
|---|---|
ключ объекта | Ключ поиска объекта в удаленном хранилище. |
tuist_storage_generate_download_presigned_url_count (count)
Количество раз, когда для объекта в удаленном хранилище был сгенерирован URL с предварительным назначением загрузки.
Теги
| Тег | Описание |
|---|---|
ключ объекта | Ключ поиска объекта в удаленном хранилище. |
tuist_storage_multipart_generate_upload_part_presigned_url_duration_milliseconds (гистограмма)
Длительность (в миллисекундах) генерации URL-адреса выгрузки части для объекта в удаленном хранилище.
Теги
| Тег | Описание |
|---|---|
ключ объекта | Ключ поиска объекта в удаленном хранилище. |
номер_детали | Номер детали загружаемого объекта. |
upload_id | Идентификатор загрузки многокомпонентной загрузки. |
tuist_storage_multipart_generate_upload_part_presigned_url_count (count)
Количество раз, когда для объекта в удаленном хранилище был сгенерирован URL с предварительным назначением части выгрузки.
Теги
| Тег | Описание |
|---|---|
ключ объекта | Ключ поиска объекта в удаленном хранилище. |
номер_детали | Номер детали загружаемого объекта. |
upload_id | Идентификатор загрузки многокомпонентной загрузки. |
tuist_storage_multipart_complete_upload_duration_milliseconds (гистограмма)
Продолжительность (в миллисекундах) завершения загрузки в удаленное хранилище.
Теги
| Тег | Описание |
|---|---|
ключ объекта | Ключ поиска объекта в удаленном хранилище. |
upload_id | Идентификатор загрузки многокомпонентной загрузки. |
tuist_storage_multipart_complete_upload_count (count)
Общее количество загрузок в удаленное хранилище.
Теги
| Тег | Описание |
|---|---|
ключ объекта | Ключ поиска объекта в удаленном хранилище. |
upload_id | Идентификатор загрузки многокомпонентной загрузки. |
Метрики аутентификации
Набор метрик, связанных с аутентификацией.
tuist_authentication_token_refresh_error_total (счетчик)
Общее количество ошибок обновления маркера.
Теги
| Тег | Описание |
|---|---|
cli_version | Версия Tuist CLI, в которой возникла ошибка. |
причина | Причина ошибки обновления токена, например invalid_token_type или invalid_token. |
Метрики проектов
Набор метрик, связанных с проектами.
tuist_projects_total (last_value)
Общее количество проектов.
Метрики учетных записей
Набор метрик, связанных с учетными записями (пользователями и организациями).
tuist_accounts_organizations_total (last_value)
Общее количество организаций.
tuist_accounts_users_total (last_value)
Общее количество пользователей.
Метрики базы данных
Набор метрик, связанных с подключением к базе данных.
tuist_repo_pool_checkout_queue_length (last_value)
Количество запросов к базе данных, которые находятся в очереди и ожидают назначения на соединение с базой данных.
tuist_repo_pool_ready_conn_count (last_value)
Количество соединений с базой данных, готовых к назначению на запрос базы данных.
tuist_repo_pool_db_connection_connected (счетчик)
Количество установленных соединений с базой данных.
tuist_repo_pool_db_connection_disconnected (счетчик)
Количество соединений, которые были отключены от базы данных.
Метрики HTTP
Набор метрик, связанных с взаимодействием Tuist с другими сервисами через HTTP.
tuist_http_request_count (счетчик)
Количество исходящих HTTP-запросов.
tuist_http_request_duration_nanosecond_sum (sum)
Сумма длительностей исходящих запросов (включая время ожидания назначения соединения).
tuist_http_request_duration_nanosecond_bucket (распределение)
Распределение длительности исходящих запросов (включая время, которое они потратили на ожидание назначения соединения).
tuist_http_queue_count (счетчик)
Количество запросов, которые были получены из пула.
tuist_http_queue_duration_nanoseconds_sum (sum)
Время, необходимое для получения соединения из пула.
tuist_http_queue_idle_time_nanoseconds_sum (sum)
Время, в течение которого соединение простаивало в ожидании получения.
tuist_http_queue_duration_nanoseconds_bucket (распределение)
Время, необходимое для получения соединения из пула.
tuist_http_queue_idle_time_nanoseconds_bucket (распределение)
Время, в течение которого соединение простаивало в ожидании получения.
tuist_http_connection_count (счетчик)
Количество установленных соединений.
tuist_http_connection_duration_nanoseconds_sum (sum)
Время, необходимое для установления соединения с хостом.
tuist_http_connection_duration_nanoseconds_bucket (распределение)
Распределение времени, необходимого для установления соединения с хостом.
tuist_http_send_count (счетчик)
Количество запросов, которые были отправлены после назначения соединения из пула.
tuist_http_send_duration_nanoseconds_sum (sum)
Время, которое требуется для выполнения запросов после назначения соединения из пула.
tuist_http_send_duration_nanoseconds_bucket (распределение)
Распределение времени, которое требуется для выполнения запросов после назначения соединения из пула.
tuist_http_receive_count (счетчик)
Количество ответов, полученных на отправленные запросы.
tuist_http_receive_duration_nanoseconds_sum (sum)
Время, затраченное на получение ответов.
tuist_http_receive_duration_nanoseconds_bucket (распределение)
Распределение времени, затраченного на получение ответов.
tuist_http_queue_available_connections (last_value)
Количество соединений, доступных в очереди.
tuist_http_queue_in_use_connections (last_value)
Количество используемых соединений очереди.
