Python obsługiwane komponenty i wersje

hak WWW Instana AutoTrace

Hak WWW Instana AutoTrace może automatycznie instrumentować procesy Python w całym klastrze Kubernetes .

Środowiska wykonawcze Python

Python Wersje Wersja czujnika Python
CPythonName > = 3.7 i < 3.10 >= 2.0.0
CPythonName > = 2.7 i < = 3.6 < 2.0.0

Obsługa długoterminowa

Instana postępuje zgodnie z oficjalną linią czasu długoterminowego wsparcia (LTS) i wycofania z eksploatacji (EOL) z Python.

Uwaga: Gdy wersja programu Python osiągnie swoją datę końca eksploatacji, oferowany jest dodatkowy okres wsparcia, który obejmuje okres od jednego do dwóch lat. Aby uniknąć problemów, należy regularnie aktualizować wersję Python .

Obsługiwane środowiska

Pakiet Instana Python obsługuje wiele różnych środowisk, takich jak:

Platforma

  • Linux
  • OSX
  • AWS Fargat
  • AWS Lambda
  • Kubernetes
  • Google Cloud
  • Microsoft Azure
  • IBM Bluemix
  • Ocean cyfrowy
  • Docker

Śledzenie

Czujnik Instana Python obsługuje rozproszone śledzenie na innych instrumentowanych platformach, technologiach i językach Instana. Umożliwia automatyczne śledzenie wszystkich żądań i obsługuje OpenTracing. Więcej informacji na ten temat zawiera sekcja OpenTracing.

Struktury Wersje Wersja czujnika Python
ASGI >= 2.0 Dowolne
Seler > = 4.3.0 i < = 5.3.1 Dowolne
Django > = 1.11 i < = 4.2.3 Dowolne
FastAPI > = 0.51.0 i < = 0.100.0 Dowolne
Kolba > = 0.12.0 i < = 2.3.2 Dowolne
Piramidowy > = 1.6.5 i < = 2.0.1 Dowolne
Urządzenia sanitarne > = 19.0.0 i < 21.9.0 >= 2.0.0
Starlette (Starlette) > = 0.12.13 i < = 0.27.0 Dowolne
Tornado > = 4.5.3 i < 6.0.0 < 2.0.0
Webapp2 > = 1.5 i < 3.0 < 2.0.0
WSGI PEP 333 > = 1.0 Dowolne
Klienty Wersje Wersja czujnika Python
Aiohttp (protokół HTTP) > = 3.1.0 i < = 3.8.5 Dowolne
Asynqp > = 0.5.1 i < = 0.6 < 2.0.0
Boto3 > = 1.15.0 i < = 1.28.11 Dowolne
Couchbase >= 2.3.5 Dowolne
Google-cloud-pubsub (*) <= 2.1.0 Dowolne
Google-pamięć masowa w chmurze > = 1.24.0 i < = 2.10.0 Dowolne
Grpcio > = 1.14.1 i < = 1.56.2 Dowolne
Mysqlclient (klient SQL) > = 1.3.14 i < = 2.2.0 Dowolne
Pika > = 1.0.0 i < = 1.3.2 Dowolne
PyMySQL > = 0.6.7 i < = 1.1.0 Dowolne
Pymongo > = 3.7.0 i < = 4.4.1 Dowolne
Psycopg2 > = 2.7.2 i < = 2.9.6 Dowolne
Redis > = 2.10.6 i < = 4.6.0 Dowolne
Żądania > = 2.16.1 i < = 2.31.0 Dowolne
Alchemia SQL > = 1.1.5 i < = 2.0.19 Dowolne
Urllib3 > = 1.18.1 i < = 1.26.16 Dowolne

(*): Pakiet Instana Python obsługuje tylko pobieranie komunikatów Google Pub/Sub.

Rejestrowanie Wersje
Rejestrowanie >= 0.4.9.x
Inne biblioteki Wersje
Zdarzenie Gevent > = 1.4 i < = 23.7.0

Śledzenie uwag i ograniczeń

Uprawnienie do uruchamiania wątku

Śledzenie Instana Python wymaga uprawnień do tworzenia i uruchamiania obiektów Python threading.Timer . W większości systemów to uprawnienie jest nadawane domyślnie. W niektórych zagnieżdżonych scenariuszach konteneryzacji, na przykład w niektórych wersjach kontenera "Docker w Docker", uprawnienie nie jest nadawane domyślnie.

Jeśli wyświetlane są wyjątki, takie jak RuntimeError: can't start new thread, wówczas najbardziej prawdopodobną przyczyną są niewystarczające uprawnienia. W przypadku aktualizacji lub zmiany uprawnienia "Docker w kontenerze Docker", ale wymagane uprawnienia nie są nadawane dla wewnętrznego kontenera aplikacji, można użyć uprawnienia --privileged w ostateczności, aby uruchomić kontener aplikacji.

Śledzenie poza granicami wątków

Pakiet Instana Python nie obsługuje śledzenia poza granicami wątków. Na przykład, gdy żądanie jest najpierw obsługiwane w pojedynczym wątku, a następnie obciążenie jest rozdzielane na wiele innych wątków za pomocą multiprocessing.ThreadPool, wywołania wychodzące, które występują w tych innych wątkach, nie są przechwytywane. Ponieważ każdy zakres wyjścia musi mieć zakres pozycji, a zakres pozycji inicjującej jest poza zasięgiem wątku, takie połączenia wychodzące nie są rejestrowane. Jest to spowodowane cechą charakterystyczną domyślnego OpenTracing ThreadLocalScopeManageri brakiem menedżera zasięgu specyficznego dla systemu ThreadPool .

Śledzenie z wieloma śledzeniem

Nie jest obsługiwane śledzenie pojedynczej aplikacji Python za pomocą Instana i programu śledzącego innej firmy, na przykład za pomocą programu śledzącego New Relic lub programu OpenTelemetry w tym samym czasie.

Obsługiwane serwery WWW

  • uWSGI
  • mod_wsgi
  • Komenda WSGI Nginx
  • wirożn

Uwaga: Serwer WWW gunicorn nie jest oficjalnie obsługiwany przez pakiet Instana Python .

Gromadzenie danych czujnika

Śledzona konfiguracja

  • Nazwa
  • Środowisko wykonawcze
  • Identyfikator PID
  • Załadowane moduły

Wielkości mierzone

  • Działanie czyszczenia pamięci
  • Użycie pamięci
  • Wątki
  • Stronicowanie
  • We/wy
  • Zdarzenia
  • Przełączanie kontekstu

AutoProfile

Profile Wersje Python Platformy
Wykorzystanie procesora > = 2.7 i > = 3.4 Linux i macOS
Współczynnik przydziału pamięci >= 3.4 Linux i macOS
Połączenia blokujące > = 2.7 i > = 3.4 Linux i macOS

Patrz także: