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