Телеметрия
Вы можете получить метрики, собранные сервером 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 |
Аналитика включается только в том случае, если настроены и
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).
Эти показатели полезны для понимания производительности операций хранения и выявления потенциальных узких мест.
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)#
Количество используемых соединений очереди.