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.
Fügen Sie mit X-Ray SDK für Java Anmerkungen und Metadaten zu Segmenten hinzu
Sie können zusätzliche Informationen über Anfragen, die Umgebung oder Ihre Anwendung mit Anmerkungen und Metadaten aufzeichnen. Sie können Anmerkungen und Metadaten zu den Segmenten hinzufügen, die X-Ray SDK erstellt, oder zu benutzerdefinierten Untersegmenten, die Sie erstellen.
Anmerkungen sind Schlüssel-Wert-Paare mit Zeichenfolgen-, Zahlen- oder booleschen Werten. Anmerkungen sind für die Verwendung mit Filterausdrücken indexiert. Verwenden Sie Anmerkungen, um Daten aufzuzeichnen, die Sie zum Gruppieren von Traces in der Konsole oder beim Aufrufen von verwenden möchten. GetTraceSummaries
API
Metadaten sind Schlüssel-Wert-Paare, die Werte beliebigen Typs enthalten können, einschließlich Objekte und Listen, aber nicht für die Verwendung mit Filterausdrücken indexiert sind. Verwenden Sie Metadaten, um zusätzliche Daten aufzuzeichnen, die Sie im Trace speichern möchten, aber nicht für die Suche verwenden müssen.
Zusätzlich zu Anmerkungen und Metadaten können Sie auch Benutzer-ID-Zeichenfolgen in Segmenten aufzeichnen. Benutzer IDs werden in einem separaten Feld in Segmenten aufgezeichnet und für die Verwendung bei der Suche indexiert.
Sections
Anmerkungen mit dem X-Ray SDK für Java aufnehmen
Verwenden Sie Anmerkungen, um Informationen zu Segmenten oder Untersegmenten, die zur Suche indiziert werden sollten, aufzuzeichnen.
Anmerkung zu Anforderungen
-
Schlüssel — Der Schlüssel für eine X-Ray-Anmerkung kann bis zu 500 alphanumerische Zeichen enthalten. Sie können keine anderen Leerzeichen oder Symbole als einen Punkt oder Punkt (.) verwenden
-
Werte — Der Wert für eine X-Ray-Anmerkung kann bis zu 1.000 Unicode-Zeichen enthalten.
-
Die Anzahl der Anmerkungen — Sie können bis zu 50 Anmerkungen pro Spur verwenden.
So zeichnen Sie Anmerkungen auf
-
Eine Referenz des aktuellen Segments oder Untersegments finden Sie unter
AWSXRay
.import com.amazonaws.xray.AWSXRay; import com.amazonaws.xray.entities.Segment; ... Segment document = AWSXRay.getCurrentSegment();
or
import com.amazonaws.xray.AWSXRay; import com.amazonaws.xray.entities.Subsegment; ... Subsegment document = AWSXRay.getCurrentSubsegment();
-
Rufen Sie
putAnnotation
mit einem Aktivierungsschlüssel und einem booleschen Wert oder einem Zeichenfolgenwert auf.document.putAnnotation("mykey", "my value");
Das folgende Beispiel zeigt, wie Sie
putAnnotation
mit einem String-Schlüssel aufrufen, der einen Punkt und einen booleschen Wert, eine Zahl oder einen String-Wert enthält.document.putAnnotation("testkey.test", "my value");
Das SDK zeichnet Anmerkungen als Schlüssel-Wert-Paare in einem annotations
Objekt im Segmentdokument auf. Wenn putAnnotation
zweimal mit demselben Schlüssel aufgerufen wird, werden zuvor aufgezeichnete Werte im gleichen Segment oder Untersegment überschrieben.
Nutzen Sie das annotation[
-Schlüsselwort in einem Filterausdruck, um Ablaufverfolgungen durch Anmerkungen mit bestimmten Werten zu finden.key
]
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();
}
}
Metadaten mit dem X-Ray SDK für Java aufnehmen
Verwenden Sie Metadaten, um Segment- oder Untersegmentinformationen aufzuzeichnen, die nicht zur Suche indiziert werden müssen. Bei Metadatenwerten kann es sich um Zeichenketten, Zahlen, Boolesche Werte oder beliebige Objekte handeln, die in ein JSON Objekt oder Array serialisiert werden können.
So zeichnen Sie Metadaten auf
-
Eine Referenz des aktuellen Segments oder Untersegments finden Sie unter
AWSXRay
.import com.amazonaws.xray.AWSXRay; import com.amazonaws.xray.entities.Segment; ... Segment document = AWSXRay.getCurrentSegment();
or
import com.amazonaws.xray.AWSXRay; import com.amazonaws.xray.entities.Subsegment; ... Subsegment document = AWSXRay.getCurrentSubsegment();
-
Rufen Sie
putMetadata
mit einem String-Namespace, einem Aktivierungsschlüssel sowie einem booleschen Wert, einer Zahl, einer Zeichenfolge oder einem Objektwert auf.document.putMetadata("
my namespace
", "my key
", "my value
");or
Rufen Sie
putMetadata
nur mit einem Aktivierungsschlüssel und einem Wert auf.document.putMetadata("
my key
", "my value
");
Wenn Sie keinen Namespace angeben, verwendet der. SDK default
Wenn putMetadata
zweimal mit demselben Schlüssel aufgerufen wird, werden zuvor aufgezeichnete Werte im gleichen Segment oder Untersegment überschrieben.
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();
}
}
Benutzer IDs mit dem X-Ray SDK für Java aufnehmen
Zeichnen Sie Segmente von Benutzern IDs auf Anfrage auf, um den Benutzer zu identifizieren, der die Anfrage gesendet hat.
Um den Benutzer aufzuzeichnen IDs
-
Eine Referenz des aktuellen Segments finden Sie unter
AWSXRay
.import com.amazonaws.xray.AWSXRay; import com.amazonaws.xray.entities.Segment; ... Segment document = AWSXRay.getCurrentSegment();
-
Rufen Sie
setUser
mit einer Zeichenfolgen-ID des Benutzers auf, der die Anforderung gesendet hat.document.setUser("
U12345
");
Sie können setUser
in Ihrem Controller aufrufen, um die Benutzer-ID aufzuzeichnen, sobald die Anwendung mit der Bearbeitung einer Anfrage beginnt. Wenn Sie das Segment nur zur Einrichtung der Benutzer-ID verwenden, können Sie die Aufrufe in einer einzelnen Zeile anordnen.
Beispiel src/main/java/scorekeep/ .java MoveController — 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);
}
Nutzen Sie das user
-Schlüsselwort in einem Filterausdruck, um Ablaufverfolgungen einer Benutzer-ID zu finden.