Telemetria
Metryki zebrane przez serwer Tuist można pozyskać za pomocą Prometheus i narzędzia do wizualizacji, takiego jak Grafana, aby utworzyć niestandardowy pulpit nawigacyjny dostosowany do własnych potrzeb. Metryki Prometheus są obsługiwane przez punkt końcowy /metrics na porcie 9091. Interwał scrape_interval Prometheusa powinien być ustawiony na mniej niż 10_000 sekund (zalecamy zachowanie domyślnej wartości 15 sekund).
PostHog analytics
Tuist integruje się z PostHog w celu analizy zachowań użytkowników i śledzenia zdarzeń. Pozwala to zrozumieć, w jaki sposób użytkownicy wchodzą w interakcję z serwerem Tuist, śledzić wykorzystanie funkcji i uzyskać wgląd w zachowanie użytkowników w witrynie marketingowej, pulpicie nawigacyjnym i dokumentacji API.
Konfiguracja
Integracja PostHog jest opcjonalna i można ją włączyć poprzez ustawienie odpowiednich zmiennych środowiskowych. Po skonfigurowaniu Tuist będzie automatycznie śledzić zdarzenia użytkowników, wyświetlenia stron i podróże użytkowników.
| Zmienna środowiskowa | Opis | Wymagane | Domyślne | Przykłady |
|---|---|---|---|---|
TUIST_POSTHOG_API_KEY | Klucz API projektu PostHog | Nie | phc_fpR9c0Hs5H5VXUsupU1I0WlEq366FaZH6HJR3lRIWVR | |
TUIST_POSTHOG_URL | Adres URL punktu końcowego interfejsu API PostHog | Nie | https://eu.i.posthog.com |
ANALYTICS ENABLEMENT
Analityka jest włączona tylko wtedy, gdy zarówno TUIST_POSTHOG_API_KEY i TUIST_POSTHOG_URL są skonfigurowane. W przypadku braku którejkolwiek z tych zmiennych zdarzenia analityczne nie będą wysyłane.
Cechy
Gdy PostHog jest włączony, Tuist automatycznie śledzi:
- Identyfikacja użytkownika: Użytkownicy są identyfikowani za pomocą unikalnego identyfikatora i adresu e-mail.
- Aliasowanie użytkowników: Użytkownicy są przypisywani do nazwy konta w celu łatwiejszej identyfikacji.
- Analityka grupowa: Użytkownicy są grupowani według wybranego projektu i organizacji w celu analizy segmentowej.
- Sekcje strony: Zdarzenia zawierają super właściwości wskazujące, która sekcja aplikacji je wygenerowała:
marketing- Wydarzenia ze stron marketingowych i treści publicznychdashboard- zdarzenia z głównego pulpitu aplikacji i obszarów uwierzytelnionychapi-docs- Zdarzenia ze stron dokumentacji API
- Odsłony: Automatyczne śledzenie nawigacji na stronie przy użyciu Phoenix LiveView
- Zdarzenia niestandardowe: Zdarzenia specyficzne dla aplikacji dla użycia funkcji i interakcji użytkownika
Kwestie prywatności
- W przypadku uwierzytelnionych użytkowników PostHog używa unikalnego identyfikatora użytkownika jako odrębnego identyfikatora i zawiera jego adres e-mail
- W przypadku anonimowych użytkowników PostHog używa trwałości tylko w pamięci, aby uniknąć przechowywania danych lokalnie
- Wszystkie analizy szanują prywatność użytkowników i przestrzegają najlepszych praktyk w zakresie ochrony danych.
- Dane PostHog są przetwarzane zgodnie z polityką prywatności PostHog i konfiguracją użytkownika
Elixir metrics
Domyślnie uwzględniamy metryki środowiska uruchomieniowego Elixir, BEAM, Elixir i niektórych używanych przez nas bibliotek. Poniżej znajdują się niektóre z metryk, których można się spodziewać:
Zalecamy sprawdzenie tych stron, aby dowiedzieć się, które metryki są dostępne i jak z nich korzystać.
Runs metrics
Zestaw wskaźników związanych z Tuist Runs.
tuist_runs_total (licznik)
Całkowita liczba uruchomień Tuist.
Tagi
| Tag | Opis |
|---|---|
nazwa | Nazwa polecenia tuist, które zostało uruchomione, np. build, test, itp. |
is_ci | Wartość logiczna wskazująca, czy executor był maszyną CI, czy maszyną dewelopera. |
status | 0 w przypadku powodzenia, 1 w przypadku niepowodzenia. |
tuist_runs_duration_milliseconds (histogram)
Całkowity czas trwania każdego uruchomienia tuist w milisekundach.
Tagi
| Tag | Opis |
|---|---|
nazwa | Nazwa polecenia tuist, które zostało uruchomione, np. build, test, itp. |
is_ci | Wartość logiczna wskazująca, czy executor był maszyną CI, czy maszyną dewelopera. |
status | 0 w przypadku powodzenia, 1 w przypadku niepowodzenia. |
Metryki pamięci podręcznej
Zestaw metryk związanych z Tuist Cache.
tuist_cache_events_total (counter)
Całkowita liczba zdarzeń binarnej pamięci podręcznej.
Tagi
| Tag | Opis |
|---|---|
event_type | Może być jednym z local_hit, remote_hit, lub miss. |
tuist_cache_uploads_total (licznik)
Liczba załadowań do binarnej pamięci podręcznej.
tuist_cache_uploaded_bytes (sum)
Liczba bajtów przesłanych do binarnej pamięci podręcznej.
tuist_cache_downloads_total (counter)
Liczba pobrań do binarnej pamięci podręcznej.
tuist_cache_downloaded_bytes (sum)
Liczba bajtów pobranych z binarnej pamięci podręcznej.
Metryki podglądów
Zestaw metryk związanych z funkcją podglądu.
tuist_previews_uploads_total (sum)
Całkowita liczba przesłanych podglądów.
tuist_previews_downloads_total (sum)
Całkowita liczba pobranych podglądów.
Metryki pamięci masowej
Zestaw metryk związanych z przechowywaniem artefaktów w zdalnej pamięci masowej (np. s3).
::: napiwek
Metryki te są przydatne do zrozumienia wydajności operacji pamięci masowej i zidentyfikowania potencjalnych wąskich gardeł.
:::
tuist_storage_get_object_size_size_bytes (histogram)
Rozmiar (w bajtach) obiektu pobranego ze zdalnej pamięci masowej.
Tagi
| Tag | Opis |
|---|---|
object_key | Klucz wyszukiwania obiektu w zdalnej pamięci masowej. |
tuist_storage_get_object_size_duration_miliseconds (histogram)
Czas (w milisekundach) pobierania rozmiaru obiektu ze zdalnej pamięci masowej.
Tagi
| Tag | Opis |
|---|---|
object_key | Klucz wyszukiwania obiektu w zdalnej pamięci masowej. |
tuist_storage_get_object_size_count (counter)
Liczba pobrań rozmiaru obiektu ze zdalnej pamięci masowej.
Tagi
| Tag | Opis |
|---|---|
object_key | Klucz wyszukiwania obiektu w zdalnej pamięci masowej. |
tuist_storage_delete_all_objects_duration_milliseconds (histogram)
Czas trwania (w milisekundach) usuwania wszystkich obiektów ze zdalnej pamięci masowej.
Tagi
| Tag | Opis |
|---|---|
project_slug | Slug projektu, którego obiekty są usuwane. |
tuist_storage_delete_all_objects_count (counter)
Liczba przypadków usunięcia wszystkich obiektów projektu ze zdalnej pamięci masowej.
Tagi
| Tag | Opis |
|---|---|
project_slug | Slug projektu, którego obiekty są usuwane. |
tuist_storage_multipart_start_upload_duration_milliseconds (histogram)
Czas trwania (w milisekundach) rozpoczęcia przesyłania do zdalnej pamięci masowej.
Tagi
| Tag | Opis |
|---|---|
object_key | Klucz wyszukiwania obiektu w zdalnej pamięci masowej. |
tuist_storage_multipart_start_upload_duration_count (counter)
Liczba przypadków rozpoczęcia przesyłania do zdalnej pamięci masowej.
Tagi
| Tag | Opis |
|---|---|
object_key | Klucz wyszukiwania obiektu w zdalnej pamięci masowej. |
tuist_storage_get_object_as_string_duration_milliseconds (histogram)
Czas (w milisekundach) pobierania obiektu jako ciągu znaków ze zdalnej pamięci masowej.
Tagi
| Tag | Opis |
|---|---|
object_key | Klucz wyszukiwania obiektu w zdalnej pamięci masowej. |
tuist_storage_get_object_as_string_count (count)
Liczba przypadków, w których obiekt został pobrany jako ciąg znaków ze zdalnej pamięci masowej.
Tagi
| Tag | Opis |
|---|---|
object_key | Klucz wyszukiwania obiektu w zdalnej pamięci masowej. |
tuist_storage_check_object_existence_duration_milliseconds (histogram)
Czas trwania (w milisekundach) sprawdzania istnienia obiektu w zdalnej pamięci masowej.
Tagi
| Tag | Opis |
|---|---|
object_key | Klucz wyszukiwania obiektu w zdalnej pamięci masowej. |
tuist_storage_check_object_existence_count (count)
Liczba sprawdzeń istnienia obiektu w zdalnej pamięci masowej.
Tagi
| Tag | Opis |
|---|---|
object_key | Klucz wyszukiwania obiektu w zdalnej pamięci masowej. |
tuist_storage_generate_download_presigned_url_duration_milliseconds (histogram)
Czas trwania (w milisekundach) generowania adresu URL z podpisem pobierania dla obiektu w zdalnym magazynie.
Tagi
| Tag | Opis |
|---|---|
object_key | Klucz wyszukiwania obiektu w zdalnej pamięci masowej. |
tuist_storage_generate_download_presigned_url_count (count)
Liczba przypadków wygenerowania adresu URL z podpisem pobierania dla obiektu w zdalnej pamięci masowej.
Tagi
| Tag | Opis |
|---|---|
object_key | Klucz wyszukiwania obiektu w zdalnej pamięci masowej. |
tuist_storage_multipart_generate_upload_part_presigned_url_duration_milliseconds (histogram)
Czas trwania (w milisekundach) generowania adresu URL z podpisem przesyłania części dla obiektu w zdalnym magazynie.
Tagi
| Tag | Opis |
|---|---|
object_key | Klucz wyszukiwania obiektu w zdalnej pamięci masowej. |
part_number | Numer części przesyłanego obiektu. |
upload_id | Identyfikator przesyłania wieloczęściowego. |
tuist_storage_multipart_generate_upload_part_presigned_url_count (count)
Liczba przypadków wygenerowania adresu URL z podpisem przesyłania części dla obiektu w zdalnym magazynie.
Tagi
| Tag | Opis |
|---|---|
object_key | Klucz wyszukiwania obiektu w zdalnej pamięci masowej. |
part_number | Numer części przesyłanego obiektu. |
upload_id | Identyfikator przesyłania wieloczęściowego. |
tuist_storage_multipart_complete_upload_duration_milliseconds (histogram)
Czas trwania (w milisekundach) przesyłania do zdalnej pamięci masowej.
Tagi
| Tag | Opis |
|---|---|
object_key | Klucz wyszukiwania obiektu w zdalnej pamięci masowej. |
upload_id | Identyfikator przesyłania wieloczęściowego. |
tuist_storage_multipart_complete_upload_count (count)
Całkowita liczba przypadków przesłania danych do zdalnej pamięci masowej.
Tagi
| Tag | Opis |
|---|---|
object_key | Klucz wyszukiwania obiektu w zdalnej pamięci masowej. |
upload_id | Identyfikator przesyłania wieloczęściowego. |
Metryki uwierzytelniania
Zestaw metryk związanych z uwierzytelnianiem.
tuist_authentication_token_refresh_error_total (counter)
Całkowita liczba błędów odświeżania tokenów.
Tagi
| Tag | Opis |
|---|---|
cli_version | Wersja interfejsu Tuist CLI, w której wystąpił błąd. |
powód | Powód błędu odświeżenia tokena, taki jak invalid_token_type lub invalid_token. |
Metryki projektów
Zestaw wskaźników związanych z projektami.
tuist_projects_total (last_value)
Całkowita liczba projektów.
Metryki kont
Zestaw metryk związanych z kontami (użytkownikami i organizacjami).
tuist_accounts_organizations_total (last_value)
Całkowita liczba organizacji.
tuist_accounts_users_total (last_value)
Całkowita liczba użytkowników.
Metryki bazy danych
Zestaw metryk związanych z połączeniem z bazą danych.
tuist_repo_pool_checkout_queue_length (last_value)
Liczba zapytań do bazy danych znajdujących się w kolejce oczekujących na przypisanie do połączenia z bazą danych.
tuist_repo_pool_ready_conn_count (last_value)
Liczba połączeń z bazą danych, które są gotowe do przypisania do zapytania bazy danych.
tuist_repo_pool_db_connection_connected (counter)
Liczba połączeń nawiązanych z bazą danych.
tuist_repo_pool_db_connection_disconnected (counter)
Liczba połączeń, które zostały rozłączone z bazą danych.
Metryki HTTP
Zestaw metryk związanych z interakcjami Tuist z innymi usługami za pośrednictwem protokołu HTTP.
tuist_http_request_count (counter)
Liczba wychodzących żądań HTTP.
tuist_http_request_duration_nanosecond_sum (sum)
Suma czasu trwania żądań wychodzących (w tym czasu oczekiwania na przypisanie do połączenia).
tuist_http_request_duration_nanosecond_bucket (dystrybucja)
Rozkład czasu trwania żądań wychodzących (w tym czasu oczekiwania na przypisanie do połączenia).
tuist_http_queue_count (counter)
Liczba żądań, które zostały pobrane z puli.
tuist_http_queue_duration_nanoseconds_sum (sum)
Czas pobierania połączenia z puli.
tuist_http_queue_idle_time_nanoseconds_sum (sum)
Czas bezczynności połączenia w oczekiwaniu na odzyskanie.
tuist_http_queue_duration_nanoseconds_bucket (dystrybucja)
Czas pobierania połączenia z puli.
tuist_http_queue_idle_time_nanoseconds_bucket (dystrybucja)
Czas bezczynności połączenia w oczekiwaniu na odzyskanie.
tuist_http_connection_count (counter)
Liczba nawiązanych połączeń.
tuist_http_connection_duration_nanoseconds_sum (sum)
Czas potrzebny do nawiązania połączenia z hostem.
tuist_http_connection_duration_nanoseconds_bucket (dystrybucja)
Rozkład czasu potrzebnego do nawiązania połączenia z hostem.
tuist_http_send_count (counter)
Liczba żądań, które zostały wysłane po przypisaniu do połączenia z puli.
tuist_http_send_duration_nanoseconds_sum (sum)
Czas potrzebny na ukończenie żądań po przypisaniu do połączenia z puli.
tuist_http_send_duration_nanoseconds_bucket (dystrybucja)
Rozkład czasu potrzebnego na ukończenie żądań po przypisaniu do połączenia z puli.
tuist_http_receive_count (counter)
Liczba otrzymanych odpowiedzi na wysłane żądania.
tuist_http_receive_duration_nanoseconds_sum (sum)
Czas spędzony na otrzymywaniu odpowiedzi.
tuist_http_receive_duration_nanoseconds_bucket (dystrybucja)
Rozkład czasu spędzonego na otrzymywaniu odpowiedzi.
tuist_http_queue_available_connections (last_value)
Liczba połączeń dostępnych w kolejce.
tuist_http_queue_in_use_connections (last_value)
Liczba używanych połączeń kolejki.
