Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Aufzeichnen von Anmerkungen, Metadaten und Benutzern IDs
Anmerkung
End-of-support Hinweis — Am 25. Februar 2027 stellt AWS X-Ray die Unterstützung für AWS X-Ray SDKs und Daemon ein. Nach dem 25. Februar 2027 werden Sie keine Updates oder Releases mehr erhalten. Weitere Informationen zum Zeitplan für den Support finden Sie unterZeitplan für das Ende des Supports für X-Ray SDK und Daemon. Wir empfehlen die Migration zu OpenTelemetry. Weitere Informationen zur Migration zu OpenTelemetry finden Sie unter Migration von X-Ray-Instrumentierung zu OpenTelemetry Instrumentierung.
In der Spielmodellklasse zeichnet die Anwendung jedes Mal, wenn sie ein Spiel in DynamoDB speichert, Game
Objekte in einem Metadatenblock auf. Unabhängig davon zeichnet die Anwendung das Spiel IDs in Anmerkungen zur Verwendung mit Filterausdrücken auf.
Beispiel src/main/java/scorekeep/GameModel.java
— Anmerkungen und Metadaten
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();
}
}
Im Move-Controller zeichnet die Anwendung den Benutzer IDs mit setUser
auf. Benutzer IDs werden in einem separaten Feld in Segmenten aufgezeichnet und für die Verwendung bei der Suche indexiert.
Beispiel src/main/java/scorekeep/MoveController.java — Benutzer-ID
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);
}