Telemetría
Puedes ingerir las métricas recopiladas por el servidor Tuist utilizando
Prometheus y una herramienta de visualización como
Grafana para crear un panel personalizado adaptado a tus
necesidades. Las métricas de Prometheus se sirven a través del endpoint
/metrics en el puerto 9091. El
scrape_interval
de Prometheus debe establecerse en menos de 10_000 segundos (recomendamos
mantener el valor predeterminado de 15 segundos).
PostAnálisis de cerdos#
Tuist se integra con PostHog para el análisis del comportamiento del usuario y el seguimiento de eventos. Esto te permite comprender cómo interactúan los usuarios con tu servidor de Tuist, realizar un seguimiento del uso de las funciones y obtener información sobre el comportamiento de los usuarios en el sitio de marketing, el panel de control y la documentación de la API.
Configuración#
La integración de PostHog es opcional y puede activarse configurando las variables de entorno adecuadas. Una vez configurado, Tuist rastreará automáticamente los eventos de usuario, las páginas vistas y los recorridos de los usuarios.
| Variable de entorno | Descripción | Requerido | Por defecto | Ejemplo |
|---|---|---|---|---|
TUIST_POSTHOG_API_KEY |
Su clave API del proyecto PostHog | No | phc_fpR9c0Hs5H5VXUsupU1I0WlEq366FaZH6HJR3lRIWVR |
|
TUIST_POSTHOG_URL |
URL del punto final de la API PostHog | No | https://eu.i.posthog.com |
Los análisis sólo se activan cuando se configuran tanto TUIST_POSTHOG_API_KEY
como TUIST_POSTHOG_URL. Si falta alguna de las dos variables, no se enviarán
eventos de análisis.
Características#
Cuando PostHog está activado, Tuist rastrea automáticamente:
- Identificación de usuarios: Los usuarios se identifican por su ID único y su dirección de correo electrónico
- Alias de usuario: Los usuarios se identifican por su nombre de cuenta para facilitar su identificación.
- Análisis por grupos: Los usuarios se agrupan por su proyecto y organización seleccionados para realizar análisis segmentados.
- Secciones de la página: Los eventos incluyen superpropiedades que indican
qué sección de la aplicación los ha generado:
marketing- Eventos de páginas de marketing y contenido públicosalpicadero- Eventos del salpicadero principal de la aplicación y de las áreas autenticadas.api-docs- Eventos de las páginas de documentación de la API
- Páginas vistas: Seguimiento automático de la navegación por la página mediante Phoenix LiveView
- Eventos personalizados: Eventos específicos de la aplicación para el uso de funciones y las interacciones del usuario.
Protección de datos#
- Para los usuarios autenticados, PostHog utiliza el ID único del usuario como identificador distintivo e incluye su dirección de correo electrónico
- Para los usuarios anónimos, PostHog utiliza la persistencia en memoria para evitar el almacenamiento local de datos.
- Todos los análisis respetan la privacidad del usuario y siguen las mejores prácticas de protección de datos
- Los datos de PostHog se procesan de acuerdo con la política de privacidad de PostHog y su configuración
Métricas del elixir#
Por defecto, incluimos métricas del tiempo de ejecución de Elixir, BEAM, Elixir y algunas de las bibliotecas que utilizamos. Las siguientes son algunas de las métricas que puedes esperar ver:
Recomendamos consultar esas páginas para saber qué métricas están disponibles y cómo utilizarlas.
Métricas de ejecución#
Un conjunto de métricas relacionadas con Tuist Runs.
tuist_runs_total (contador)#
El número total de carreras de Tuist.
Etiquetas#
| Etiqueta | Descripción |
|---|---|
nombre |
El nombre del comando tuist que se ejecutó, como build, test, etc. |
is_ci |
Un booleano que indica si el ejecutor era un CI o una máquina de desarrollador. |
estado |
0 en caso de éxito, 1 en caso de fracaso. |
tuist_runs_duration_milliseconds (histograma)#
La duración total de cada ejecución de tuist en milisegundos.
Etiquetas#
| Etiqueta | Descripción |
|---|---|
nombre |
El nombre del comando tuist que se ejecutó, como build, test, etc. |
is_ci |
Un booleano que indica si el ejecutor era un CI o una máquina de desarrollador. |
estado |
0 en caso de éxito, 1 en caso de fracaso. |
Métricas de caché#
Conjunto de métricas relacionadas con la caché de Tuist.
tuist_cache_events_total (contador)#
El número total de eventos binarios de caché.
Etiquetas#
| Etiqueta | Descripción |
|---|---|
tipo_evento |
Puede ser cualquiera de los siguientes: local_hit, remote_hit, o miss. |
tuist_cache_uploads_total (contador)#
El número de subidas a la caché binaria.
tuist_cache_uploaded_bytes (suma)#
El número de bytes cargados en la caché binaria.
tuist_cache_downloads_total (contador)#
El número de descargas a la caché binaria.
tuist_cache_downloaded_bytes (suma)#
El número de bytes descargados de la caché binaria.
Previsión de métricas#
Conjunto de métricas relacionadas con la función de previsualización.
tuist_previews_uploads_total (suma)#
El número total de vistas previas cargadas.
tuist_previews_downloads_total (suma)#
El número total de previsualizaciones descargadas.
Métricas de almacenamiento#
Conjunto de métricas relacionadas con el almacenamiento de artefactos en un almacenamiento remoto (por ejemplo, s3).
Estas métricas son útiles para comprender el rendimiento de las operaciones de almacenamiento e identificar posibles cuellos de botella.
tuist_storage_get_object_size_size_bytes (histograma)#
El tamaño (en bytes) de un objeto obtenido del almacenamiento remoto.
Etiquetas#
| Etiqueta | Descripción |
|---|---|
clave_objeto |
La clave de búsqueda del objeto en el almacenamiento remoto. |
tuist_storage_get_object_size_duration_miliseconds (histograma)#
La duración (en milisegundos) de la obtención de un tamaño de objeto del almacenamiento remoto.
Etiquetas#
| Etiqueta | Descripción |
|---|---|
clave_objeto |
La clave de búsqueda del objeto en el almacenamiento remoto. |
tuist_storage_get_object_size_count (contador)#
El número de veces que se ha obtenido el tamaño de un objeto del almacenamiento remoto.
Etiquetas#
| Etiqueta | Descripción |
|---|---|
clave_objeto |
La clave de búsqueda del objeto en el almacenamiento remoto. |
tuist_storage_delete_all_objects_duration_milliseconds (histograma)#
La duración (en milisegundos) de la eliminación de todos los objetos del almacenamiento remoto.
Etiquetas#
| Etiqueta | Descripción |
|---|---|
babosa_proyecto |
El slug del proyecto cuyos objetos se están eliminando. |
tuist_storage_delete_all_objects_count (contador)#
El número de veces que se borraron todos los objetos del proyecto del almacenamiento remoto.
Etiquetas#
| Etiqueta | Descripción |
|---|---|
babosa_proyecto |
El slug del proyecto cuyos objetos se están eliminando. |
tuist_storage_multipart_start_upload_duration_milliseconds (histograma)#
La duración (en milisegundos) del inicio de una carga al almacenamiento remoto.
Etiquetas#
| Etiqueta | Descripción |
|---|---|
clave_objeto |
La clave de búsqueda del objeto en el almacenamiento remoto. |
tuist_storage_multipart_start_upload_duration_count (contador)#
El número de veces que se inició una subida al almacenamiento remoto.
Etiquetas#
| Etiqueta | Descripción |
|---|---|
clave_objeto |
La clave de búsqueda del objeto en el almacenamiento remoto. |
tuist_storage_get_object_as_string_duration_milliseconds (histograma)#
La duración (en milisegundos) de la obtención de un objeto como cadena desde el almacenamiento remoto.
Etiquetas#
| Etiqueta | Descripción |
|---|---|
clave_objeto |
La clave de búsqueda del objeto en el almacenamiento remoto. |
tuist_storage_get_object_as_string_count (count)#
Número de veces que se ha obtenido un objeto como cadena desde el almacenamiento remoto.
Etiquetas#
| Etiqueta | Descripción |
|---|---|
clave_objeto |
La clave de búsqueda del objeto en el almacenamiento remoto. |
tuist_storage_check_object_existence_duration_milliseconds (histograma)#
La duración (en milisegundos) de la comprobación de la existencia de un objeto en el almacenamiento remoto.
Etiquetas#
| Etiqueta | Descripción |
|---|---|
clave_objeto |
La clave de búsqueda del objeto en el almacenamiento remoto. |
tuist_storage_check_object_existence_count (count)#
Número de veces que se ha comprobado la existencia de un objeto en el almacenamiento remoto.
Etiquetas#
| Etiqueta | Descripción |
|---|---|
clave_objeto |
La clave de búsqueda del objeto en el almacenamiento remoto. |
tuist_storage_generate_download_presigned_url_duration_milliseconds (histograma)#
La duración (en milisegundos) de la generación de una URL preasignada de descarga para un objeto en el almacenamiento remoto.
Etiquetas#
| Etiqueta | Descripción |
|---|---|
clave_objeto |
La clave de búsqueda del objeto en el almacenamiento remoto. |
tuist_storage_generate_download_presigned_url_count (count)#
El número de veces que se generó una URL de descarga preasignada para un objeto en el almacenamiento remoto.
Etiquetas#
| Etiqueta | Descripción |
|---|---|
clave_objeto |
La clave de búsqueda del objeto en el almacenamiento remoto. |
tuist_storage_multipart_generate_upload_part_presigned_url_duration_milliseconds (histograma)#
La duración (en milisegundos) de la generación de una URL preasignada de carga parcial para un objeto en el almacenamiento remoto.
Etiquetas#
| Etiqueta | Descripción |
|---|---|
clave_objeto |
La clave de búsqueda del objeto en el almacenamiento remoto. |
número_parte |
El número de pieza del objeto que se está cargando. |
upload_id |
El ID de subida de la subida multiparte. |
tuist_storage_multipart_generate_upload_part_presigned_url_count (count)#
El número de veces que se generó una URL presignada de carga parcial para un objeto en el almacenamiento remoto.
Etiquetas#
| Etiqueta | Descripción |
|---|---|
clave_objeto |
La clave de búsqueda del objeto en el almacenamiento remoto. |
número_parte |
El número de pieza del objeto que se está cargando. |
upload_id |
El ID de subida de la subida multiparte. |
tuist_storage_multipart_complete_upload_duration_milliseconds (histograma)#
La duración (en milisegundos) de completar una carga al almacenamiento remoto.
Etiquetas#
| Etiqueta | Descripción |
|---|---|
clave_objeto |
La clave de búsqueda del objeto en el almacenamiento remoto. |
upload_id |
El ID de subida de la subida multiparte. |
tuist_storage_multipart_complete_upload_count (count)#
El número total de veces que se completó una subida al almacenamiento remoto.
Etiquetas#
| Etiqueta | Descripción |
|---|---|
clave_objeto |
La clave de búsqueda del objeto en el almacenamiento remoto. |
upload_id |
El ID de subida de la subida multiparte. |
Métricas de autenticación#
Conjunto de métricas relacionadas con la autenticación.
tuist_authentication_token_refresh_error_total (contador)#
Número total de errores de actualización de fichas.
Etiquetas#
| Etiqueta | Descripción |
|---|---|
versión_cli |
La versión de la CLI de Tuist que ha encontrado el error. |
motivo |
El motivo del error de actualización del token, como invalid_token_type o invalid_token. |
Métricas de los proyectos#
Un conjunto de métricas relacionadas con los proyectos.
tuist_projects_total (last_value)#
El número total de proyectos.
Métricas de las cuentas#
Conjunto de métricas relacionadas con las cuentas (usuarios y organizaciones).
tuist_accounts_organizations_total (last_value)#
El número total de organizaciones.
tuist_accounts_users_total (last_value)#
El número total de usuarios.
Métricas de la base de datos#
Conjunto de métricas relacionadas con la conexión a la base de datos.
tuist_repo_pool_checkout_queue_length (last_value)#
Número de consultas a la base de datos que están en cola a la espera de ser asignadas a una conexión a la base de datos.
tuist_repo_pool_ready_conn_count (último_valor)#
El número de conexiones de base de datos que están listas para ser asignadas a una consulta de base de datos.
tuist_repo_pool_db_connection_connected (contador)#
El número de conexiones que se han establecido con la base de datos.
tuist_repo_pool_db_connection_disconnected (contador)#
Número de conexiones que se han desconectado de la base de datos.
Métricas HTTP#
Conjunto de métricas relacionadas con las interacciones de Tuist con otros servicios a través de HTTP.
tuist_http_request_count (contador)#
El número de peticiones HTTP salientes.
tuist_http_request_duration_nanosecond_sum (suma)#
La suma de la duración de las solicitudes salientes (incluido el tiempo que pasaron esperando a ser asignadas a una conexión).
tuist_http_request_duration_nanosecond_bucket (distribución)#
La distribución de la duración de las solicitudes salientes (incluido el tiempo que pasaron esperando a ser asignadas a una conexión).
tuist_http_queue_count (contador)#
Número de solicitudes que se han recuperado del pool.
tuist_http_queue_duration_nanoseconds_sum (suma)#
El tiempo que se tarda en recuperar una conexión del pool.
tuist_http_queue_idle_time_nanoseconds_sum (suma)#
El tiempo que una conexión ha estado inactiva esperando a ser recuperada.
tuist_http_queue_duration_nanoseconds_bucket (distribución)#
El tiempo que se tarda en recuperar una conexión del pool.
tuist_http_queue_idle_time_nanoseconds_bucket (distribución)#
El tiempo que una conexión ha estado inactiva esperando a ser recuperada.
tuist_http_connection_count (contador)#
El número de conexiones que se han establecido.
tuist_http_connection_duration_nanoseconds_sum (suma)#
El tiempo que se tarda en establecer una conexión contra un host.
tuist_http_connection_duration_nanoseconds_bucket (distribución)#
La distribución del tiempo que se tarda en establecer una conexión contra un host.
tuist_http_send_count (contador)#
Número de solicitudes que se han enviado una vez asignadas a una conexión del pool.
tuist_http_send_duration_nanoseconds_sum (suma)#
Tiempo que tardan en completarse las peticiones una vez asignadas a una conexión del pool.
tuist_http_send_duration_nanoseconds_bucket (distribución)#
La distribución del tiempo que tardan en completarse las peticiones una vez asignadas a una conexión del pool.
tuist_http_receive_count (contador)#
El número de respuestas que se han recibido de las solicitudes enviadas.
tuist_http_receive_duration_nanoseconds_sum (suma)#
El tiempo empleado en recibir respuestas.
tuist_http_receive_duration_nanoseconds_bucket (distribución)#
La distribución del tiempo dedicado a recibir respuestas.
tuist_http_queue_available_connections (último_valor)#
El número de conexiones disponibles en la cola.
tuist_http_queue_in_use_connections (last_value)#
El número de conexiones de cola que están en uso.