Creación de subsegmentos adicionales - AWS X-Ray

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Creación de subsegmentos adicionales

nota

Aviso de SDK/Daemon mantenimiento de X-Ray: el 25 de febrero de 2026, el AWS X-Ray SDKs/Daemon entrará en modo de mantenimiento, donde AWS se limitarán las versiones de X-Ray SDK y Daemon para abordar únicamente los problemas de seguridad. Para obtener más información sobre la cronología del soporte, consulte Cronología de X-Ray SDK y Daemon Support. Recomendamos migrar a. OpenTelemetry Para obtener más información sobre la migración a OpenTelemetry, consulte Migración de una instrumentación de rayos X a una instrumentación. 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.

Para administrar los subsegmentos, utilice los métodos BeginSubsegment y EndSubsegment. Realice el trabajo que desee en el subsegmento en un bloque try y utilice AddException para rastrear excepciones. Llame a EndSubsegment en un bloque finally para asegurarse de que el subsegmento está cerrado.

ejemplo Controller.cs: subsegmento personalizado
AWSXRayRecorder.Instance.BeginSubsegment("custom method"); try { DoWork(); } catch (Exception e) { AWSXRayRecorder.Instance.AddException(e); } finally { AWSXRayRecorder.Instance.EndSubsegment(); }

Cuando crea un subsegmento dentro de un segmento o de otro subsegmento, el SDK de X-Ray para .NET genera un ID para dicho subsegmento y registra la hora de inicio y la hora de finalización.

ejemplo Subsegmentos con metadatos
"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" } },