Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pustaka patching ke instrumen panggilan hilir
Untuk instrumen panggilan hilir, gunakan X-Ray SDK for Python untuk patch pustaka yang menggunakan aplikasi Anda. X-Ray SDK for Python dapat patch pustaka berikut.
Pustaka Didukung
-
botocore
,boto3
– Instrumen AWS SDK for Python (Boto) klien. -
pynamodb
– Versi PynamoDB Instrumen dari klien Amazon DynamoDB. -
aiobotocore
,aioboto3
– Instrumen asyncio-versi terintegrasi dari klien SDK for Python. -
httplib
,http.client
– Instrumen klien HTTP tingkat rendah dan pustaka tingkat yang lebih tinggi yang menggunakannya. -
sqlite3
– Instrumen klien SQLite. -
mysql-connector-python
– Instrumen klien MySQL. -
pg8000
– Instrumen antarmuka Pure-Python PostgreSQL. -
psycopg2
– Adaptor basis data Instrumen PostgreSQL. -
pymongo
– Instrumen klien MongoDB. -
pymysql
— InstrumenPyMyKlien berbasis SQL untuk MySQL dan MariaDB.
Ketika Anda menggunakan pustaka yang dipatch, X-Ray SDK for Python membuat subsegmen untuk panggilan dan catatan informasi dari permintaan dan respons. Segmen harus tersedia untuk SDK untuk membuat subsegmen, baik dari SDK middleware atau dari AWS Lambda.
catatan
Jika Anda menggunakan SQLAlchemy ORM, Anda dapat instrumen kueri SQL Anda dengan mengimpor versi SDK dari sesi SQLAlchemy dan kueri kelas. Lihat Gunakan SQLAlchemy ORM
Untuk patch semua pustaka yang tersedia, gunakan fungsi patch_all
di aws_xray_sdk.core
. Beberapa pustaka, seperti httplib
dan urllib
, mungkin perlu mengaktifkan patch ganda dengan memanggil patch_all(double_patch=True)
.
contoh main.py - Patch semua pustaka yang didukung
import boto3
import botocore
import requests
import sqlite3
from aws_xray_sdk.core import xray_recorder
from aws_xray_sdk.core import patch_all
patch_all()
Untuk patch sebuah pustaka tunggal, hubungi patch
dengan tupel dari nama pustaka. Untuk mencapai hal ini, Anda perlu menyediakan daftar elemen tunggal.
contoh main.py - Patch pustaka tertentu
import boto3
import botocore
import requests
import mysql-connector-python
from aws_xray_sdk.core import xray_recorder
from aws_xray_sdk.core import patch
libraries = (['botocore'])
patch(libraries)
catatan
Dalam beberapa kasus, kunci yang Anda gunakan untuk patch pustaka tidak cocok dengan nama pustaka. Beberapa kunci berfungsi sebagai alias untuk satu atau lebih pustaka.
Alias Pustaka
-
httplib
—httplib
danhttp.client
-
mysql
–mysql-connector-python
Menelusuri konteks untuk pekerjaan asynchronous
Untuk pustaka terintegrasi asyncio
, atau untuk membuat subsegment bagi fungsi asynchronous, Anda juga harus mengonfigurasi X-Ray SDK for Python dengan konteks async. Mengimpor kelas AsyncContext
dan lulus instans nya untuk pencatat X-Ray.
catatan
Pustaka dukungan kerangka kerja web, seperti AIOHTTP, tidak ditangani melalui modul aws_xray_sdk.core.patcher
. Mereka tidak akan muncul dalam katalog patcher
dari pustaka yang didukung.
contoh main.py – Patch aioboto3
import asyncio
import aioboto3
import requests
from aws_xray_sdk.core.async_context import AsyncContext
from aws_xray_sdk.core import xray_recorder
xray_recorder.configure(service='my_service', context=AsyncContext())
from aws_xray_sdk.core import patch
libraries = (['aioboto3'])
patch(libraries)