View a markdown version of this page

Pustaka patching ke instrumen panggilan hilir - AWS X-Ray

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

catatan

X-Ray SDK/Daemon Pemberitahuan Pemeliharaan - Pada tanggal 25 Februari 2026, AWS X-Ray SDKs/Daemon akan memasuki mode pemeliharaan, di mana AWS akan membatasi rilis X-Ray SDK dan Daemon untuk mengatasi masalah keamanan saja. Untuk informasi selengkapnya tentang garis waktu dukungan, lihatGaris waktu Dukungan X-Ray SDK dan Daemon. Kami merekomendasikan untuk bermigrasi ke OpenTelemetry. Untuk informasi selengkapnya tentang migrasi ke OpenTelemetry, lihat Migrasi dari X-Ray instrumentasi ke instrumentasi. OpenTelemetry

Untuk instrumen panggilan hilir, gunakan X-Ray SDK untuk Python untuk menambal pustaka yang digunakan aplikasi Anda. X-Ray SDK untuk Python dapat menambal pustaka berikut.

Pustaka yang didukung
  • botocore, boto3 - AWS SDK for Python (Boto) Klien instrumen.

  • pynamodb – Versi PynamoDB Instrumen dari klien Amazon DynamoDB.

  • aiobotocore, aioboto3 - Instrumen asyncio -versi SDK terintegrasi untuk klien Python (Boto3).

  • requests, aiohttp – Instrumen klien HTTP tingkat tinggi.

  • 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— Antarmuka Pure-Python PostgreSQL instrumen.

  • psycopg2 – Adaptor basis data Instrumen PostgreSQL.

  • pymongo – Instrumen klien MongoDB.

  • pymysql— Klien berbasis instrumen PyMy SQL untuk MySQL dan MariaDB.

Saat Anda menggunakan pustaka yang ditambal, X-Ray SDK untuk Python membuat subsegmen untuk panggilan dan merekam 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 instruksi.

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

Menelusuri konteks untuk pekerjaan asynchronous

Untuk asyncio pustaka terintegrasi, atau untuk membuat subsegmen untuk fungsi asinkron, Anda juga harus mengonfigurasi X-Ray SDK untuk Python dengan konteks asinkron. Imp AsyncContext or kelas dan berikan instance ke X-Ray perekam.

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)