기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
SDK for Java 2.x를 사용한 X-Ray 예제
다음 코드 예제에서는 X-Ray와 AWS SDK for Java 2.x 함께를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.
작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.
각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.
주제
작업
다음 코드 예시는 CreateGroup의 사용 방법을 보여 줍니다.
- SDK for Java 2.x
-
참고
GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리
에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요. import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.xray.XRayClient; import software.amazon.awssdk.services.xray.model.CreateGroupRequest; import software.amazon.awssdk.services.xray.model.CreateGroupResponse; import software.amazon.awssdk.services.xray.model.XRayException; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class CreateGroup { public static void main(String[] args) { final String usage = """ Usage: <groupName> Where: groupName - The name of the group to create\s """; if (args.length != 1) { System.out.println(usage); System.exit(1); } String groupName = args[0]; Region region = Region.US_EAST_1; XRayClient xRayClient = XRayClient.builder() .region(region) .build(); createNewGroup(xRayClient, groupName); } public static void createNewGroup(XRayClient xRayClient, String groupName) { try { CreateGroupRequest groupRequest = CreateGroupRequest.builder() .filterExpression("fault = true AND http.url CONTAINS \"example/game\" AND responsetime >= 5") .groupName(groupName) .build(); CreateGroupResponse groupResponse = xRayClient.createGroup(groupRequest); System.out.println("The Group ARN is " + groupResponse.group().groupARN()); } catch (XRayException e) { System.err.println(e.getMessage()); System.exit(1); } } }-
API 세부 정보는 AWS SDK for Java 2.x API 참조의 CreateGroup을 참조하세요.
-
다음 코드 예시는 CreateSamplingRule의 사용 방법을 보여 줍니다.
- SDK for Java 2.x
-
참고
GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리
에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요. import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.xray.XRayClient; import software.amazon.awssdk.services.xray.model.CreateSamplingRuleRequest; import software.amazon.awssdk.services.xray.model.SamplingRule; import software.amazon.awssdk.services.xray.model.XRayException; import software.amazon.awssdk.services.xray.model.CreateSamplingRuleResponse; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class CreateSamplingRule { public static void main(String[] args) { final String usage = """ Usage: <ruleName> Where: ruleName - The name of the rule\s """; if (args.length != 1) { System.out.println(usage); System.exit(1); } String ruleName = args[0]; Region region = Region.US_EAST_1; XRayClient xRayClient = XRayClient.builder() .region(region) .build(); createRule(xRayClient, ruleName); } public static void createRule(XRayClient xRayClient, String ruleName) { try { SamplingRule rule = SamplingRule.builder() .ruleName(ruleName) .priority(1) .httpMethod("*") .serviceType("*") .serviceName("*") .urlPath("*") .version(1) .host("*") .resourceARN("*") .build(); CreateSamplingRuleRequest ruleRequest = CreateSamplingRuleRequest.builder() .samplingRule(rule) .build(); CreateSamplingRuleResponse ruleResponse = xRayClient.createSamplingRule(ruleRequest); System.out.println( "The ARN of the new rule is " + ruleResponse.samplingRuleRecord().samplingRule().ruleARN()); } catch (XRayException e) { System.err.println(e.getMessage()); System.exit(1); } } }-
API 세부 정보는 API 참조의 CreateSamplingRuleAWS SDK for Java 2.x 을 참조하세요.
-
다음 코드 예시는 DeleteGroup의 사용 방법을 보여 줍니다.
- SDK for Java 2.x
-
참고
GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리
에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요. import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.xray.XRayClient; import software.amazon.awssdk.services.xray.model.DeleteGroupRequest; import software.amazon.awssdk.services.xray.model.XRayException; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class DeleteGroup { public static void main(String[] args) { final String usage = """ Usage: <groupName> Where: groupName - The name of the group to delete\s """; if (args.length != 1) { System.out.println(usage); System.exit(1); } String groupName = args[0]; Region region = Region.US_EAST_1; XRayClient xRayClient = XRayClient.builder() .region(region) .build(); deleteSpecificGroup(xRayClient, groupName); } public static void deleteSpecificGroup(XRayClient xRayClient, String groupName) { try { DeleteGroupRequest groupRequest = DeleteGroupRequest.builder() .groupName(groupName) .build(); xRayClient.deleteGroup(groupRequest); System.out.println(groupName + " was deleted!"); } catch (XRayException e) { System.err.println(e.getMessage()); System.exit(1); } } }-
API 세부 정보는 AWS SDK for Java 2.x API 참조의 DeleteGroup을 참조하세요.
-
다음 코드 예시는 DeleteSamplingRule의 사용 방법을 보여 줍니다.
- SDK for Java 2.x
-
참고
GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리
에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요. import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.xray.XRayClient; import software.amazon.awssdk.services.xray.model.DeleteSamplingRuleRequest; import software.amazon.awssdk.services.xray.model.XRayException; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class DeleteSamplingRule { public static void main(String[] args) { final String usage = """ Usage: <ruleName> Where: ruleName - The name of the rule to delete\s """; if (args.length != 1) { System.out.println(usage); System.exit(1); } String ruleName = args[0]; Region region = Region.US_EAST_1; XRayClient xRayClient = XRayClient.builder() .region(region) .build(); deleteRule(xRayClient, ruleName); } public static void deleteRule(XRayClient xRayClient, String ruleName) { try { DeleteSamplingRuleRequest ruleRequest = DeleteSamplingRuleRequest.builder() .ruleName(ruleName) .build(); xRayClient.deleteSamplingRule(ruleRequest); } catch (XRayException e) { System.err.println(e.getMessage()); System.exit(1); } } }-
API 세부 정보는 API 참조의 DeleteSamplingRuleAWS SDK for Java 2.x 을 참조하세요.
-
다음 코드 예시는 GetGroups의 사용 방법을 보여 줍니다.
- SDK for Java 2.x
-
참고
GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리
에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요. import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.xray.XRayClient; import software.amazon.awssdk.services.xray.model.GetGroupsResponse; import software.amazon.awssdk.services.xray.model.GroupSummary; import software.amazon.awssdk.services.xray.model.XRayException; import java.util.List; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class GetGroups { public static void main(String[] args) { Region region = Region.US_EAST_1; XRayClient xRayClient = XRayClient.builder() .region(region) .build(); getAllGroups(xRayClient); } public static void getAllGroups(XRayClient xRayClient) { try { GetGroupsResponse groupsResponse = xRayClient.getGroups(); List<GroupSummary> groups = groupsResponse.groups(); for (GroupSummary group : groups) { System.out.println("The AWS XRay group name is " + group.groupName()); } } catch (XRayException e) { System.err.println(e.getMessage()); System.exit(1); } } }-
API 세부 정보는 API 참조의 GetGroupsAWS SDK for Java 2.x 를 참조하세요.
-
다음 코드 예시는 GetSamplingRules의 사용 방법을 보여 줍니다.
- SDK for Java 2.x
-
참고
GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리
에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요. import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.xray.XRayClient; import software.amazon.awssdk.services.xray.model.GetSamplingRulesResponse; import software.amazon.awssdk.services.xray.model.SamplingRuleRecord; import software.amazon.awssdk.services.xray.model.XRayException; import java.util.List; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class GetSamplingRules { public static void main(String[] args) { Region region = Region.US_EAST_1; XRayClient xRayClient = XRayClient.builder() .region(region) .credentialsProvider(ProfileCredentialsProvider.create()) .build(); getRules(xRayClient); } public static void getRules(XRayClient xRayClient) { try { GetSamplingRulesResponse response = xRayClient.getSamplingRules(r -> r.build()); List<SamplingRuleRecord> records = response.samplingRuleRecords(); for (SamplingRuleRecord record : records) { System.out.println("The rule name is: " + record.samplingRule().ruleName()); System.out.println("The related service is: " + record.samplingRule().serviceName()); } } catch (XRayException e) { System.err.println(e.getMessage()); System.exit(1); } } }-
API 세부 정보는 API 참조의 GetSamplingRulesAWS SDK for Java 2.x 를 참조하세요.
-
다음 코드 예시는 GetServiceGraph의 사용 방법을 보여 줍니다.
- SDK for Java 2.x
-
참고
GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리
에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요. import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.xray.XRayClient; import software.amazon.awssdk.services.xray.model.GetServiceGraphRequest; import software.amazon.awssdk.services.xray.model.GetServiceGraphResponse; import software.amazon.awssdk.services.xray.model.Service; import software.amazon.awssdk.services.xray.model.XRayException; import java.time.LocalDateTime; import java.time.Instant; import java.time.ZoneId; import java.util.List; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class GetServiceGraph { public static void main(String[] args) { final String usage = """ Usage: <groupName> Where: groupName - The name of a group based on which you want to generate a graph. """; if (args.length != 1) { System.out.println(usage); System.exit(1); } String groupName = args[0]; Region region = Region.US_EAST_1; XRayClient xRayClient = XRayClient.builder() .region(region) .build(); getGraph(xRayClient, groupName); } public static void getGraph(XRayClient xRayClient, String groupName) { try { // The Instant values have to be 6 hours apart. LocalDateTime localDateTime = LocalDateTime.parse("2022-03-09T06:00:00"); Instant start = localDateTime.atZone(ZoneId.of("America/New_York")).toInstant(); LocalDateTime localDateTime2 = LocalDateTime.parse("2022-03-09T12:00:00"); Instant end = localDateTime2.atZone(ZoneId.of("America/New_York")).toInstant(); GetServiceGraphRequest getServiceGraphRequest = GetServiceGraphRequest.builder() .groupName(groupName) .startTime(start) .endTime(end) .build(); GetServiceGraphResponse graphResponse = xRayClient.getServiceGraph(getServiceGraphRequest); List<Service> services = graphResponse.services(); for (Service service : services) { System.out.println("The name of the service is " + service.name()); } } catch (XRayException e) { System.err.println(e.getMessage()); System.exit(1); } } }-
API 세부 정보는 API 참조의 GetServiceGraphAWS SDK for Java 2.x 를 참조하세요.
-