Mencatat anotasi, metadata, dan ID pengguna - AWS X-Ray

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mencatat anotasi, metadata, dan ID pengguna

Di kelas model game, aplikasi mencatat objek Game di blok metadata setiap kali game disimpan di DynamoDB. Secara terpisah, aplikasi mencatat ID game di anotasi untuk digunakan dengan ekspresi filter.

contoh src/main/java/scorekeep/GameModel.java – Anotasi dan metadata
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(); } }

Dalam pengendali bergerak, aplikasi mencatat ID pengguna dengan setUser. ID pengguna dicatat dalam bidang terpisah pada segmen dan diindeks untuk digunakan dengan pencarian.

contoh src/main/java/scorekeep/ .java MoveController — User 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); }