[ aws . xray ]

get-service-graph

Description

Retrieves a document that describes services that process incoming requests, and downstream services that they call as a result. Root services process incoming requests and make calls to downstream services. Root services are applications that use the AWS X-Ray SDK . Downstream services can be other applications, AWS resources, HTTP web APIs, or SQL databases.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

get-service-graph is a paginated operation. Multiple API calls may be issued in order to retrieve the entire data set of results. You can disable pagination by providing the --no-paginate argument. When using --output text and the --query argument on a paginated response, the --query argument must extract data from the results of the following query expressions: Services

Synopsis

  get-service-graph
--start-time <value>
--end-time <value>
[--group-name <value>]
[--group-arn <value>]
[--cli-input-json | --cli-input-yaml]
[--starting-token <value>]
[--max-items <value>]
[--generate-cli-skeleton <value>]

Options

--start-time (timestamp)

The start of the time frame for which to generate a graph.

--end-time (timestamp)

The end of the timeframe for which to generate a graph.

--group-name (string)

The name of a group based on which you want to generate a graph.

--group-arn (string)

The Amazon Resource Name (ARN) of a group based on which you want to generate a graph.

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--starting-token (string)

A token to specify where to start paginating. This is the NextToken from a previously truncated response.

For usage examples, see Pagination in the AWS Command Line Interface User Guide .

--max-items (integer)

The total number of items to return in the command’s output. If the total number of items available is more than the value specified, a NextToken is provided in the command’s output. To resume pagination, provide the NextToken value in the starting-token argument of a subsequent command. Do not use the NextToken response element directly outside of the AWS CLI.

For usage examples, see Pagination in the AWS Command Line Interface User Guide .

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

See ‘aws help’ for descriptions of global parameters.

Examples

To get a service graph

The following example displays a document within a specified time period that describes services processing incoming requests, and the downstream services that they call as a result.:

aws xray get-service-graph \
    --start-time 1568835392.0
    --end-time 1568835446.0

Output:

{
    "Services": [
        {
            "ReferenceId": 0,
            "Name": "Scorekeep",
            "Names": [
                "Scorekeep"
            ],
            "Root": true,
            "Type": "AWS::ElasticBeanstalk::Environment",
            "State": "active",
            "StartTime": 1568835392.0,
            "EndTime": 1568835446.0,
            "Edges": [
                {
                    "ReferenceId": 1,
                    "StartTime": 1568835392.0,
                    "EndTime": 1568835446.0,
                    "SummaryStatistics": {
                        "OkCount": 14,
                        "ErrorStatistics": {
                            "ThrottleCount": 0,
                            "OtherCount": 0,
                            "TotalCount": 0
                        },
                        "FaultStatistics": {
                            "OtherCount": 0,
                            "TotalCount": 0
                        },
                        "TotalCount": 14,
                        "TotalResponseTime": 0.13
                    },
                    "ResponseTimeHistogram": [
                        {
                            "Value": 0.008,
                            "Count": 1
                        },
                        {
                            "Value": 0.005,
                            "Count": 7
                        },
                        {
                            "Value": 0.009,
                            "Count": 1
                        },
                        {
                            "Value": 0.021,
                            "Count": 1
                        },
                        {
                            "Value": 0.038,
                            "Count": 1
                        },
                        {
                            "Value": 0.007,
                            "Count": 1
                        },
                        {
                            "Value": 0.006,
                            "Count": 2
                        }
                    ],
                    "Aliases": []
                },

                ... TRUNCATED FOR BREVITY ...

            ]
        }
    ],
    "StartTime": 1568835392.0,
    "EndTime": 1568835446.0,
    "ContainsOldGroupVersions": false
}

For more information, see Using the AWS X-Ray API with the AWS CLI in the AWS X-Ray Developer Guide.

Output

StartTime -> (timestamp)

The start of the time frame for which the graph was generated.

EndTime -> (timestamp)

The end of the time frame for which the graph was generated.

Services -> (list)

The services that have processed a traced request during the specified time frame.

(structure)

Information about an application that processed requests, users that made requests, or downstream services, resources, and applications that an application used.

ReferenceId -> (integer)

Identifier for the service. Unique within the service map.

Name -> (string)

The canonical name of the service.

Names -> (list)

A list of names for the service, including the canonical name.

