Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menghasilkan subsegment kustom dengan X-Ray SDK for Python
catatan
Pemberitahuan SDK/Daemon Pemeliharaan X-Ray - Pada 25 Februari 2026, AWS SDKs/Daemon X-Ray 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 lebih lanjut tentang migrasi ke OpenTelemetry, lihat Migrasi dari instrumentasi X-Ray ke instrumentasi. OpenTelemetry
Subsegmen memperluas segmen pelacakan dengan detail tentang pekerjaan yang dilakukan untuk melayani permintaan. Setiap kali Anda melakukan panggilan dengan klien berinstrumen, X-Ray tersebut mencatat informasi yang dihasilkan dalam subsegmen. Anda dapat membuat subsegment tambahan untuk mengelompokkan subsegment lain, untuk mengukur performa bagian kode, atau untuk mencatat anotasi dan metadata.
Untuk mengelola subsegment, gunakan metode begin_subsegment dan end_subsegment.
contoh main.py - Subsegmen kustom
from aws_xray_sdk.core import xray_recorder
subsegment = xray_recorder.begin_subsegment('annotations')
subsegment.put_annotation('id', 12345)
xray_recorder.end_subsegment()Untuk membuat subsegmen untuk fungsi sinkron, gunakan dekorator @xray_recorder.capture. Anda dapat melewati nama untuk subsegment ke fungsi capture atau meninggalkannya agar menggunakan nama fungsi.
contoh main.py - Fungsi subsegmen
from aws_xray_sdk.core import xray_recorder
@xray_recorder.capture('## create_user')
def create_user():
...Untuk fungsi asynchronous, gunakan dekorator @xray_recorder.capture_async, dan lewati konteks async untuk mencatat.
contoh main.py - fungsi asynchronous subsegmen
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())
@xray_recorder.capture_async('## create_user')
async def create_user():
...
async def main():
await myfunc()Ketika Anda membuat subsegmen dalam segmen atau subsegmen lain, X-Ray SDK for Python membuat ID untuknya dan mencatat waktu mulai dan waktu akhir.
contoh Subsegmen dengan metadata
"subsegments": [{
"id": "6f1605cd8a07cb70",
"start_time": 1.480305974194E9,
"end_time": 1.4803059742E9,
"name": "Custom subsegment for UserModel.saveUser function",
"metadata": {
"debug": {
"test": "Metadata string from UserModel.saveUser"
}
},