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.
Registro de anotaciones, metadatos e identificadores de usuario
nota
X-Ray SDK/Daemon Aviso de mantenimiento: el 25 de febrero de 2026, entrará en modo de mantenimiento, en el que AWS X-Ray SDKs/Daemon se AWS 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 X-Ray instrumentación a otra. OpenTelemetry
En la clase de modelo de juego, la aplicación registra objetos Game en un bloque de metadatos cada vez que se guarda un juego en DynamoDB. De forma independiente, la aplicación registra los identificadores de juego en anotaciones para su uso con expresiones de filtro.
ejemplo src/main/java/scorekeep/GameModel.java — Anotaciones y metadatos
import com.amazonaws.xray.AWSXRay;
import com.amazonaws.xray.entities.Segment;
import com.amazonaws.xray.entities.Subsegment;
...
public void saveGame(Game game) throws SessionNotFoundException {
// wrap in subsegment
Subsegment subsegment = AWSXRay.beginSubsegment("## GameModel.saveGame");
try {
// check session
String sessionId = game.getSession();
if (sessionModel.loadSession(sessionId) == null ) {
throw new SessionNotFoundException(sessionId);
}
Segment segment = AWSXRay.getCurrentSegment();
subsegment.putMetadata("resources", "game", game);
segment.putAnnotation("gameid", game.getId());
mapper.save(game);
} catch (Exception e) {
subsegment.addException(e);
throw e;
} finally {
AWSXRay.endSubsegment();
}
}En el controlador de movimiento, la aplicación registra los identificadores de usuario con setUser. Los identificadores de usuario se registran en un campo aparte en segmentos y se indexan para su uso con la búsqueda.
ejemplo src/main/java/scorekeep/MoveController.java — ID de usuario
import com.amazonaws.xray.AWSXRay;
...
@RequestMapping(value="/{userId}", method=RequestMethod.POST)
public Move newMove(@PathVariable String sessionId, @PathVariable String gameId, @PathVariable String userId, @RequestBody String move) throws SessionNotFoundException, GameNotFoundException, StateNotFoundException, RulesException {
AWSXRay.getCurrentSegment().setUser(userId);
return moveFactory.newMove(sessionId, gameId, userId, move);
}