(string)

Root -> (boolean)

Indicates that the service was the first service to process a request.

AccountId -> (string)

Identifier of the AWS account in which the service runs.

Type -> (string)

The type of service.

  • AWS Resource - The type of an AWS resource. For example, AWS::EC2::Instance for an application running on Amazon EC2 or AWS::DynamoDB::Table for an Amazon DynamoDB table that the application used.

  • AWS Service - The type of an AWS service. For example, AWS::DynamoDB for downstream calls to Amazon DynamoDB that didn’t target a specific table.

  • client - Represents the clients that sent requests to a root service.

  • remote - A downstream service of indeterminate type.

State -> (string)

The service’s state.

StartTime -> (timestamp)

The start time of the first segment that the service generated.

EndTime -> (timestamp)

The end time of the last segment that the service generated.

Edges -> (list)

Connections to downstream services.

(structure)

Information about a connection between two services.

ReferenceId -> (integer)

Identifier of the edge. Unique within a service map.

StartTime -> (timestamp)

The start time of the first segment on the edge.

EndTime -> (timestamp)

The end time of the last segment on the edge.

SummaryStatistics -> (structure)

Response statistics for segments on the edge.

OkCount -> (long)

The number of requests that completed with a 2xx Success status code.

ErrorStatistics -> (structure)

Information about requests that failed with a 4xx Client Error status code.

ThrottleCount -> (long)

The number of requests that failed with a 419 throttling status code.

OtherCount -> (long)

The number of requests that failed with untracked 4xx Client Error status codes.

TotalCount -> (long)

The total number of requests that failed with a 4xx Client Error status code.

FaultStatistics -> (structure)

Information about requests that failed with a 5xx Server Error status code.

OtherCount -> (long)

The number of requests that failed with untracked 5xx Server Error status codes.

TotalCount -> (long)

The total number of requests that failed with a 5xx Server Error status code.

TotalCount -> (long)

The total number of completed requests.

TotalResponseTime -> (double)

The aggregate response time of completed requests.

ResponseTimeHistogram -> (list)

A histogram that maps the spread of client response times on an edge.

(structure)

An entry in a histogram for a statistic. A histogram maps the range of observed values on the X axis, and the prevalence of each value on the Y axis.

Value -> (double)

The value of the entry.

Count -> (integer)

The prevalence of the entry.

Aliases -> (list)

Aliases for the edge.

(structure)

An alias for an edge.

Name -> (string)

The canonical name of the alias.

Names -> (list)

A list of names for the alias, including the canonical name.

(string)

Type -> (string)

The type of the alias.

SummaryStatistics -> (structure)

Aggregated statistics for the service.

OkCount -> (long)

The number of requests that completed with a 2xx Success status code.

ErrorStatistics -> (structure)

Information about requests that failed with a 4xx Client Error status code.

ThrottleCount -> (long)

The number of requests that failed with a 419 throttling status code.

OtherCount -> (long)

The number of requests that failed with untracked 4xx Client Error status codes.

TotalCount -> (long)

The total number of requests that failed with a 4xx Client Error status code.

FaultStatistics -> (structure)

Information about requests that failed with a 5xx Server Error status code.

OtherCount -> (long)

The number of requests that failed with untracked 5xx Server Error status codes.

TotalCount -> (long)

The total number of requests that failed with a 5xx Server Error status code.

TotalCount -> (long)

The total number of completed requests.

TotalResponseTime -> (double)

The aggregate response time of completed requests.

DurationHistogram -> (list)

A histogram that maps the spread of service durations.

(structure)

An entry in a histogram for a statistic. A histogram maps the range of observed values on the X axis, and the prevalence of each value on the Y axis.

Value -> (double)

The value of the entry.

Count -> (integer)

The prevalence of the entry.

ResponseTimeHistogram -> (list)

A histogram that maps the spread of service response times.

(structure)

An entry in a histogram for a statistic. A histogram maps the range of observed values on the X axis, and the prevalence of each value on the Y axis.

Value -> (double)

The value of the entry.

Count -> (integer)

The prevalence of the entry.

ContainsOldGroupVersions -> (boolean)

A flag indicating whether the group’s filter expression has been consistent, or if the returned service graph may show traces from an older version of the group’s filter expression.

NextToken -> (string)

Pagination token.