Skip to content

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

Analityka PostHog#

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 publicznych
    • dashboard - zdarzenia z głównego pulpitu aplikacji i obszarów uwierzytelnionych
    • api-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

Metryki Elixir#

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ć.

Wskaźniki przebiegu#

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

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

Liczba pobrań do binarnej pamięci podręcznej.

tuist_cache_downloaded_bytes (sum)#

Liczba bajtów pobranych z binarnej pamięci podręcznej.


Wskaźniki podglądu#

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

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

Liczba połączeń nawiązanych z bazą danych.

tuist_repo_pool_db_connection_disconnected (licznik)#

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

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

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

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

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

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.