Generación de subsegmentos personalizados con el SDK de X-Ray para Go
nota
Aviso de fin de soporte: el 25 de febrero de 2027, AWS X-Ray dejará de ofrecer soporte para los AWS X-Ray SDK y daemon. Después del 25 de febrero de 2027, ya no recibirá actualizaciones ni versiones. Para obtener más información sobre la cronología del soporte, consulte Cronología del fin del soporte de X-Ray SDK y daemon. Recomendamos migrar a OpenTelemetry. Para obtener más información sobre la migración a OpenTelemetry, consulte Migración de la instrumentación de X-Ray a la instrumentación de OpenTelemetry.
Los subsegmentos amplían el segmento de un rastro con detalles sobre el trabajo realizado para atender una solicitud. Cada vez que usted realiza una llamada con un cliente instrumentado, el SDK de X-Ray registra la información generada en un subsegmento. Puede crear subsegmentos adicionales para agrupar otros subsegmentos, medir el rendimiento de una sección de código o registrar anotaciones y metadatos.
Utilice el método Capture para crear un subsegmento en torno a una función.
ejemplo main.go: subsegmento personalizado
func criticalSection(ctx context.Context) {
//this is an example of a subsegment
xray.Capture(ctx, "GameModel.saveGame", func(ctx1 context.Context) error {
var err error
section.Lock()
result := someLockedResource.Go()
section.Unlock()
xray.AddMetadata(ctx1, "ResourceResult", result)
})En la siguiente captura de pantalla se muestra un ejemplo de cómo podría aparecer el subsegmento saveGame en rastreos para la aplicación Scorekeep.