Skip to content

Телеметрия

Вы можете получить метрики, собранные сервером 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 и некоторых используемых библиотек. Ниже перечислены некоторые метрики, которые вы можете ожидать увидеть:

Мы рекомендуем заглянуть на эти страницы, чтобы узнать, какие метрики доступны и как их использовать.

Метрики выполнения#

Набор метрик, связанных с 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 (counter)#

Количество раз, когда размер объекта был получен из удаленного хранилища.

Теги#

Тег Описание
ключ объекта Ключ поиска объекта в удаленном хранилище.

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)#

Количество используемых соединений очереди.