Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Generazione di sottosegmenti personalizzati con l'SDK X-Ray
I sottosegmenti estendono una tracciasegmentocon dettagli sul lavoro svolto per soddisfare una richiesta. Ogni volta che si effettua una chiamata con un client strumentato, l'SDK X-Ray registra le informazioni generate in un sottosegmento. È possibile creare sottosegmenti aggiuntivi per raggruppare altri segmenti secondari, per misurare le prestazioni di una sezione di codice o per registrare annotazioni e metadati.
Per gestire i sottosegmenti, utilizza i metodi begin_subsegment
e end_subsegment
.
subsegment = XRay.recorder.begin_subsegment name: 'annotations', namespace: 'remote'
my_annotations = { id: 12345 }
subsegment.annotations.update my_annotations
XRay.recorder.end_subsegment
Per creare un subsegment per una funzione, eseguire il wrapping in una chiamata a XRay.recorder.capture
.
XRay.recorder.capture('name_for_subsegment') do |subsegment|
resp = myfunc() # myfunc is your function
subsegment.annotations.update k1: 'v1'
resp
end
Quando crei un sottosegmento all'interno di un segmento o di un altro sottosegmento, l'SDK X-Ray genera per esso un ID e memorizza l'ora di inizio e fine.
Esempio Sottosegmento con metadati
"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"
}
},