// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. package xray import ( "fmt" "time" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" "github.com/aws/aws-sdk-go/aws/request" ) const opBatchGetTraces = "BatchGetTraces" // BatchGetTracesRequest generates a "aws/request.Request" representing the // client's request for the BatchGetTraces operation. The "output" return // value will be populated with the request's response once the request complets // successfuly. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See BatchGetTraces for more information on using the BatchGetTraces // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the BatchGetTracesRequest method. // req, resp := client.BatchGetTracesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/BatchGetTraces func (c *XRay) BatchGetTracesRequest(input *BatchGetTracesInput) (req *request.Request, output *BatchGetTracesOutput) { op := &request.Operation{ Name: opBatchGetTraces, HTTPMethod: "POST", HTTPPath: "/Traces", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "", TruncationToken: "", }, } if input == nil { input = &BatchGetTracesInput{} } output = &BatchGetTracesOutput{} req = c.newRequest(op, input, output) return } // BatchGetTraces API operation for AWS X-Ray. // // Retrieves a list of traces specified by ID. Each trace is a collection of // segment documents that originates from a single request. Use GetTraceSummaries // to get a list of trace IDs. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS X-Ray's // API operation BatchGetTraces for usage and error information. // // Returned Error Codes: // * ErrCodeInvalidRequestException "InvalidRequestException" // The request is missing required parameters or has invalid parameters. // // * ErrCodeThrottledException "ThrottledException" // The request exceeds the maximum number of requests per second. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/BatchGetTraces func (c *XRay) BatchGetTraces(input *BatchGetTracesInput) (*BatchGetTracesOutput, error) { req, out := c.BatchGetTracesRequest(input) return out, req.Send() } // BatchGetTracesWithContext is the same as BatchGetTraces with the addition of // the ability to pass a context and additional request options. // // See BatchGetTraces for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *XRay) BatchGetTracesWithContext(ctx aws.Context, input *BatchGetTracesInput, opts ...request.Option) (*BatchGetTracesOutput, error) { req, out := c.BatchGetTracesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // BatchGetTracesPages iterates over the pages of a BatchGetTraces operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See BatchGetTraces method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a BatchGetTraces operation. // pageNum := 0 // err := client.BatchGetTracesPages(params, // func(page *BatchGetTracesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *XRay) BatchGetTracesPages(input *BatchGetTracesInput, fn func(*BatchGetTracesOutput, bool) bool) error { return c.BatchGetTracesPagesWithContext(aws.BackgroundContext(), input, fn) } // BatchGetTracesPagesWithContext same as BatchGetTracesPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *XRay) BatchGetTracesPagesWithContext(ctx aws.Context, input *BatchGetTracesInput, fn func(*BatchGetTracesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *BatchGetTracesInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.BatchGetTracesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } cont := true for p.Next() && cont { cont = fn(p.Page().(*BatchGetTracesOutput), !p.HasNextPage()) } return p.Err() } const opGetServiceGraph = "GetServiceGraph" // GetServiceGraphRequest generates a "aws/request.Request" representing the // client's request for the GetServiceGraph operation. The "output" return // value will be populated with the request's response once the request complets // successfuly. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See GetServiceGraph for more information on using the GetServiceGraph // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the GetServiceGraphRequest method. // req, resp := client.GetServiceGraphRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetServiceGraph func (c *XRay) GetServiceGraphRequest(input *GetServiceGraphInput) (req *request.Request, output *GetServiceGraphOutput) { op := &request.Operation{ Name: opGetServiceGraph, HTTPMethod: "POST", HTTPPath: "/ServiceGraph", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "", TruncationToken: "", }, } if input == nil { input = &GetServiceGraphInput{} } output = &GetServiceGraphOutput{} req = c.newRequest(op, input, output) return } // GetServiceGraph API operation for AWS X-Ray. // // 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. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS X-Ray's // API operation GetServiceGraph for usage and error information. // // Returned Error Codes: // * ErrCodeInvalidRequestException "InvalidRequestException" // The request is missing required parameters or has invalid parameters. // // * ErrCodeThrottledException "ThrottledException" // The request exceeds the maximum number of requests per second. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetServiceGraph func (c *XRay) GetServiceGraph(input *GetServiceGraphInput) (*GetServiceGraphOutput, error) { req, out := c.GetServiceGraphRequest(input) return out, req.Send() } // GetServiceGraphWithContext is the same as GetServiceGraph with the addition of // the ability to pass a context and additional request options. // // See GetServiceGraph for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *XRay) GetServiceGraphWithContext(ctx aws.Context, input *GetServiceGraphInput, opts ...request.Option) (*GetServiceGraphOutput, error) { req, out := c.GetServiceGraphRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // GetServiceGraphPages iterates over the pages of a GetServiceGraph operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See GetServiceGraph method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a GetServiceGraph operation. // pageNum := 0 // err := client.GetServiceGraphPages(params, // func(page *GetServiceGraphOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *XRay) GetServiceGraphPages(input *GetServiceGraphInput, fn func(*GetServiceGraphOutput, bool) bool) error { return c.GetServiceGraphPagesWithContext(aws.BackgroundContext(), input, fn) } // GetServiceGraphPagesWithContext same as GetServiceGraphPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *XRay) GetServiceGraphPagesWithContext(ctx aws.Context, input *GetServiceGraphInput, fn func(*GetServiceGraphOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *GetServiceGraphInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.GetServiceGraphRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } cont := true for p.Next() && cont { cont = fn(p.Page().(*GetServiceGraphOutput), !p.HasNextPage()) } return p.Err() } const opGetTraceGraph = "GetTraceGraph" // GetTraceGraphRequest generates a "aws/request.Request" representing the // client's request for the GetTraceGraph operation. The "output" return // value will be populated with the request's response once the request complets // successfuly. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See GetTraceGraph for more information on using the GetTraceGraph // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the GetTraceGraphRequest method. // req, resp := client.GetTraceGraphRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceGraph func (c *XRay) GetTraceGraphRequest(input *GetTraceGraphInput) (req *request.Request, output *GetTraceGraphOutput) { op := &request.Operation{ Name: opGetTraceGraph, HTTPMethod: "POST", HTTPPath: "/TraceGraph", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "", TruncationToken: "", }, } if input == nil { input = &GetTraceGraphInput{} } output = &GetTraceGraphOutput{} req = c.newRequest(op, input, output) return } // GetTraceGraph API operation for AWS X-Ray. // // Retrieves a service graph for one or more specific trace IDs. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS X-Ray's // API operation GetTraceGraph for usage and error information. // // Returned Error Codes: // * ErrCodeInvalidRequestException "InvalidRequestException" // The request is missing required parameters or has invalid parameters. // // * ErrCodeThrottledException "ThrottledException" // The request exceeds the maximum number of requests per second. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceGraph func (c *XRay) GetTraceGraph(input *GetTraceGraphInput) (*GetTraceGraphOutput, error) { req, out := c.GetTraceGraphRequest(input) return out, req.Send() } // GetTraceGraphWithContext is the same as GetTraceGraph with the addition of // the ability to pass a context and additional request options. // // See GetTraceGraph for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *XRay) GetTraceGraphWithContext(ctx aws.Context, input *GetTraceGraphInput, opts ...request.Option) (*GetTraceGraphOutput, error) { req, out := c.GetTraceGraphRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // GetTraceGraphPages iterates over the pages of a GetTraceGraph operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See GetTraceGraph method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a GetTraceGraph operation. // pageNum := 0 // err := client.GetTraceGraphPages(params, // func(page *GetTraceGraphOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *XRay) GetTraceGraphPages(input *GetTraceGraphInput, fn func(*GetTraceGraphOutput, bool) bool) error { return c.GetTraceGraphPagesWithContext(aws.BackgroundContext(), input, fn) } // GetTraceGraphPagesWithContext same as GetTraceGraphPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *XRay) GetTraceGraphPagesWithContext(ctx aws.Context, input *GetTraceGraphInput, fn func(*GetTraceGraphOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *GetTraceGraphInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.GetTraceGraphRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } cont := true for p.Next() && cont { cont = fn(p.Page().(*GetTraceGraphOutput), !p.HasNextPage()) } return p.Err() } const opGetTraceSummaries = "GetTraceSummaries" // GetTraceSummariesRequest generates a "aws/request.Request" representing the // client's request for the GetTraceSummaries operation. The "output" return // value will be populated with the request's response once the request complets // successfuly. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See GetTraceSummaries for more information on using the GetTraceSummaries // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the GetTraceSummariesRequest method. // req, resp := client.GetTraceSummariesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceSummaries func (c *XRay) GetTraceSummariesRequest(input *GetTraceSummariesInput) (req *request.Request, output *GetTraceSummariesOutput) { op := &request.Operation{ Name: opGetTraceSummaries, HTTPMethod: "POST", HTTPPath: "/TraceSummaries", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "", TruncationToken: "", }, } if input == nil { input = &GetTraceSummariesInput{} } output = &GetTraceSummariesOutput{} req = c.newRequest(op, input, output) return } // GetTraceSummaries API operation for AWS X-Ray. // // Retrieves IDs and metadata for traces available for a specified time frame // using an optional filter. To get the full traces, pass the trace IDs to BatchGetTraces. // // A filter expression can target traced requests that hit specific service // nodes or edges, have errors, or come from a known user. For example, the // following filter expression targets traces that pass through api.example.com: // // service("api.example.com") // // This filter expression finds traces that have an annotation named account // with the value 12345: // // annotation.account = "12345" // // For a full list of indexed fields and keywords that you can use in filter // expressions, see Using Filter Expressions (http://docs.aws.amazon.com/xray/latest/devguide/xray-console-filters.html) // in the AWS X-Ray Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS X-Ray's // API operation GetTraceSummaries for usage and error information. // // Returned Error Codes: // * ErrCodeInvalidRequestException "InvalidRequestException" // The request is missing required parameters or has invalid parameters. // // * ErrCodeThrottledException "ThrottledException" // The request exceeds the maximum number of requests per second. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceSummaries func (c *XRay) GetTraceSummaries(input *GetTraceSummariesInput) (*GetTraceSummariesOutput, error) { req, out := c.GetTraceSummariesRequest(input) return out, req.Send() } // GetTraceSummariesWithContext is the same as GetTraceSummaries with the addition of // the ability to pass a context and additional request options. // // See GetTraceSummaries for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *XRay) GetTraceSummariesWithContext(ctx aws.Context, input *GetTraceSummariesInput, opts ...request.Option) (*GetTraceSummariesOutput, error) { req, out := c.GetTraceSummariesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // GetTraceSummariesPages iterates over the pages of a GetTraceSummaries operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See GetTraceSummaries method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a GetTraceSummaries operation. // pageNum := 0 // err := client.GetTraceSummariesPages(params, // func(page *GetTraceSummariesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *XRay) GetTraceSummariesPages(input *GetTraceSummariesInput, fn func(*GetTraceSummariesOutput, bool) bool) error { return c.GetTraceSummariesPagesWithContext(aws.BackgroundContext(), input, fn) } // GetTraceSummariesPagesWithContext same as GetTraceSummariesPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *XRay) GetTraceSummariesPagesWithContext(ctx aws.Context, input *GetTraceSummariesInput, fn func(*GetTraceSummariesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *GetTraceSummariesInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.GetTraceSummariesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } cont := true for p.Next() && cont { cont = fn(p.Page().(*GetTraceSummariesOutput), !p.HasNextPage()) } return p.Err() } const opPutTelemetryRecords = "PutTelemetryRecords" // PutTelemetryRecordsRequest generates a "aws/request.Request" representing the // client's request for the PutTelemetryRecords operation. The "output" return // value will be populated with the request's response once the request complets // successfuly. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See PutTelemetryRecords for more information on using the PutTelemetryRecords // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the PutTelemetryRecordsRequest method. // req, resp := client.PutTelemetryRecordsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTelemetryRecords func (c *XRay) PutTelemetryRecordsRequest(input *PutTelemetryRecordsInput) (req *request.Request, output *PutTelemetryRecordsOutput) { op := &request.Operation{ Name: opPutTelemetryRecords, HTTPMethod: "POST", HTTPPath: "/TelemetryRecords", } if input == nil { input = &PutTelemetryRecordsInput{} } output = &PutTelemetryRecordsOutput{} req = c.newRequest(op, input, output) return } // PutTelemetryRecords API operation for AWS X-Ray. // // Used by the AWS X-Ray daemon to upload telemetry. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS X-Ray's // API operation PutTelemetryRecords for usage and error information. // // Returned Error Codes: // * ErrCodeInvalidRequestException "InvalidRequestException" // The request is missing required parameters or has invalid parameters. // // * ErrCodeThrottledException "ThrottledException" // The request exceeds the maximum number of requests per second. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTelemetryRecords func (c *XRay) PutTelemetryRecords(input *PutTelemetryRecordsInput) (*PutTelemetryRecordsOutput, error) { req, out := c.PutTelemetryRecordsRequest(input) return out, req.Send() } // PutTelemetryRecordsWithContext is the same as PutTelemetryRecords with the addition of // the ability to pass a context and additional request options. // // See PutTelemetryRecords for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *XRay) PutTelemetryRecordsWithContext(ctx aws.Context, input *PutTelemetryRecordsInput, opts ...request.Option) (*PutTelemetryRecordsOutput, error) { req, out := c.PutTelemetryRecordsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opPutTraceSegments = "PutTraceSegments" // PutTraceSegmentsRequest generates a "aws/request.Request" representing the // client's request for the PutTraceSegments operation. The "output" return // value will be populated with the request's response once the request complets // successfuly. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See PutTraceSegments for more information on using the PutTraceSegments // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the PutTraceSegmentsRequest method. // req, resp := client.PutTraceSegmentsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTraceSegments func (c *XRay) PutTraceSegmentsRequest(input *PutTraceSegmentsInput) (req *request.Request, output *PutTraceSegmentsOutput) { op := &request.Operation{ Name: opPutTraceSegments, HTTPMethod: "POST", HTTPPath: "/TraceSegments", } if input == nil { input = &PutTraceSegmentsInput{} } output = &PutTraceSegmentsOutput{} req = c.newRequest(op, input, output) return } // PutTraceSegments API operation for AWS X-Ray. // // Uploads segment documents to AWS X-Ray. The X-Ray SDK generates segment documents // and sends them to the X-Ray daemon, which uploads them in batches. A segment // document can be a completed segment, an in-progress segment, or an array // of subsegments. // // Segments must include the following fields. For the full segment document // schema, see AWS X-Ray Segment Documents (http://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html) // in the AWS X-Ray Developer Guide. // // Required Segment Document Fields // // * name - The name of the service that handled the request. // // * id - A 64-bit identifier for the segment, unique among segments in the // same trace, in 16 hexadecimal digits. // // * trace_id - A unique identifier that connects all segments and subsegments // originating from a single client request. // // * start_time - Time the segment or subsegment was created, in floating // point seconds in epoch time, accurate to milliseconds. For example, 1480615200.010 // or 1.480615200010E9. // // * end_time - Time the segment or subsegment was closed. For example, 1480615200.090 // or 1.480615200090E9. Specify either an end_time or in_progress. // // * in_progress - Set to true instead of specifying an end_time to record // that a segment has been started, but is not complete. Send an in progress // segment when your application receives a request that will take a long // time to serve, to trace the fact that the request was received. When the // response is sent, send the complete segment to overwrite the in-progress // segment. // // A trace_id consists of three numbers separated by hyphens. For example, 1-58406520-a006649127e371903a2de979. // This includes: // // Trace ID Format // // * The version number, i.e. 1. // // * The time of the original request, in Unix epoch time, in 8 hexadecimal // digits. For example, 10:00AM December 2nd, 2016 PST in epoch time is 1480615200 // seconds, or 58406520 in hexadecimal. // // * A 96-bit identifier for the trace, globally unique, in 24 hexadecimal // digits. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS X-Ray's // API operation PutTraceSegments for usage and error information. // // Returned Error Codes: // * ErrCodeInvalidRequestException "InvalidRequestException" // The request is missing required parameters or has invalid parameters. // // * ErrCodeThrottledException "ThrottledException" // The request exceeds the maximum number of requests per second. // // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTraceSegments func (c *XRay) PutTraceSegments(input *PutTraceSegmentsInput) (*PutTraceSegmentsOutput, error) { req, out := c.PutTraceSegmentsRequest(input) return out, req.Send() } // PutTraceSegmentsWithContext is the same as PutTraceSegments with the addition of // the ability to pass a context and additional request options. // // See PutTraceSegments for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *XRay) PutTraceSegmentsWithContext(ctx aws.Context, input *PutTraceSegmentsInput, opts ...request.Option) (*PutTraceSegmentsOutput, error) { req, out := c.PutTraceSegmentsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // An alias for an edge. // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/Alias type Alias struct { _ struct{} `type:"structure"` // The canonical name of the alias. Name *string `type:"string"` // A list of names for the alias, including the canonical name. Names []*string `type:"list"` // The type of the alias. Type *string `type:"string"` } // String returns the string representation func (s Alias) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Alias) GoString() string { return s.String() } // SetName sets the Name field's value. func (s *Alias) SetName(v string) *Alias { s.Name = &v return s } // SetNames sets the Names field's value. func (s *Alias) SetNames(v []*string) *Alias { s.Names = v return s } // SetType sets the Type field's value. func (s *Alias) SetType(v string) *Alias { s.Type = &v return s } // Value of a segment annotation. Has one of three value types: Number, Boolean // or String. // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/AnnotationValue type AnnotationValue struct { _ struct{} `type:"structure"` // Value for a Boolean annotation. BooleanValue *bool `type:"boolean"` // Value for a Number annotation. NumberValue *float64 `type:"double"` // Value for a String annotation. StringValue *string `type:"string"` } // String returns the string representation func (s AnnotationValue) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s AnnotationValue) GoString() string { return s.String() } // SetBooleanValue sets the BooleanValue field's value. func (s *AnnotationValue) SetBooleanValue(v bool) *AnnotationValue { s.BooleanValue = &v return s } // SetNumberValue sets the NumberValue field's value. func (s *AnnotationValue) SetNumberValue(v float64) *AnnotationValue { s.NumberValue = &v return s } // SetStringValue sets the StringValue field's value. func (s *AnnotationValue) SetStringValue(v string) *AnnotationValue { s.StringValue = &v return s } // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/BackendConnectionErrors type BackendConnectionErrors struct { _ struct{} `type:"structure"` ConnectionRefusedCount *int64 `type:"integer"` HTTPCode4XXCount *int64 `type:"integer"` HTTPCode5XXCount *int64 `type:"integer"` OtherCount *int64 `type:"integer"` TimeoutCount *int64 `type:"integer"` UnknownHostCount *int64 `type:"integer"` } // String returns the string representation func (s BackendConnectionErrors) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s BackendConnectionErrors) GoString() string { return s.String() } // SetConnectionRefusedCount sets the ConnectionRefusedCount field's value. func (s *BackendConnectionErrors) SetConnectionRefusedCount(v int64) *BackendConnectionErrors { s.ConnectionRefusedCount = &v return s } // SetHTTPCode4XXCount sets the HTTPCode4XXCount field's value. func (s *BackendConnectionErrors) SetHTTPCode4XXCount(v int64) *BackendConnectionErrors { s.HTTPCode4XXCount = &v return s } // SetHTTPCode5XXCount sets the HTTPCode5XXCount field's value. func (s *BackendConnectionErrors) SetHTTPCode5XXCount(v int64) *BackendConnectionErrors { s.HTTPCode5XXCount = &v return s } // SetOtherCount sets the OtherCount field's value. func (s *BackendConnectionErrors) SetOtherCount(v int64) *BackendConnectionErrors { s.OtherCount = &v return s } // SetTimeoutCount sets the TimeoutCount field's value. func (s *BackendConnectionErrors) SetTimeoutCount(v int64) *BackendConnectionErrors { s.TimeoutCount = &v return s } // SetUnknownHostCount sets the UnknownHostCount field's value. func (s *BackendConnectionErrors) SetUnknownHostCount(v int64) *BackendConnectionErrors { s.UnknownHostCount = &v return s } // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/BatchGetTracesRequest type BatchGetTracesInput struct { _ struct{} `type:"structure"` // Pagination token. Not used. NextToken *string `type:"string"` // Specify the trace IDs of requests for which to retrieve segments. // // TraceIds is a required field TraceIds []*string `type:"list" required:"true"` } // String returns the string representation func (s BatchGetTracesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s BatchGetTracesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *BatchGetTracesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "BatchGetTracesInput"} if s.TraceIds == nil { invalidParams.Add(request.NewErrParamRequired("TraceIds")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetNextToken sets the NextToken field's value. func (s *BatchGetTracesInput) SetNextToken(v string) *BatchGetTracesInput { s.NextToken = &v return s } // SetTraceIds sets the TraceIds field's value. func (s *BatchGetTracesInput) SetTraceIds(v []*string) *BatchGetTracesInput { s.TraceIds = v return s } // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/BatchGetTracesResult type BatchGetTracesOutput struct { _ struct{} `type:"structure"` // Pagination token. Not used. NextToken *string `type:"string"` // Full traces for the specified requests. Traces []*Trace `type:"list"` // Trace IDs of requests that haven't been processed. UnprocessedTraceIds []*string `type:"list"` } // String returns the string representation func (s BatchGetTracesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s BatchGetTracesOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. func (s *BatchGetTracesOutput) SetNextToken(v string) *BatchGetTracesOutput { s.NextToken = &v return s } // SetTraces sets the Traces field's value. func (s *BatchGetTracesOutput) SetTraces(v []*Trace) *BatchGetTracesOutput { s.Traces = v return s } // SetUnprocessedTraceIds sets the UnprocessedTraceIds field's value. func (s *BatchGetTracesOutput) SetUnprocessedTraceIds(v []*string) *BatchGetTracesOutput { s.UnprocessedTraceIds = v return s } // Information about a connection between two services. // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/Edge type Edge struct { _ struct{} `type:"structure"` // Aliases for the edge. Aliases []*Alias `type:"list"` // The end time of the last segment on the edge. EndTime *time.Time `type:"timestamp" timestampFormat:"unix"` // Identifier of the edge. Unique within a service map. ReferenceId *int64 `type:"integer"` // A histogram that maps the spread of client response times on an edge. ResponseTimeHistogram []*HistogramEntry `type:"list"` // The start time of the first segment on the edge. StartTime *time.Time `type:"timestamp" timestampFormat:"unix"` // Response statistics for segments on the edge. SummaryStatistics *EdgeStatistics `type:"structure"` } // String returns the string representation func (s Edge) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Edge) GoString() string { return s.String() } // SetAliases sets the Aliases field's value. func (s *Edge) SetAliases(v []*Alias) *Edge { s.Aliases = v return s } // SetEndTime sets the EndTime field's value. func (s *Edge) SetEndTime(v time.Time) *Edge { s.EndTime = &v return s } // SetReferenceId sets the ReferenceId field's value. func (s *Edge) SetReferenceId(v int64) *Edge { s.ReferenceId = &v return s } // SetResponseTimeHistogram sets the ResponseTimeHistogram field's value. func (s *Edge) SetResponseTimeHistogram(v []*HistogramEntry) *Edge { s.ResponseTimeHistogram = v return s } // SetStartTime sets the StartTime field's value. func (s *Edge) SetStartTime(v time.Time) *Edge { s.StartTime = &v return s } // SetSummaryStatistics sets the SummaryStatistics field's value. func (s *Edge) SetSummaryStatistics(v *EdgeStatistics) *Edge { s.SummaryStatistics = v return s } // Response statistics for an edge. // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/EdgeStatistics type EdgeStatistics struct { _ struct{} `type:"structure"` // Information about requests that failed with a 4xx Client Error status code. ErrorStatistics *ErrorStatistics `type:"structure"` // Information about requests that failed with a 5xx Server Error status code. FaultStatistics *FaultStatistics `type:"structure"` // The number of requests that completed with a 2xx Success status code. OkCount *int64 `type:"long"` // The total number of completed requests. TotalCount *int64 `type:"long"` // The aggregate response time of completed requests. TotalResponseTime *float64 `type:"double"` } // String returns the string representation func (s EdgeStatistics) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s EdgeStatistics) GoString() string { return s.String() } // SetErrorStatistics sets the ErrorStatistics field's value. func (s *EdgeStatistics) SetErrorStatistics(v *ErrorStatistics) *EdgeStatistics { s.ErrorStatistics = v return s } // SetFaultStatistics sets the FaultStatistics field's value. func (s *EdgeStatistics) SetFaultStatistics(v *FaultStatistics) *EdgeStatistics { s.FaultStatistics = v return s } // SetOkCount sets the OkCount field's value. func (s *EdgeStatistics) SetOkCount(v int64) *EdgeStatistics { s.OkCount = &v return s } // SetTotalCount sets the TotalCount field's value. func (s *EdgeStatistics) SetTotalCount(v int64) *EdgeStatistics { s.TotalCount = &v return s } // SetTotalResponseTime sets the TotalResponseTime field's value. func (s *EdgeStatistics) SetTotalResponseTime(v float64) *EdgeStatistics { s.TotalResponseTime = &v return s } // Information about requests that failed with a 4xx Client Error status code. // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/ErrorStatistics type ErrorStatistics struct { _ struct{} `type:"structure"` // The number of requests that failed with untracked 4xx Client Error status // codes. OtherCount *int64 `type:"long"` // The number of requests that failed with a 419 throttling status code. ThrottleCount *int64 `type:"long"` // The total number of requests that failed with a 4xx Client Error status code. TotalCount *int64 `type:"long"` } // String returns the string representation func (s ErrorStatistics) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ErrorStatistics) GoString() string { return s.String() } // SetOtherCount sets the OtherCount field's value. func (s *ErrorStatistics) SetOtherCount(v int64) *ErrorStatistics { s.OtherCount = &v return s } // SetThrottleCount sets the ThrottleCount field's value. func (s *ErrorStatistics) SetThrottleCount(v int64) *ErrorStatistics { s.ThrottleCount = &v return s } // SetTotalCount sets the TotalCount field's value. func (s *ErrorStatistics) SetTotalCount(v int64) *ErrorStatistics { s.TotalCount = &v return s } // Information about requests that failed with a 5xx Server Error status code. // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/FaultStatistics type FaultStatistics struct { _ struct{} `type:"structure"` // The number of requests that failed with untracked 5xx Server Error status // codes. OtherCount *int64 `type:"long"` // The total number of requests that failed with a 5xx Server Error status code. TotalCount *int64 `type:"long"` } // String returns the string representation func (s FaultStatistics) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s FaultStatistics) GoString() string { return s.String() } // SetOtherCount sets the OtherCount field's value. func (s *FaultStatistics) SetOtherCount(v int64) *FaultStatistics { s.OtherCount = &v return s } // SetTotalCount sets the TotalCount field's value. func (s *FaultStatistics) SetTotalCount(v int64) *FaultStatistics { s.TotalCount = &v return s } // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetServiceGraphRequest type GetServiceGraphInput struct { _ struct{} `type:"structure"` // The end of the time frame for which to generate a graph. // // EndTime is a required field EndTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"` // Pagination token. Not used. NextToken *string `type:"string"` // The start of the time frame for which to generate a graph. // // StartTime is a required field StartTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"` } // String returns the string representation func (s GetServiceGraphInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetServiceGraphInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetServiceGraphInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetServiceGraphInput"} if s.EndTime == nil { invalidParams.Add(request.NewErrParamRequired("EndTime")) } if s.StartTime == nil { invalidParams.Add(request.NewErrParamRequired("StartTime")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetEndTime sets the EndTime field's value. func (s *GetServiceGraphInput) SetEndTime(v time.Time) *GetServiceGraphInput { s.EndTime = &v return s } // SetNextToken sets the NextToken field's value. func (s *GetServiceGraphInput) SetNextToken(v string) *GetServiceGraphInput { s.NextToken = &v return s } // SetStartTime sets the StartTime field's value. func (s *GetServiceGraphInput) SetStartTime(v time.Time) *GetServiceGraphInput { s.StartTime = &v return s } // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetServiceGraphResult type GetServiceGraphOutput struct { _ struct{} `type:"structure"` // The end of the time frame for which the graph was generated. EndTime *time.Time `type:"timestamp" timestampFormat:"unix"` // Pagination token. Not used. NextToken *string `type:"string"` // The services that have processed a traced request during the specified time // frame. Services []*Service `type:"list"` // The start of the time frame for which the graph was generated. StartTime *time.Time `type:"timestamp" timestampFormat:"unix"` } // String returns the string representation func (s GetServiceGraphOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetServiceGraphOutput) GoString() string { return s.String() } // SetEndTime sets the EndTime field's value. func (s *GetServiceGraphOutput) SetEndTime(v time.Time) *GetServiceGraphOutput { s.EndTime = &v return s } // SetNextToken sets the NextToken field's value. func (s *GetServiceGraphOutput) SetNextToken(v string) *GetServiceGraphOutput { s.NextToken = &v return s } // SetServices sets the Services field's value. func (s *GetServiceGraphOutput) SetServices(v []*Service) *GetServiceGraphOutput { s.Services = v return s } // SetStartTime sets the StartTime field's value. func (s *GetServiceGraphOutput) SetStartTime(v time.Time) *GetServiceGraphOutput { s.StartTime = &v return s } // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceGraphRequest type GetTraceGraphInput struct { _ struct{} `type:"structure"` // Pagination token. Not used. NextToken *string `type:"string"` // Trace IDs of requests for which to generate a service graph. // // TraceIds is a required field TraceIds []*string `type:"list" required:"true"` } // String returns the string representation func (s GetTraceGraphInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetTraceGraphInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetTraceGraphInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetTraceGraphInput"} if s.TraceIds == nil { invalidParams.Add(request.NewErrParamRequired("TraceIds")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetNextToken sets the NextToken field's value. func (s *GetTraceGraphInput) SetNextToken(v string) *GetTraceGraphInput { s.NextToken = &v return s } // SetTraceIds sets the TraceIds field's value. func (s *GetTraceGraphInput) SetTraceIds(v []*string) *GetTraceGraphInput { s.TraceIds = v return s } // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceGraphResult type GetTraceGraphOutput struct { _ struct{} `type:"structure"` // Pagination token. Not used. NextToken *string `type:"string"` // The services that have processed one of the specified requests. Services []*Service `type:"list"` } // String returns the string representation func (s GetTraceGraphOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetTraceGraphOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. func (s *GetTraceGraphOutput) SetNextToken(v string) *GetTraceGraphOutput { s.NextToken = &v return s } // SetServices sets the Services field's value. func (s *GetTraceGraphOutput) SetServices(v []*Service) *GetTraceGraphOutput { s.Services = v return s } // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceSummariesRequest type GetTraceSummariesInput struct { _ struct{} `type:"structure"` // The end of the time frame for which to retrieve traces. // // EndTime is a required field EndTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"` // Specify a filter expression to retrieve trace summaries for services or requests // that meet certain requirements. FilterExpression *string `min:"1" type:"string"` // Specify the pagination token returned by a previous request to retrieve the // next page of results. NextToken *string `type:"string"` // Set to true to get summaries for only a subset of available traces. Sampling *bool `type:"boolean"` // The start of the time frame for which to retrieve traces. // // StartTime is a required field StartTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"` } // String returns the string representation func (s GetTraceSummariesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetTraceSummariesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetTraceSummariesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetTraceSummariesInput"} if s.EndTime == nil { invalidParams.Add(request.NewErrParamRequired("EndTime")) } if s.FilterExpression != nil && len(*s.FilterExpression) < 1 { invalidParams.Add(request.NewErrParamMinLen("FilterExpression", 1)) } if s.StartTime == nil { invalidParams.Add(request.NewErrParamRequired("StartTime")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetEndTime sets the EndTime field's value. func (s *GetTraceSummariesInput) SetEndTime(v time.Time) *GetTraceSummariesInput { s.EndTime = &v return s } // SetFilterExpression sets the FilterExpression field's value. func (s *GetTraceSummariesInput) SetFilterExpression(v string) *GetTraceSummariesInput { s.FilterExpression = &v return s } // SetNextToken sets the NextToken field's value. func (s *GetTraceSummariesInput) SetNextToken(v string) *GetTraceSummariesInput { s.NextToken = &v return s } // SetSampling sets the Sampling field's value. func (s *GetTraceSummariesInput) SetSampling(v bool) *GetTraceSummariesInput { s.Sampling = &v return s } // SetStartTime sets the StartTime field's value. func (s *GetTraceSummariesInput) SetStartTime(v time.Time) *GetTraceSummariesInput { s.StartTime = &v return s } // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceSummariesResult type GetTraceSummariesOutput struct { _ struct{} `type:"structure"` // The start time of this page of results. ApproximateTime *time.Time `type:"timestamp" timestampFormat:"unix"` // If the requested time frame contained more than one page of results, you // can use this token to retrieve the next page. The first page contains the // most most recent results, closest to the end of the time frame. NextToken *string `type:"string"` // Trace IDs and metadata for traces that were found in the specified time frame. TraceSummaries []*TraceSummary `type:"list"` // The number of traces that were processed to get this set of summaries. TracesProcessedCount *int64 `type:"long"` } // String returns the string representation func (s GetTraceSummariesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s GetTraceSummariesOutput) GoString() string { return s.String() } // SetApproximateTime sets the ApproximateTime field's value. func (s *GetTraceSummariesOutput) SetApproximateTime(v time.Time) *GetTraceSummariesOutput { s.ApproximateTime = &v return s } // SetNextToken sets the NextToken field's value. func (s *GetTraceSummariesOutput) SetNextToken(v string) *GetTraceSummariesOutput { s.NextToken = &v return s } // SetTraceSummaries sets the TraceSummaries field's value. func (s *GetTraceSummariesOutput) SetTraceSummaries(v []*TraceSummary) *GetTraceSummariesOutput { s.TraceSummaries = v return s } // SetTracesProcessedCount sets the TracesProcessedCount field's value. func (s *GetTraceSummariesOutput) SetTracesProcessedCount(v int64) *GetTraceSummariesOutput { s.TracesProcessedCount = &v return s } // 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. // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/HistogramEntry type HistogramEntry struct { _ struct{} `type:"structure"` // The prevalence of the entry. Count *int64 `type:"integer"` // The value of the entry. Value *float64 `type:"double"` } // String returns the string representation func (s HistogramEntry) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s HistogramEntry) GoString() string { return s.String() } // SetCount sets the Count field's value. func (s *HistogramEntry) SetCount(v int64) *HistogramEntry { s.Count = &v return s } // SetValue sets the Value field's value. func (s *HistogramEntry) SetValue(v float64) *HistogramEntry { s.Value = &v return s } // Information about an HTTP request. // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/Http type Http struct { _ struct{} `type:"structure"` // The IP address of the requestor. ClientIp *string `type:"string"` // The request method. HttpMethod *string `type:"string"` // The response status. HttpStatus *int64 `type:"integer"` // The request URL. HttpURL *string `type:"string"` // The request's user agent string. UserAgent *string `type:"string"` } // String returns the string representation func (s Http) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Http) GoString() string { return s.String() } // SetClientIp sets the ClientIp field's value. func (s *Http) SetClientIp(v string) *Http { s.ClientIp = &v return s } // SetHttpMethod sets the HttpMethod field's value. func (s *Http) SetHttpMethod(v string) *Http { s.HttpMethod = &v return s } // SetHttpStatus sets the HttpStatus field's value. func (s *Http) SetHttpStatus(v int64) *Http { s.HttpStatus = &v return s } // SetHttpURL sets the HttpURL field's value. func (s *Http) SetHttpURL(v string) *Http { s.HttpURL = &v return s } // SetUserAgent sets the UserAgent field's value. func (s *Http) SetUserAgent(v string) *Http { s.UserAgent = &v return s } // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTelemetryRecordsRequest type PutTelemetryRecordsInput struct { _ struct{} `type:"structure"` EC2InstanceId *string `type:"string"` Hostname *string `type:"string"` ResourceARN *string `type:"string"` // TelemetryRecords is a required field TelemetryRecords []*TelemetryRecord `type:"list" required:"true"` } // String returns the string representation func (s PutTelemetryRecordsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutTelemetryRecordsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *PutTelemetryRecordsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PutTelemetryRecordsInput"} if s.TelemetryRecords == nil { invalidParams.Add(request.NewErrParamRequired("TelemetryRecords")) } if s.TelemetryRecords != nil { for i, v := range s.TelemetryRecords { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TelemetryRecords", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetEC2InstanceId sets the EC2InstanceId field's value. func (s *PutTelemetryRecordsInput) SetEC2InstanceId(v string) *PutTelemetryRecordsInput { s.EC2InstanceId = &v return s } // SetHostname sets the Hostname field's value. func (s *PutTelemetryRecordsInput) SetHostname(v string) *PutTelemetryRecordsInput { s.Hostname = &v return s } // SetResourceARN sets the ResourceARN field's value. func (s *PutTelemetryRecordsInput) SetResourceARN(v string) *PutTelemetryRecordsInput { s.ResourceARN = &v return s } // SetTelemetryRecords sets the TelemetryRecords field's value. func (s *PutTelemetryRecordsInput) SetTelemetryRecords(v []*TelemetryRecord) *PutTelemetryRecordsInput { s.TelemetryRecords = v return s } // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTelemetryRecordsResult type PutTelemetryRecordsOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s PutTelemetryRecordsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutTelemetryRecordsOutput) GoString() string { return s.String() } // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTraceSegmentsRequest type PutTraceSegmentsInput struct { _ struct{} `type:"structure"` // A string containing a JSON document defining one or more segments or subsegments. // // TraceSegmentDocuments is a required field TraceSegmentDocuments []*string `type:"list" required:"true"` } // String returns the string representation func (s PutTraceSegmentsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutTraceSegmentsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *PutTraceSegmentsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PutTraceSegmentsInput"} if s.TraceSegmentDocuments == nil { invalidParams.Add(request.NewErrParamRequired("TraceSegmentDocuments")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetTraceSegmentDocuments sets the TraceSegmentDocuments field's value. func (s *PutTraceSegmentsInput) SetTraceSegmentDocuments(v []*string) *PutTraceSegmentsInput { s.TraceSegmentDocuments = v return s } // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTraceSegmentsResult type PutTraceSegmentsOutput struct { _ struct{} `type:"structure"` // Segments that failed processing. UnprocessedTraceSegments []*UnprocessedTraceSegment `type:"list"` } // String returns the string representation func (s PutTraceSegmentsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PutTraceSegmentsOutput) GoString() string { return s.String() } // SetUnprocessedTraceSegments sets the UnprocessedTraceSegments field's value. func (s *PutTraceSegmentsOutput) SetUnprocessedTraceSegments(v []*UnprocessedTraceSegment) *PutTraceSegmentsOutput { s.UnprocessedTraceSegments = v return s } // A segment from a trace that has been ingested by the X-Ray service. The segment // can be compiled from documents uploaded with PutTraceSegments, or an inferred // segment for a downstream service, generated from a subsegment sent by the // service that called it. // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/Segment type Segment struct { _ struct{} `type:"structure"` // The segment document Document *string `min:"1" type:"string"` // The segment's ID. Id *string `type:"string"` } // String returns the string representation func (s Segment) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Segment) GoString() string { return s.String() } // SetDocument sets the Document field's value. func (s *Segment) SetDocument(v string) *Segment { s.Document = &v return s } // SetId sets the Id field's value. func (s *Segment) SetId(v string) *Segment { s.Id = &v return s } // Information about an application that processed requests, users that made // requests, or downstream services, resources and applications that an application // used. // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/Service type Service struct { _ struct{} `type:"structure"` // Identifier of the AWS account in which the service runs. AccountId *string `type:"string"` // A histogram that maps the spread of service durations. DurationHistogram []*HistogramEntry `type:"list"` // Connections to downstream services. Edges []*Edge `type:"list"` // The end time of the last segment that the service generated. EndTime *time.Time `type:"timestamp" timestampFormat:"unix"` // The canonical name of the service. Name *string `type:"string"` // A list of names for the service, including the canonical name. Names []*string `type:"list"` // Identifier for the service. Unique within the service map. ReferenceId *int64 `type:"integer"` // A histogram that maps the spread of service response times. ResponseTimeHistogram []*HistogramEntry `type:"list"` // Indicates that the service was the first service to process a request. Root *bool `type:"boolean"` // The start time of the first segment that the service generated. StartTime *time.Time `type:"timestamp" timestampFormat:"unix"` // The service's state. State *string `type:"string"` // Aggregated statistics for the service. SummaryStatistics *ServiceStatistics `type:"structure"` // The type of service. // // * AWS Resource - The type of an AWS resource. For example, AWS::EC2::Instance // for a 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. Type *string `type:"string"` } // String returns the string representation func (s Service) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Service) GoString() string { return s.String() } // SetAccountId sets the AccountId field's value. func (s *Service) SetAccountId(v string) *Service { s.AccountId = &v return s } // SetDurationHistogram sets the DurationHistogram field's value. func (s *Service) SetDurationHistogram(v []*HistogramEntry) *Service { s.DurationHistogram = v return s } // SetEdges sets the Edges field's value. func (s *Service) SetEdges(v []*Edge) *Service { s.Edges = v return s } // SetEndTime sets the EndTime field's value. func (s *Service) SetEndTime(v time.Time) *Service { s.EndTime = &v return s } // SetName sets the Name field's value. func (s *Service) SetName(v string) *Service { s.Name = &v return s } // SetNames sets the Names field's value. func (s *Service) SetNames(v []*string) *Service { s.Names = v return s } // SetReferenceId sets the ReferenceId field's value. func (s *Service) SetReferenceId(v int64) *Service { s.ReferenceId = &v return s } // SetResponseTimeHistogram sets the ResponseTimeHistogram field's value. func (s *Service) SetResponseTimeHistogram(v []*HistogramEntry) *Service { s.ResponseTimeHistogram = v return s } // SetRoot sets the Root field's value. func (s *Service) SetRoot(v bool) *Service { s.Root = &v return s } // SetStartTime sets the StartTime field's value. func (s *Service) SetStartTime(v time.Time) *Service { s.StartTime = &v return s } // SetState sets the State field's value. func (s *Service) SetState(v string) *Service { s.State = &v return s } // SetSummaryStatistics sets the SummaryStatistics field's value. func (s *Service) SetSummaryStatistics(v *ServiceStatistics) *Service { s.SummaryStatistics = v return s } // SetType sets the Type field's value. func (s *Service) SetType(v string) *Service { s.Type = &v return s } // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/ServiceId type ServiceId struct { _ struct{} `type:"structure"` AccountId *string `type:"string"` Name *string `type:"string"` Names []*string `type:"list"` Type *string `type:"string"` } // String returns the string representation func (s ServiceId) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ServiceId) GoString() string { return s.String() } // SetAccountId sets the AccountId field's value. func (s *ServiceId) SetAccountId(v string) *ServiceId { s.AccountId = &v return s } // SetName sets the Name field's value. func (s *ServiceId) SetName(v string) *ServiceId { s.Name = &v return s } // SetNames sets the Names field's value. func (s *ServiceId) SetNames(v []*string) *ServiceId { s.Names = v return s } // SetType sets the Type field's value. func (s *ServiceId) SetType(v string) *ServiceId { s.Type = &v return s } // Response statistics for a service. // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/ServiceStatistics type ServiceStatistics struct { _ struct{} `type:"structure"` // Information about requests that failed with a 4xx Client Error status code. ErrorStatistics *ErrorStatistics `type:"structure"` // Information about requests that failed with a 5xx Server Error status code. FaultStatistics *FaultStatistics `type:"structure"` // The number of requests that completed with a 2xx Success status code. OkCount *int64 `type:"long"` // The total number of completed requests. TotalCount *int64 `type:"long"` // The aggregate response time of completed requests. TotalResponseTime *float64 `type:"double"` } // String returns the string representation func (s ServiceStatistics) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ServiceStatistics) GoString() string { return s.String() } // SetErrorStatistics sets the ErrorStatistics field's value. func (s *ServiceStatistics) SetErrorStatistics(v *ErrorStatistics) *ServiceStatistics { s.ErrorStatistics = v return s } // SetFaultStatistics sets the FaultStatistics field's value. func (s *ServiceStatistics) SetFaultStatistics(v *FaultStatistics) *ServiceStatistics { s.FaultStatistics = v return s } // SetOkCount sets the OkCount field's value. func (s *ServiceStatistics) SetOkCount(v int64) *ServiceStatistics { s.OkCount = &v return s } // SetTotalCount sets the TotalCount field's value. func (s *ServiceStatistics) SetTotalCount(v int64) *ServiceStatistics { s.TotalCount = &v return s } // SetTotalResponseTime sets the TotalResponseTime field's value. func (s *ServiceStatistics) SetTotalResponseTime(v float64) *ServiceStatistics { s.TotalResponseTime = &v return s } // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/TelemetryRecord type TelemetryRecord struct { _ struct{} `type:"structure"` BackendConnectionErrors *BackendConnectionErrors `type:"structure"` SegmentsReceivedCount *int64 `type:"integer"` SegmentsRejectedCount *int64 `type:"integer"` SegmentsSentCount *int64 `type:"integer"` SegmentsSpilloverCount *int64 `type:"integer"` // Timestamp is a required field Timestamp *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"` } // String returns the string representation func (s TelemetryRecord) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s TelemetryRecord) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *TelemetryRecord) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TelemetryRecord"} if s.Timestamp == nil { invalidParams.Add(request.NewErrParamRequired("Timestamp")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetBackendConnectionErrors sets the BackendConnectionErrors field's value. func (s *TelemetryRecord) SetBackendConnectionErrors(v *BackendConnectionErrors) *TelemetryRecord { s.BackendConnectionErrors = v return s } // SetSegmentsReceivedCount sets the SegmentsReceivedCount field's value. func (s *TelemetryRecord) SetSegmentsReceivedCount(v int64) *TelemetryRecord { s.SegmentsReceivedCount = &v return s } // SetSegmentsRejectedCount sets the SegmentsRejectedCount field's value. func (s *TelemetryRecord) SetSegmentsRejectedCount(v int64) *TelemetryRecord { s.SegmentsRejectedCount = &v return s } // SetSegmentsSentCount sets the SegmentsSentCount field's value. func (s *TelemetryRecord) SetSegmentsSentCount(v int64) *TelemetryRecord { s.SegmentsSentCount = &v return s } // SetSegmentsSpilloverCount sets the SegmentsSpilloverCount field's value. func (s *TelemetryRecord) SetSegmentsSpilloverCount(v int64) *TelemetryRecord { s.SegmentsSpilloverCount = &v return s } // SetTimestamp sets the Timestamp field's value. func (s *TelemetryRecord) SetTimestamp(v time.Time) *TelemetryRecord { s.Timestamp = &v return s } // A collection of segment documents with matching trace IDs. // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/Trace type Trace struct { _ struct{} `type:"structure"` // The length of time in seconds between the start time of the root segment // and the end time of the last segment that completed. Duration *float64 `type:"double"` // The unique identifier for the request that generated the trace's segments // and subsegments. Id *string `min:"1" type:"string"` // Segment documents for the segments and subsegments that comprise the trace. Segments []*Segment `type:"list"` } // String returns the string representation func (s Trace) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Trace) GoString() string { return s.String() } // SetDuration sets the Duration field's value. func (s *Trace) SetDuration(v float64) *Trace { s.Duration = &v return s } // SetId sets the Id field's value. func (s *Trace) SetId(v string) *Trace { s.Id = &v return s } // SetSegments sets the Segments field's value. func (s *Trace) SetSegments(v []*Segment) *Trace { s.Segments = v return s } // Metadata generated from the segment documents in a trace. // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/TraceSummary type TraceSummary struct { _ struct{} `type:"structure"` // Annotations from the trace's segment documents. Annotations map[string][]*ValueWithServiceIds `type:"map"` // The length of time in seconds between the start time of the root segment // and the end time of the last segment that completed. Duration *float64 `type:"double"` // One or more of the segment documents has a 400 series error. HasError *bool `type:"boolean"` // One or more of the segment documents has a 500 series error. HasFault *bool `type:"boolean"` // One or more of the segment documents has a 429 throttling error. HasThrottle *bool `type:"boolean"` // Information about the HTTP request served by the trace. Http *Http `type:"structure"` // The unique identifier for the request that generated the trace's segments // and subsegments. Id *string `min:"1" type:"string"` // One or more of the segment documents is in progress. IsPartial *bool `type:"boolean"` // The length of time in seconds between the start and end times of the root // segment. If the service performs work asynchronously, the response time measures // the time before the response is sent to the user, while the duration measures // the amount of time before the last traced activity completes. ResponseTime *float64 `type:"double"` // Service IDs from the trace's segment documents. ServiceIds []*ServiceId `type:"list"` // Users from the trace's segment documents. Users []*TraceUser `type:"list"` } // String returns the string representation func (s TraceSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s TraceSummary) GoString() string { return s.String() } // SetAnnotations sets the Annotations field's value. func (s *TraceSummary) SetAnnotations(v map[string][]*ValueWithServiceIds) *TraceSummary { s.Annotations = v return s } // SetDuration sets the Duration field's value. func (s *TraceSummary) SetDuration(v float64) *TraceSummary { s.Duration = &v return s } // SetHasError sets the HasError field's value. func (s *TraceSummary) SetHasError(v bool) *TraceSummary { s.HasError = &v return s } // SetHasFault sets the HasFault field's value. func (s *TraceSummary) SetHasFault(v bool) *TraceSummary { s.HasFault = &v return s } // SetHasThrottle sets the HasThrottle field's value. func (s *TraceSummary) SetHasThrottle(v bool) *TraceSummary { s.HasThrottle = &v return s } // SetHttp sets the Http field's value. func (s *TraceSummary) SetHttp(v *Http) *TraceSummary { s.Http = v return s } // SetId sets the Id field's value. func (s *TraceSummary) SetId(v string) *TraceSummary { s.Id = &v return s } // SetIsPartial sets the IsPartial field's value. func (s *TraceSummary) SetIsPartial(v bool) *TraceSummary { s.IsPartial = &v return s } // SetResponseTime sets the ResponseTime field's value. func (s *TraceSummary) SetResponseTime(v float64) *TraceSummary { s.ResponseTime = &v return s } // SetServiceIds sets the ServiceIds field's value. func (s *TraceSummary) SetServiceIds(v []*ServiceId) *TraceSummary { s.ServiceIds = v return s } // SetUsers sets the Users field's value. func (s *TraceSummary) SetUsers(v []*TraceUser) *TraceSummary { s.Users = v return s } // Information about a user recorded in segment documents. // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/TraceUser type TraceUser struct { _ struct{} `type:"structure"` // Services that the user's request hit. ServiceIds []*ServiceId `type:"list"` // The user's name. UserName *string `type:"string"` } // String returns the string representation func (s TraceUser) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s TraceUser) GoString() string { return s.String() } // SetServiceIds sets the ServiceIds field's value. func (s *TraceUser) SetServiceIds(v []*ServiceId) *TraceUser { s.ServiceIds = v return s } // SetUserName sets the UserName field's value. func (s *TraceUser) SetUserName(v string) *TraceUser { s.UserName = &v return s } // Information about a segment that failed processing. // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UnprocessedTraceSegment type UnprocessedTraceSegment struct { _ struct{} `type:"structure"` // The error that caused processing to fail. ErrorCode *string `type:"string"` // The segment's ID. Id *string `type:"string"` // The error message. Message *string `type:"string"` } // String returns the string representation func (s UnprocessedTraceSegment) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s UnprocessedTraceSegment) GoString() string { return s.String() } // SetErrorCode sets the ErrorCode field's value. func (s *UnprocessedTraceSegment) SetErrorCode(v string) *UnprocessedTraceSegment { s.ErrorCode = &v return s } // SetId sets the Id field's value. func (s *UnprocessedTraceSegment) SetId(v string) *UnprocessedTraceSegment { s.Id = &v return s } // SetMessage sets the Message field's value. func (s *UnprocessedTraceSegment) SetMessage(v string) *UnprocessedTraceSegment { s.Message = &v return s } // Information about a segment annotation. // Please also see https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/ValueWithServiceIds type ValueWithServiceIds struct { _ struct{} `type:"structure"` // Values of the annotation. AnnotationValue *AnnotationValue `type:"structure"` // Services to which the annotation applies. ServiceIds []*ServiceId `type:"list"` } // String returns the string representation func (s ValueWithServiceIds) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ValueWithServiceIds) GoString() string { return s.String() } // SetAnnotationValue sets the AnnotationValue field's value. func (s *ValueWithServiceIds) SetAnnotationValue(v *AnnotationValue) *ValueWithServiceIds { s.AnnotationValue = v return s } // SetServiceIds sets the ServiceIds field's value. func (s *ValueWithServiceIds) SetServiceIds(v []*ServiceId) *ValueWithServiceIds { s.ServiceIds = v return s }