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

End-of-support aviso: el 25 de febrero de 2027, AWS X-Ray dejará de ofrecer soporte para AWS X-Ray SDKs and daemon. A partir del 25 de febrero de 2027, dejaréis de recibir actualizaciones ni versiones. Para obtener más información sobre el cronograma de soporte, consulteCronología del fin del soporte de X-Ray SDK y daemon. Se recomienda 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" } },