diff --git a/Cargo.toml b/Cargo.toml
index c503a86..c0837ec 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,4 +1,5 @@
[workspace]
members = [
"xray-lite",
+ "xray-lite-aws-sdk",
]
diff --git a/README.md b/README.md
index 6d9ef93..e9626c5 100644
--- a/README.md
+++ b/README.md
@@ -2,19 +2,21 @@
> [AWS X-Ray](https://aws.amazon.com/xray/) daemon client for Rust applications on [AWS Lambda](https://aws.amazon.com/lambda/)
-## Installing
+## Installing `xray-lite`
Add the following to your `Cargo.toml` file:
```toml
[dependencies]
-xray-lite = { git = "https://github.com/codemonger-io/xray-lite.git", tag = "v0.0.6" }
+xray-lite = { git = "https://github.com/codemonger-io/xray-lite.git", tag = "v0.0.7" }
```
## Usage
### Subsegment of AWS service operation
+**The [`xray-lite-aws-sdk`](./xray-lite-aws-sdk) extension is recommended for tracing requests through [AWS SDK for Rust](https://aws.amazon.com/sdk-for-rust/).**
+
Here is an example to record a subsegment of an AWS service operation within a Lambda function invocation instrumented with AWS X-Ray:
```rust
@@ -106,9 +108,14 @@ fn do_something(context: &impl Context) {
}
```
+## Extensions
+
+- [`xray-lite-aws-sdk`](./xray-lite-aws-sdk/): extension for [AWS SDK for Rust](https://aws.amazon.com/sdk-for-rust/)
+
## API Documentation
-
X-Amzn-Trace-Id
request header","Describes an http request/response cycle","I/O error.","JSON error.","Missing environment variable.","HTTP header name associated with X-Ray trace data","a 16 character exception ID","Namespace.","A numberic value","Contains the success value","Namespace for an arbitrary remote service.","Information about a request.","Information about a response.","Type alias for Results which may return Error
.","Represents fractional seconds since the epoch These can be …","Description of an internal application operation which may …","Unique identifier of an operation within a trace","An object with information about your application.","Information about a SQL operation","A summary of a single operation within a stack trace","A string value","Record information about the AWS services and resources …","Context as a subsegment of an existing segment.","Subsegment session.","Coorelates a string of spans together","Metadata about the type and version of instrumentation …","If your application sends segments to a different AWS …","If your application accesses resources in a different …","annotations object with key-value pairs that you want …","annotations object with key-value pairs that you want …","The Availability Zone in which the instance is running.","aws object with information about the AWS resource on …","aws object with information about the downstream AWS …","Begins a new named segment","Create a new subsegment","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","error fields that indicate an error occurred and that …","Exception ID of the exception’s parent, that is, the …","information about the cause of an error","The IP address of the requester. Can be retrieved from the …","","","","","","","For SQL Server or other database connections that don’t …","The container ID of the container running your application.","number indicating the length of the response body in bytes.","The name of the database engine.","The version number of the database engine.","","","","","","","","","","","","","","","","","","","number indicating the ID of the last successful deployment …","","","","","","","The name and version number of the database engine driver …","","Information about an EC2 instance.","Information about an Amazon ECS container.","Information about an Elastic Beanstalk environment. You …","End the segment by assigning its end_time","End the subsegment by assigning its end_time","Number that is the time the segment was closed.","Enters in a new subsegment.","","The name of the environment.","","","","","Indicates that a client error occurred (response status …","boolean indicating that a client error occurred (response …","Indicates that a server error occurred (response status …","boolean indicating that a server error occurred (response …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Creates a new X-Ray client from the Lambda environment …","Creates a new context from the Lambda environment variable.","","http objects with information about the original HTTP …","http object with information about an outgoing HTTP call.","A 64-bit identifier for the exception, unique among …","boolean, set to true instead of specifying an end_time to …","boolean that is set to true instead of specifying an …","Inserts a key-value pair into the additional data map.","The instance ID of the EC2 instance.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","The function or method name.","The line in the file.","The exception message.","metadata object with any additional data that you want to …","metadata object with any additional data that you want to …","The request method. For example, GET.","Name of the namespace.","","","","aws for AWS SDK calls; remote for other downstream calls.","Returns the namespace as a mutable reference.","Return a new X-Ray client connected to the provided addr
","Creates a new Header with a given trace ID.","Creates a namespace for an AWS service operation.","Creates a namespace for a remote service.","Creates a namespace for a custom subsegment.","Generate a new random segment ID","Generate a new random trace ID","return the current time in seconds since the unix epoch …","The name of the API action invoked against an AWS service …","The type of AWS resource running your application. todo: …","A subsegment ID you specify if the request originated from …","Segment ID of the subsegment’s parent segment. Required …","The relative path to the file.","array of subsegment IDs that identifies subsegments with …","call if the query used a PreparedCall; statement if the …","For operations on an Amazon SQS queue, the queue’s URL.","If the resource is in a region different from your …","The exception type.","Information about a request","Sets the request ID.","Unique identifier for the request.","","Information about a response.","Sets the response status.","Sets the response status.","The database query, with any user provided values removed …","The version of SDK or agent being used.","send a segment to the xray daemon this client is connected …","","","","","","","","","","","","","","","","","","","","","An object with information about your application.","integer indicating the number of exceptions that were …","","contents of the sql query","array of stackFrame objects.","number indicating the HTTP status of the response.","array of subsegment objects.","For operations on a DynamoDB table, the name of the table.","boolean indicating that a request was throttled (response …","boolean indicating that a request was throttled (response …","","","","","","","","Trace ID of the subsegment’s parent segment. Required …","(subsegments only) boolean indicating that the downstream …","","truncate epoc time to remove fractional seconds","integer indicating the number of stack frames that are …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","subsegment. Required only if sending a subsegment …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Updates the subsegment.","","","","The full URL of the request, compiled from the protocol, …","For a database connection that uses a URL connection …","A string that identifies the user who sent the request.","The database username.","The user agent string from the requester’s client.","A string that identifies the version of your application …","The name of the application version that is currently …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Updates the context with a given name prefix.","Creates a new Header with the parent ID replaced.","Creates a new Header with the sampling decision replaced.","Returns the x-amzn-trace-id
header value.","(segments only) boolean indicating that the client_ip was …","Metadata about the type and version of instrumentation …","The array of exception objects.","The array of paths to libraries or modules in use when the …","The full path of the working directory when the exception …","X-Ray client.","X-Amzn-Trace-Id header.","Namespace.","Subsegment."],"i":[0,0,0,0,35,18,0,0,0,0,41,0,0,0,26,45,0,0,26,0,0,35,35,35,11,41,0,18,45,0,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,13,22,1,7,16,1,7,1,7,26,8,31,10,35,11,36,37,38,1,12,13,14,15,16,17,18,39,40,41,19,20,21,7,22,23,5,4,26,8,31,10,35,11,36,37,38,1,12,13,14,15,16,17,18,39,40,41,19,20,21,7,22,23,5,4,1,39,7,20,8,5,4,8,5,4,23,15,21,23,23,10,11,1,12,13,14,15,16,17,18,19,20,21,7,22,23,5,4,17,10,19,20,21,5,4,23,26,13,13,13,1,7,1,30,31,17,10,11,5,4,1,7,1,7,8,31,10,35,35,11,11,36,37,38,1,12,13,14,15,16,17,18,39,40,41,19,20,21,7,22,23,5,5,4,4,26,8,31,10,10,35,35,35,11,36,37,38,1,12,13,14,15,16,17,18,39,40,41,19,20,21,7,22,23,5,4,8,31,11,1,7,39,1,7,11,16,26,8,31,10,35,11,36,37,38,1,12,13,14,15,16,17,18,39,40,41,19,20,21,7,22,23,5,4,40,40,39,1,7,20,27,36,37,38,7,26,8,11,36,37,38,5,4,10,22,1,1,7,40,7,23,22,22,39,19,36,22,1,19,36,37,23,14,8,10,1,12,13,14,15,16,17,18,39,40,41,19,20,21,7,22,23,5,4,1,39,35,7,39,21,7,22,1,7,8,5,4,35,11,5,4,7,20,7,10,39,26,8,31,10,35,11,36,37,38,1,12,13,14,15,16,17,18,39,40,41,19,20,21,7,22,23,5,4,26,8,31,10,35,11,36,37,38,1,12,13,14,15,16,17,18,39,40,41,19,20,21,7,22,23,5,4,7,26,8,31,10,35,11,36,37,38,1,12,13,14,15,16,17,18,39,40,41,19,20,21,7,22,23,5,4,27,36,37,38,20,23,1,23,20,12,17,26,8,31,10,35,11,36,37,38,1,12,13,14,15,16,17,18,39,40,41,19,20,21,7,22,23,5,4,31,11,11,26,20,13,54,54,54,55,55,55,55],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,1,[[3,[2]]]],[[4,[6,[5]],-1],7,[[3,[2]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[8,8],[5,5],[4,4],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],[[-1,-2],9,[],[]],0,0,0,0,0,[[],10],[[],11],[[],1],[[],12],[[],13],[[],14],[[],15],[[],16],[[],17],[[],18],[[],19],[[],20],[[],21],[[],7],[[],22],[[],23],[[],5],[[],4],0,[-1,[[24,[10]]],25],[-1,[[24,[19]]],25],[-1,[[24,[20]]],25],[-1,[[24,[21]]],25],[-1,[[24,[5]]],25],[-1,[[24,[4]]],25],0,[[[26,[-1]]],9,[27,28,29]],0,0,0,[1,1],[7,7],0,[[30,-1],[[26,[-1]]],[27,28,29]],[[31,-1],[[26,[-1]]],[27,28,29]],0,[[10,10],32],[[11,11],32],[[5,5],32],[[4,4],32],0,0,0,0,[[8,33],34],[[31,33],34],[[10,33],34],[[35,33],34],[[35,33],34],[[11,33],34],[[11,33],34],[[36,33],34],[[37,33],34],[[38,33],34],[[1,33],34],[[12,33],34],[[13,33],34],[[14,33],34],[[15,33],34],[[16,33],34],[[17,33],34],[[18,33],34],[[39,33],34],[[40,33],34],[[41,33],34],[[19,33],34],[[20,33],34],[[21,33],34],[[7,33],34],[[22,33],34],[[23,33],34],[[5,33],34],[[5,33],34],[[4,33],34],[[4,33],34],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[42,10],[-1,-1,[]],[43,35],[44,35],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[],[[45,[8]]]],[8,[[45,[31]]]],[46,[[24,[11,-1]]],[]],0,0,0,0,0,[[11,-1,-2],11,[[3,[2]]],[[3,[2]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,[[27,46],2],[[36,46],2],[[37,46],2],[[38,46],2],0,[[[26,[-1]]],[[6,[-1]]],[27,28,29]],[47,[[45,[8]]]],[4,11],[[-1,-2],36,[[3,[2]]],[[3,[2]]]],[[-1,-2,-3],37,[[3,[2]]],[[3,[2]]],[[3,[2]]]],[-1,38,[[3,[2]]]],[[],5],[[],4],[[],10],0,0,0,0,0,0,0,0,0,0,0,[[36,-1],36,[[3,[2]]]],0,0,0,[[36,48],36],[[37,48],37],0,0,[[8,-1],[[45,[9]]],49],[[10,-1],24,50],[[1,-1],24,50],[[12,-1],24,50],[[13,-1],24,50],[[14,-1],24,50],[[15,-1],24,50],[[16,-1],24,50],[[17,-1],24,50],[[18,-1],24,50],[[39,-1],24,50],[[40,-1],24,50],[[41,-1],24,50],[[19,-1],24,50],[[20,-1],24,50],[[21,-1],24,50],[[7,-1],24,50],[[22,-1],24,50],[[23,-1],24,50],[[5,-1],24,50],[[4,-1],24,50],0,0,[35,[[6,[51]]]],0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,2,[]],[-1,2,[]],[-1,2,[]],[-1,2,[]],0,0,0,[10,52],0,[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],[-1,[[24,[-2]]],[],[]],0,[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[-1,53,[]],[[27,7],9],[[36,7],9],[[37,7],9],[[38,7],9],0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[31,-1],31,[[3,[2]]]],[[11,5],11],0,[[[26,[-1]]],[[6,[2]]],[27,28,29]],0,0,0,0,0,0,0,0,0],"c":[],"p":[[5,"Segment",0],[5,"String",488],[10,"Into",489],[6,"TraceId",0],[6,"SegmentId",0],[6,"Option",490],[5,"Subsegment",0],[5,"Client",0],[1,"tuple"],[5,"Seconds",0],[5,"Header",0],[5,"Service",0],[5,"Aws",0],[5,"XRay",0],[5,"Ecs",0],[5,"Ec2",0],[5,"ElasticBeanstalk",0],[6,"Annotation",0],[5,"Http",0],[5,"Request",0],[5,"Response",0],[5,"AwsOperation",0],[5,"Sql",0],[6,"Result",491],[10,"Deserializer",492],[6,"SubsegmentSession",0],[10,"Namespace",0],[10,"Send",493],[10,"Sync",493],[10,"Context",0],[5,"SubsegmentContext",0],[1,"bool"],[5,"Formatter",494],[8,"Result",494],[6,"Error",0],[5,"AwsNamespace",0],[5,"RemoteNamespace",0],[5,"CustomNamespace",0],[5,"Exception",0],[5,"StackFrame",0],[6,"Cause",0],[5,"Duration",495],[5,"Error",496],[5,"Error",497],[8,"Result",0],[1,"str"],[6,"SocketAddr",498],[1,"u16"],[10,"Serialize",499],[10,"Serializer",499],[10,"Error",500],[1,"u64"],[5,"TypeId",501],[15,"Description",481],[15,"Entered",484]],"b":[[172,"impl-Display-for-Error"],[173,"impl-Debug-for-Error"],[174,"impl-Display-for-Header"],[175,"impl-Debug-for-Header"],[196,"impl-Debug-for-SegmentId"],[197,"impl-Display-for-SegmentId"],[198,"impl-Debug-for-TraceId"],[199,"impl-Display-for-TraceId"],[205,"impl-From%3CError%3E-for-Error"],[206,"impl-From%3CError%3E-for-Error"]]}]\
+["xray_lite",{"doc":"Provides a client interface for AWS X-Ray","t":"GFFFPPGFKFPFFFPPGFPFFPPPTPKPPFFFIFFGFFFPFFGGFOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNOOOOONNNNNNNNNNNNNNNNNNONNNNNNONOOONNOMNONNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOMNNNONNNNNNNNNOOOOOOOOOOONOOONNOONNNNNNNNNNNNNNNNNNNNNOONOOOOOOONNNNNNNNNOOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOO","n":["Annotation","Aws","AwsNamespace","AwsOperation","BadConfig","Bool","Cause","Client","Context","CustomNamespace","Description","Ec2","Ecs","ElasticBeanstalk","Entered","Err","Error","Exception","Failed","Header","Http","IO","Json","MissingEnvVar","NAME","Name","Namespace","Number","Ok","RemoteNamespace","Request","Response","Result","Seconds","Segment","SegmentId","Service","Sql","StackFrame","String","Subsegment","SubsegmentContext","SubsegmentSession","TraceId","XRay","account_id","account_id","annotations","annotations","availability_zone","aws","aws","begin","begin","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cause","cause","cause","client_ip","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","connection_string","container","content_length","database_type","database_version","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","deployment_id","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","driver_version","drop","ec2","ecs","elastic_beanstalk","end","end","end_time","enter_subsegment","enter_subsegment","environment_name","eq","eq","eq","eq","error","error","fault","fault","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_lambda_env","from_lambda_env","from_str","http","http","id","in_progress","in_progress","insert_data","instance_id","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","label","line","messages","metadata","metadata","method","name","name","name","name","namespace","namespace_mut","new","new","new","new","new","new","new","now","operation","origin","parent_id","parent_id","path","precursor_ids","preparation","queue_url","region","remote","request","request_id","request_id","resource_arn","response","response_status","response_status","sanitized_query","sdk_version","send","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","service","skipped","source","sql","stack","status","subsegments","table_name","throttle","throttled","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","trace_id","traced","traced","trunc","truncated","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_subsegment","update_subsegment","update_subsegment","update_subsegment","url","url","user","user","user_agent","version","version_label","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_name_prefix","with_parent_id","with_sampling_decision","x_amzn_trace_id","x_forwarded_for","xray","exceptions","paths","working_directory","client","header","namespace","subsegment"],"q":[[0,"xray_lite"],[488,"xray_lite::Cause"],[491,"xray_lite::SubsegmentSession"],[495,"alloc::string"],[496,"core::convert"],[497,"core::option"],[498,"core::result"],[499,"serde::de"],[500,"core::marker"],[501,"core::marker"],[502,"core::fmt"],[503,"std::io::error"],[504,"serde_json::error"],[505,"core::net::socket_addr"],[506,"serde::ser"],[507,"serde::ser"],[508,"core::any"]],"d":["A value type which may be used for filter querying","Context information about the AWS environment this segment …","Namespace for an AWS service.","Information about an AWS operation","Bad configuration.","A boolean value","Represents the cause of an errror","X-Ray daemon client interface","Context.","Namespace for a custom subsegment.","A description of an error","Information about an EC2 instance.","Information about an Amazon ECS container.","Information about an Elastic Beanstalk environment. You …","Entered subsegment.","Contains the error value","Common error type.","Detailed representation of an exception","Failed subsegment.","Parsed representation of X-Amzn-Trace-Id
request header","Describes an http request/response cycle","I/O error.","JSON error.","Missing environment variable.","HTTP header name associated with X-Ray trace data","a 16 character exception ID","Namespace.","A numberic value","Contains the success value","Namespace for an arbitrary remote service.","Information about a request.","Information about a response.","Type alias for Results which may return Error
.","Represents fractional seconds since the epoch These can be …","Description of an internal application operation which may …","Unique identifier of an operation within a trace","An object with information about your application.","Information about a SQL operation","A summary of a single operation within a stack trace","A string value","Record information about the AWS services and resources …","Context as a subsegment of an existing segment.","Subsegment session.","Coorelates a string of spans together","Metadata about the type and version of instrumentation …","If your application sends segments to a different AWS …","If your application accesses resources in a different …","annotations object with key-value pairs that you want …","annotations object with key-value pairs that you want …","The Availability Zone in which the instance is running.","aws object with information about the AWS resource on …","aws object with information about the downstream AWS …","Begins a new named segment","Create a new subsegment","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","error fields that indicate an error occurred and that …","Exception ID of the exception’s parent, that is, the …","information about the cause of an error","The IP address of the requester. Can be retrieved from the …","","","","","","","","","","","For SQL Server or other database connections that don’t …","The container ID of the container running your application.","number indicating the length of the response body in bytes.","The name of the database engine.","The version number of the database engine.","","","","","","","","","","","","","","","","","","","number indicating the ID of the last successful deployment …","","","","","","","The name and version number of the database engine driver …","","Information about an EC2 instance.","Information about an Amazon ECS container.","Information about an Elastic Beanstalk environment. You …","End the segment by assigning its end_time","End the subsegment by assigning its end_time","Number that is the time the segment was closed.","Enters in a new subsegment.","","The name of the environment.","","","","","Indicates that a client error occurred (response status …","boolean indicating that a client error occurred (response …","Indicates that a server error occurred (response status …","boolean indicating that a server error occurred (response …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Creates a new X-Ray client from the Lambda environment …","Creates a new context from the Lambda environment variable.","","http objects with information about the original HTTP …","http object with information about an outgoing HTTP call.","A 64-bit identifier for the exception, unique among …","boolean, set to true instead of specifying an end_time to …","boolean that is set to true instead of specifying an …","Inserts a key-value pair into the additional data map.","The instance ID of the EC2 instance.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","Calls U::from(self)
.","The function or method name.","The line in the file.","The exception message.","metadata object with any additional data that you want to …","metadata object with any additional data that you want to …","The request method. For example, GET.","Name of the namespace.","","","","aws for AWS SDK calls; remote for other downstream calls.","Returns the namespace as a mutable reference.","Return a new X-Ray client connected to the provided addr
","Creates a new Header with a given trace ID.","Creates a namespace for an AWS service operation.","Creates a namespace for a remote service.","Creates a namespace for a custom subsegment.","Generate a new random segment ID","Generate a new random trace ID","return the current time in seconds since the unix epoch …","The name of the API action invoked against an AWS service …","The type of AWS resource running your application. todo: …","A subsegment ID you specify if the request originated from …","Segment ID of the subsegment’s parent segment. Required …","The relative path to the file.","array of subsegment IDs that identifies subsegments with …","call if the query used a PreparedCall; statement if the …","For operations on an Amazon SQS queue, the queue’s URL.","If the resource is in a region different from your …","The exception type.","Information about a request","Sets the request ID.","Unique identifier for the request.","","Information about a response.","Sets the response status.","Sets the response status.","The database query, with any user provided values removed …","The version of SDK or agent being used.","send a segment to the xray daemon this client is connected …","","","","","","","","","","","","","","","","","","","","","An object with information about your application.","integer indicating the number of exceptions that were …","","contents of the sql query","array of stackFrame objects.","number indicating the HTTP status of the response.","array of subsegment objects.","For operations on a DynamoDB table, the name of the table.","boolean indicating that a request was throttled (response …","boolean indicating that a request was throttled (response …","","","","","","","","","","Trace ID of the subsegment’s parent segment. Required …","(subsegments only) boolean indicating that the downstream …","","truncate epoc time to remove fractional seconds","integer indicating the number of stack frames that are …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","subsegment. Required only if sending a subsegment …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Updates the subsegment.","","","","The full URL of the request, compiled from the protocol, …","For a database connection that uses a URL connection …","A string that identifies the user who sent the request.","The database username.","The user agent string from the requester’s client.","A string that identifies the version of your application …","The name of the application version that is currently …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Updates the context with a given name prefix.","Creates a new Header with the parent ID replaced.","Creates a new Header with the sampling decision replaced.","Returns the x-amzn-trace-id
header value.","(segments only) boolean indicating that the client_ip was …","Metadata about the type and version of instrumentation …","The array of exception objects.","The array of paths to libraries or modules in use when the …","The full path of the working directory when the exception …","X-Ray client.","X-Amzn-Trace-Id header.","Namespace.","Subsegment."],"i":[0,0,0,0,35,19,0,0,0,0,41,0,0,0,27,46,0,0,27,0,0,35,35,35,10,41,0,19,46,0,0,0,0,0,0,0,0,0,0,19,0,0,0,0,0,14,23,1,7,17,1,7,1,7,8,9,12,35,10,36,37,38,1,13,14,15,16,17,18,19,39,40,41,20,21,22,7,23,24,5,27,4,8,9,12,35,10,36,37,38,1,13,14,15,16,17,18,19,39,40,41,20,21,22,7,23,24,5,27,4,1,39,7,21,8,9,10,5,4,8,9,10,5,4,24,16,22,24,24,12,10,1,13,14,15,16,17,18,19,20,21,22,7,23,24,5,4,18,12,20,21,22,5,4,24,27,14,14,14,1,7,1,31,9,18,12,10,5,4,1,7,1,7,8,9,12,35,35,10,10,36,37,38,1,13,14,15,16,17,18,19,39,40,41,20,21,22,7,23,24,5,5,27,4,4,8,9,12,12,35,35,35,10,36,37,38,1,13,14,15,16,17,18,19,39,40,41,20,21,22,7,23,24,5,27,4,8,9,10,1,7,39,1,7,10,17,8,9,12,35,10,36,37,38,1,13,14,15,16,17,18,19,39,40,41,20,21,22,7,23,24,5,27,4,40,40,39,1,7,21,28,36,37,38,7,27,8,10,36,37,38,5,4,12,23,1,1,7,40,7,24,23,23,39,20,36,23,1,20,36,37,24,15,8,12,1,13,14,15,16,17,18,19,39,40,41,20,21,22,7,23,24,5,4,1,39,35,7,39,22,7,23,1,7,8,9,10,5,4,35,10,5,4,7,21,7,12,39,8,9,12,35,10,36,37,38,1,13,14,15,16,17,18,19,39,40,41,20,21,22,7,23,24,5,27,4,8,9,12,35,10,36,37,38,1,13,14,15,16,17,18,19,39,40,41,20,21,22,7,23,24,5,27,4,7,8,9,12,35,10,36,37,38,1,13,14,15,16,17,18,19,39,40,41,20,21,22,7,23,24,5,27,4,28,36,37,38,21,24,1,24,21,13,18,8,9,12,35,10,36,37,38,1,13,14,15,16,17,18,19,39,40,41,20,21,22,7,23,24,5,27,4,9,10,10,27,21,14,55,55,55,56,56,56,56],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,1,[[3,[2]]]],[[4,[6,[5]],-1],7,[[3,[2]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[8,8],[9,9],[10,10],[5,5],[4,4],[[-1,-2],11,[],[]],[[-1,-2],11,[],[]],[[-1,-2],11,[],[]],[[-1,-2],11,[],[]],[[-1,-2],11,[],[]],0,0,0,0,0,[[],12],[[],10],[[],1],[[],13],[[],14],[[],15],[[],16],[[],17],[[],18],[[],19],[[],20],[[],21],[[],22],[[],7],[[],23],[[],24],[[],5],[[],4],0,[-1,[[25,[12]]],26],[-1,[[25,[20]]],26],[-1,[[25,[21]]],26],[-1,[[25,[22]]],26],[-1,[[25,[5]]],26],[-1,[[25,[4]]],26],0,[[[27,[-1]]],11,[28,29,30]],0,0,0,[1,1],[7,7],0,[[31,-1],[[27,[-1]]],[28,29,30]],[[9,-1],[[27,[-1]]],[28,29,30]],0,[[12,12],32],[[10,10],32],[[5,5],32],[[4,4],32],0,0,0,0,[[8,33],34],[[9,33],34],[[12,33],34],[[35,33],34],[[35,33],34],[[10,33],34],[[10,33],34],[[36,33],34],[[37,33],34],[[38,33],34],[[1,33],34],[[13,33],34],[[14,33],34],[[15,33],34],[[16,33],34],[[17,33],34],[[18,33],34],[[19,33],34],[[39,33],34],[[40,33],34],[[41,33],34],[[20,33],34],[[21,33],34],[[22,33],34],[[7,33],34],[[23,33],34],[[24,33],34],[[5,33],34],[[5,33],34],[[[27,[-1]],33],34,[28,29,30,42]],[[4,33],34],[[4,33],34],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[43,12],[44,35],[45,35],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[[],[[46,[8]]]],[8,[[46,[9]]]],[47,[[25,[10,-1]]],[]],0,0,0,0,0,[[10,-1,-2],10,[[3,[2]]],[[3,[2]]]],0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,[[28,47],2],[[36,47],2],[[37,47],2],[[38,47],2],0,[[[27,[-1]]],[[6,[-1]]],[28,29,30]],[48,[[46,[8]]]],[4,10],[[-1,-2],36,[[3,[2]]],[[3,[2]]]],[[-1,-2,-3],37,[[3,[2]]],[[3,[2]]],[[3,[2]]]],[-1,38,[[3,[2]]]],[[],5],[[],4],[[],12],0,0,0,0,0,0,0,0,0,0,0,[[36,-1],36,[[3,[2]]]],0,0,0,[[36,49],36],[[37,49],37],0,0,[[8,-1],[[46,[11]]],50],[[12,-1],25,51],[[1,-1],25,51],[[13,-1],25,51],[[14,-1],25,51],[[15,-1],25,51],[[16,-1],25,51],[[17,-1],25,51],[[18,-1],25,51],[[19,-1],25,51],[[39,-1],25,51],[[40,-1],25,51],[[41,-1],25,51],[[20,-1],25,51],[[21,-1],25,51],[[22,-1],25,51],[[7,-1],25,51],[[23,-1],25,51],[[24,-1],25,51],[[5,-1],25,51],[[4,-1],25,51],0,0,[35,[[6,[52]]]],0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,2,[]],[-1,2,[]],[-1,2,[]],[-1,2,[]],0,0,0,[12,53],0,[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],[-1,[[25,[-2]]],[],[]],0,[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[-1,54,[]],[[28,7],11],[[36,7],11],[[37,7],11],[[38,7],11],0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[9,-1],9,[[3,[2]]]],[[10,5],10],0,[[[27,[-1]]],[[6,[2]]],[28,29,30]],0,0,0,0,0,0,0,0,0],"c":[],"p":[[5,"Segment",0],[5,"String",495],[10,"Into",496],[6,"TraceId",0],[6,"SegmentId",0],[6,"Option",497],[5,"Subsegment",0],[5,"Client",0],[5,"SubsegmentContext",0],[5,"Header",0],[1,"tuple"],[5,"Seconds",0],[5,"Service",0],[5,"Aws",0],[5,"XRay",0],[5,"Ecs",0],[5,"Ec2",0],[5,"ElasticBeanstalk",0],[6,"Annotation",0],[5,"Http",0],[5,"Request",0],[5,"Response",0],[5,"AwsOperation",0],[5,"Sql",0],[6,"Result",498],[10,"Deserializer",499],[6,"SubsegmentSession",0],[10,"Namespace",0],[10,"Send",500],[10,"Sync",500],[10,"Context",0],[1,"bool"],[5,"Formatter",501],[8,"Result",501],[6,"Error",0],[5,"AwsNamespace",0],[5,"RemoteNamespace",0],[5,"CustomNamespace",0],[5,"Exception",0],[5,"StackFrame",0],[6,"Cause",0],[10,"Debug",501],[5,"Duration",502],[5,"Error",503],[5,"Error",504],[8,"Result",0],[1,"str"],[6,"SocketAddr",505],[1,"u16"],[10,"Serialize",506],[10,"Serializer",506],[10,"Error",507],[1,"u64"],[5,"TypeId",508],[15,"Description",488],[15,"Entered",491]],"b":[[176,"impl-Debug-for-Error"],[177,"impl-Display-for-Error"],[178,"impl-Debug-for-Header"],[179,"impl-Display-for-Header"],[200,"impl-Display-for-SegmentId"],[201,"impl-Debug-for-SegmentId"],[203,"impl-Display-for-TraceId"],[204,"impl-Debug-for-TraceId"],[209,"impl-From%3CError%3E-for-Error"],[210,"impl-From%3CError%3E-for-Error"]]}],\
+["xray_lite_aws_sdk",{"doc":"Extension of xray-lite
for AWS SDK for Rust.","t":"KN","n":["ContextExt","intercept_operation"],"q":[[0,"xray_lite_aws_sdk"],[2,"aws_smithy_runtime_api::client::interceptors"],[3,"alloc::string"],[4,"core::convert"]],"d":["Extension of Context
.","Creates an Intercept
for the AWS service request."],"i":[0,1],"f":[0,[[1,-1,-2],[[0,[2]]],[[4,[3]]],[[4,[3]]]]],"c":[],"p":[[10,"ContextExt",0],[10,"Intercept",2],[5,"String",3],[10,"Into",4]],"b":[]}]\
]'));
if (typeof exports !== 'undefined') exports.searchIndex = searchIndex;
else if (window.initSearch) window.initSearch(searchIndex);
diff --git a/docs/api/settings.html b/docs/api/settings.html
index 30e8015..7d4a39a 100644
--- a/docs/api/settings.html
+++ b/docs/api/settings.html
@@ -1,2 +1,2 @@
-//! Subsegment session management.
use crate::client::Client;
@@ -95,6 +96,7 @@
use crate::segment::Subsegment;
/// Subsegment session.
+#[derive(Debug)]
pub enum SubsegmentSession<T>
where
T: Namespace + Send + Sync,
diff --git a/docs/api/src/xray_lite_aws_sdk/lib.rs.html b/docs/api/src/xray_lite_aws_sdk/lib.rs.html
new file mode 100644
index 0000000..724c8a4
--- /dev/null
+++ b/docs/api/src/xray_lite_aws_sdk/lib.rs.html
@@ -0,0 +1,346 @@
+lib.rs - source
+ 1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+
#![warn(missing_docs)]
+
+//! Extension of `xray-lite` for [AWS SDK for Rust](https://aws.amazon.com/sdk-for-rust/).
+//!
+//! With this crate, you can easily add the X-Ray tracing capability to your
+//! AWS service requests through
+//! [AWS SDK for Rust](https://aws.amazon.com/sdk-for-rust/).
+//! It utilizes the [interceptor](https://docs.rs/aws-smithy-runtime-api/latest/aws_smithy_runtime_api/client/interceptors/trait.Intercept.html)
+//! which can be attached to `CustomizableOperation` available via the
+//! `customize` method of any request builder; e.g.,
+//! [`aws_sdk_s3::operation::get_object::builders::GetObjectFluentBuilder::customize`](https://docs.rs/aws-sdk-s3/latest/aws_sdk_s3/operation/get_object/builders/struct.GetObjectFluentBuilder.html#method.customize)
+//!
+//! The following example shows how to report a subsegment for each attempt of
+//! the S3 GetObject operation:
+//! ```no_run
+//! use aws_config::BehaviorVersion;
+//! use xray_lite::{Client, SubsegmentContext};
+//! use xray_lite_aws_sdk::ContextExt as _;
+//!
+//! async fn get_object_from_s3() {
+//! let xray_client = Client::from_lambda_env().unwrap();
+//! let xray_context = SubsegmentContext::from_lambda_env(xray_client).unwrap();
+//!
+//! let config = aws_config::load_defaults(BehaviorVersion::latest()).await;
+//! let s3_client = aws_sdk_s3::Client::new(&config);
+//! s3_client
+//! .get_object()
+//! .bucket("the-bucket-name")
+//! .key("the-object-key")
+//! .customize()
+//! .interceptor(xray_context.intercept_operation("S3", "GetObject"))
+//! .send()
+//! .await
+//! .unwrap();
+//! }
+//! ```
+
+use std::sync::{Arc, Mutex};
+
+use aws_smithy_runtime_api::box_error::BoxError;
+use aws_smithy_runtime_api::client::interceptors::context::{
+ BeforeTransmitInterceptorContextMut, BeforeTransmitInterceptorContextRef,
+ FinalizerInterceptorContextRef,
+};
+use aws_smithy_runtime_api::client::interceptors::Intercept;
+use aws_smithy_runtime_api::client::runtime_components::RuntimeComponents;
+use aws_smithy_types::config_bag::ConfigBag;
+use aws_types::request_id::RequestId;
+
+use xray_lite::{AwsNamespace, Context, Header, SubsegmentSession};
+
+/// Extension of [`Context`].
+///
+/// This trait is automatically implemented for any [`Context`] that satisfies
+/// the bounds.
+pub trait ContextExt: Context + Clone + std::fmt::Debug + Send + Sync + 'static {
+ /// Creates an [`Intercept`](https://docs.rs/aws-smithy-runtime-api/1.1.7/aws_smithy_runtime_api/client/interceptors/trait.Intercept.html)
+ /// for the AWS service request.
+ ///
+ /// A returned `Intercept` implements the following hooks:
+ /// 1. [`read_before_attempt`](https://docs.rs/aws-smithy-runtime-api/1.1.7/aws_smithy_runtime_api/client/interceptors/trait.Intercept.html#method.read_before_attempt):
+ /// Starts a subsegment of the AWS service request
+ /// 2. [`modify_before_transmit`](https://docs.rs/aws-smithy-runtime-api/1.1.7/aws_smithy_runtime_api/client/interceptors/trait.Intercept.html#method.modify_before_transmit):
+ /// Injects the `X-Amzn-Trace-Id` header into the request
+ /// 3. [`read_after_attempt`](https://docs.rs/aws-smithy-runtime-api/1.1.7/aws_smithy_runtime_api/client/interceptors/trait.Intercept.html#method.read_after_attempt):
+ /// Updates the subsegment with the request ID and the response status,
+ /// and reports the subsegment to the X-Ray daemon
+ fn intercept_operation(
+ &self,
+ service: impl Into<String>,
+ operation: impl Into<String>,
+ ) -> impl Intercept + 'static {
+ XrayIntercept::new_with_operation(self.clone(), service, operation)
+ }
+}
+
+impl<T> ContextExt for T where T: Context + Clone + std::fmt::Debug + Send + Sync + 'static {}
+
+#[derive(Debug)]
+struct XrayIntercept<T>
+where
+ T: Context + Clone + std::fmt::Debug + Send + Sync + 'static,
+{
+ context: T,
+ service: String,
+ operation: String,
+ // session is unnecessarily wrapped in Mutex because `Intercept` is
+ // immutable during its method calls.
+ session: Arc<Mutex<Option<SubsegmentSession<AwsNamespace>>>>,
+}
+
+impl<T> XrayIntercept<T>
+where
+ T: Context + Clone + std::fmt::Debug + Send + Sync + 'static,
+{
+ fn new_with_operation(
+ context: T,
+ service: impl Into<String>,
+ operation: impl Into<String>,
+ ) -> Self {
+ Self {
+ context,
+ service: service.into(),
+ operation: operation.into(),
+ session: Arc::new(Mutex::new(None)),
+ }
+ }
+}
+
+impl<T> Intercept for XrayIntercept<T>
+where
+ T: Context + Clone + std::fmt::Debug + Send + Sync + 'static,
+{
+ fn name(&self) -> &'static str {
+ "XrayIntercept"
+ }
+
+ fn read_before_attempt(
+ &self,
+ _context: &BeforeTransmitInterceptorContextRef<'_>,
+ _runtime_components: &RuntimeComponents,
+ _cfg: &mut ConfigBag,
+ ) -> Result<(), BoxError> {
+ let session = self.context.enter_subsegment(AwsNamespace::new(
+ self.service.clone(),
+ self.operation.clone(),
+ ));
+ *self.session.lock().unwrap() = Some(session);
+ Ok(())
+ }
+
+ fn modify_before_transmit(
+ &self,
+ context: &mut BeforeTransmitInterceptorContextMut<'_>,
+ _runtime_components: &RuntimeComponents,
+ _cfg: &mut ConfigBag,
+ ) -> Result<(), BoxError> {
+ let trace_id = self
+ .session
+ .lock()
+ .unwrap()
+ .as_ref()
+ .and_then(|s| s.x_amzn_trace_id());
+ if let Some(trace_id) = trace_id {
+ context
+ .request_mut()
+ .headers_mut()
+ .insert(Header::NAME, trace_id);
+ }
+ Ok(())
+ }
+
+ fn read_after_attempt(
+ &self,
+ context: &FinalizerInterceptorContextRef<'_>,
+ _runtime_components: &RuntimeComponents,
+ _cfg: &mut ConfigBag,
+ ) -> Result<(), BoxError> {
+ let mut session = self.session.lock().unwrap();
+ if let Some(mut session) = session.take() {
+ if let Some(namespace) = session.namespace_mut() {
+ if let Some(response) = context.response() {
+ namespace.response_status(response.status().as_u16());
+ if let Some(request_id) = response.request_id() {
+ namespace.request_id(request_id);
+ }
+ }
+ }
+ }
+ Ok(())
+ }
+}
+
\ No newline at end of file
diff --git a/docs/api/trait.impl/core/clone/trait.Clone.js b/docs/api/trait.impl/core/clone/trait.Clone.js
index 926126b..167750e 100644
--- a/docs/api/trait.impl/core/clone/trait.Clone.js
+++ b/docs/api/trait.impl/core/clone/trait.Clone.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"xray_lite":[["impl Clone for Client"],["impl Clone for SegmentId"],["impl Clone for TraceId"]]
+"xray_lite":[["impl Clone for SegmentId"],["impl Clone for Header"],["impl Clone for TraceId"],["impl Clone for Client"],["impl Clone for SubsegmentContext"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/api/trait.impl/core/cmp/trait.PartialEq.js b/docs/api/trait.impl/core/cmp/trait.PartialEq.js
index cca91ef..6d5b736 100644
--- a/docs/api/trait.impl/core/cmp/trait.PartialEq.js
+++ b/docs/api/trait.impl/core/cmp/trait.PartialEq.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"xray_lite":[["impl PartialEq for SegmentId"],["impl PartialEq for Seconds"],["impl PartialEq for TraceId"],["impl PartialEq for Header"]]
+"xray_lite":[["impl PartialEq for Header"],["impl PartialEq for SegmentId"],["impl PartialEq for TraceId"],["impl PartialEq for Seconds"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/api/trait.impl/core/convert/trait.From.js b/docs/api/trait.impl/core/convert/trait.From.js
index 0168cd9..5cd7d36 100644
--- a/docs/api/trait.impl/core/convert/trait.From.js
+++ b/docs/api/trait.impl/core/convert/trait.From.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"xray_lite":[["impl From<Seconds> for Duration"],["impl From<Error> for Error"],["impl From<Error> for Error"],["impl From<Duration> for Seconds"]]
+"xray_lite":[["impl From<Seconds> for Duration"],["impl From<Error> for Error"],["impl From<Duration> for Seconds"],["impl From<Error> for Error"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/api/trait.impl/core/default/trait.Default.js b/docs/api/trait.impl/core/default/trait.Default.js
index a8057fa..12f57cb 100644
--- a/docs/api/trait.impl/core/default/trait.Default.js
+++ b/docs/api/trait.impl/core/default/trait.Default.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"xray_lite":[["impl Default for AwsOperation"],["impl Default for SegmentId"],["impl Default for Http"],["impl Default for Sql"],["impl Default for Annotation"],["impl Default for Header"],["impl Default for TraceId"],["impl Default for Request"],["impl Default for Ecs"],["impl Default for Seconds"],["impl Default for Subsegment"],["impl Default for Service"],["impl Default for XRay"],["impl Default for Ec2"],["impl Default for Aws"],["impl Default for Response"],["impl Default for ElasticBeanstalk"],["impl Default for Segment"]]
+"xray_lite":[["impl Default for Sql"],["impl Default for Ec2"],["impl Default for ElasticBeanstalk"],["impl Default for XRay"],["impl Default for Annotation"],["impl Default for SegmentId"],["impl Default for Ecs"],["impl Default for Aws"],["impl Default for Service"],["impl Default for Response"],["impl Default for Http"],["impl Default for Seconds"],["impl Default for Subsegment"],["impl Default for TraceId"],["impl Default for AwsOperation"],["impl Default for Request"],["impl Default for Header"],["impl Default for Segment"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/api/trait.impl/core/fmt/trait.Debug.js b/docs/api/trait.impl/core/fmt/trait.Debug.js
index c50b136..1d02a10 100644
--- a/docs/api/trait.impl/core/fmt/trait.Debug.js
+++ b/docs/api/trait.impl/core/fmt/trait.Debug.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"xray_lite":[["impl Debug for SubsegmentContext"],["impl Debug for XRay"],["impl Debug for Segment"],["impl Debug for Header"],["impl Debug for Cause"],["impl Debug for Request"],["impl Debug for StackFrame"],["impl Debug for Error"],["impl Debug for Ecs"],["impl Debug for Exception"],["impl Debug for SegmentId"],["impl Debug for Http"],["impl Debug for Sql"],["impl Debug for ElasticBeanstalk"],["impl Debug for CustomNamespace"],["impl Debug for AwsOperation"],["impl Debug for AwsNamespace"],["impl Debug for Subsegment"],["impl Debug for RemoteNamespace"],["impl Debug for Aws"],["impl Debug for Ec2"],["impl Debug for Seconds"],["impl Debug for Service"],["impl Debug for TraceId"],["impl Debug for Response"],["impl Debug for Client"],["impl Debug for Annotation"]]
+"xray_lite":[["impl Debug for XRay"],["impl Debug for Ec2"],["impl Debug for SegmentId"],["impl Debug for Http"],["impl Debug for Sql"],["impl Debug for ElasticBeanstalk"],["impl Debug for Service"],["impl Debug for Seconds"],["impl Debug for AwsOperation"],["impl Debug for Cause"],["impl Debug for StackFrame"],["impl<T> Debug for SubsegmentSession<T>"],["impl Debug for AwsNamespace"],["impl Debug for Segment"],["impl Debug for SubsegmentContext"],["impl Debug for Error"],["impl Debug for Ecs"],["impl Debug for Request"],["impl Debug for RemoteNamespace"],["impl Debug for Response"],["impl Debug for Annotation"],["impl Debug for Subsegment"],["impl Debug for Exception"],["impl Debug for Aws"],["impl Debug for Header"],["impl Debug for TraceId"],["impl Debug for CustomNamespace"],["impl Debug for Client"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/api/trait.impl/core/fmt/trait.Display.js b/docs/api/trait.impl/core/fmt/trait.Display.js
index 7484160..b26f431 100644
--- a/docs/api/trait.impl/core/fmt/trait.Display.js
+++ b/docs/api/trait.impl/core/fmt/trait.Display.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"xray_lite":[["impl Display for Header"],["impl Display for Error"],["impl Display for TraceId"],["impl Display for SegmentId"]]
+"xray_lite":[["impl Display for TraceId"],["impl Display for Header"],["impl Display for SegmentId"],["impl Display for Error"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/api/trait.impl/core/marker/trait.StructuralPartialEq.js b/docs/api/trait.impl/core/marker/trait.StructuralPartialEq.js
index d3e45a1..e5fdcd0 100644
--- a/docs/api/trait.impl/core/marker/trait.StructuralPartialEq.js
+++ b/docs/api/trait.impl/core/marker/trait.StructuralPartialEq.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"xray_lite":[["impl StructuralPartialEq for SegmentId"],["impl StructuralPartialEq for TraceId"],["impl StructuralPartialEq for Header"],["impl StructuralPartialEq for Seconds"]]
+"xray_lite":[["impl StructuralPartialEq for Seconds"],["impl StructuralPartialEq for TraceId"],["impl StructuralPartialEq for Header"],["impl StructuralPartialEq for SegmentId"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/api/trait.impl/serde/de/trait.Deserialize.js b/docs/api/trait.impl/serde/de/trait.Deserialize.js
index 09c024e..3db842b 100644
--- a/docs/api/trait.impl/serde/de/trait.Deserialize.js
+++ b/docs/api/trait.impl/serde/de/trait.Deserialize.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"xray_lite":[["impl<'de> Deserialize<'de> for SegmentId"],["impl<'de> Deserialize<'de> for Http"],["impl<'de> Deserialize<'de> for Request"],["impl<'de> Deserialize<'de> for TraceId"],["impl<'de> Deserialize<'de> for Response"],["impl<'de> Deserialize<'de> for Seconds"]]
+"xray_lite":[["impl<'de> Deserialize<'de> for Response"],["impl<'de> Deserialize<'de> for Seconds"],["impl<'de> Deserialize<'de> for SegmentId"],["impl<'de> Deserialize<'de> for Http"],["impl<'de> Deserialize<'de> for TraceId"],["impl<'de> Deserialize<'de> for Request"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/api/trait.impl/serde/ser/trait.Serialize.js b/docs/api/trait.impl/serde/ser/trait.Serialize.js
index 57ed1ec..f4d2f40 100644
--- a/docs/api/trait.impl/serde/ser/trait.Serialize.js
+++ b/docs/api/trait.impl/serde/ser/trait.Serialize.js
@@ -1,3 +1,3 @@
(function() {var implementors = {
-"xray_lite":[["impl Serialize for AwsOperation"],["impl Serialize for XRay"],["impl Serialize for ElasticBeanstalk"],["impl Serialize for Annotation"],["impl Serialize for Ec2"],["impl Serialize for SegmentId"],["impl Serialize for Cause"],["impl Serialize for Response"],["impl Serialize for Exception"],["impl Serialize for Segment"],["impl Serialize for TraceId"],["impl Serialize for StackFrame"],["impl Serialize for Request"],["impl Serialize for Ecs"],["impl Serialize for Seconds"],["impl Serialize for Aws"],["impl Serialize for Sql"],["impl Serialize for Subsegment"],["impl Serialize for Service"],["impl Serialize for Http"]]
+"xray_lite":[["impl Serialize for Seconds"],["impl Serialize for XRay"],["impl Serialize for TraceId"],["impl Serialize for StackFrame"],["impl Serialize for Request"],["impl Serialize for Http"],["impl Serialize for Aws"],["impl Serialize for Segment"],["impl Serialize for AwsOperation"],["impl Serialize for Sql"],["impl Serialize for Annotation"],["impl Serialize for Exception"],["impl Serialize for ElasticBeanstalk"],["impl Serialize for Ecs"],["impl Serialize for Subsegment"],["impl Serialize for Response"],["impl Serialize for Service"],["impl Serialize for SegmentId"],["impl Serialize for Cause"],["impl Serialize for Ec2"]]
};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/api/trait.impl/xray_lite_aws_sdk/trait.ContextExt.js b/docs/api/trait.impl/xray_lite_aws_sdk/trait.ContextExt.js
new file mode 100644
index 0000000..f5d8e88
--- /dev/null
+++ b/docs/api/trait.impl/xray_lite_aws_sdk/trait.ContextExt.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"xray_lite_aws_sdk":[]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/api/trait.impl/xray_lite_aws_sdk/trait.InterceptorContext.js b/docs/api/trait.impl/xray_lite_aws_sdk/trait.InterceptorContext.js
new file mode 100644
index 0000000..f5d8e88
--- /dev/null
+++ b/docs/api/trait.impl/xray_lite_aws_sdk/trait.InterceptorContext.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"xray_lite_aws_sdk":[]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/api/xray_lite/all.html b/docs/api/xray_lite/all.html
index dfde569..9f498e2 100644
--- a/docs/api/xray_lite/all.html
+++ b/docs/api/xray_lite/all.html
@@ -1,2 +1,2 @@
-List of all items in this crate
+List of all items in this crate
List of all items
Structs
- Aws
- AwsNamespace
- AwsOperation
- Client
- CustomNamespace
- Ec2
- Ecs
- ElasticBeanstalk
- Exception
- Header
- Http
- RemoteNamespace
- Request
- Response
- Seconds
- Segment
- Service
- Sql
- StackFrame
- Subsegment
- SubsegmentContext
- XRay
Enums
Traits
Type Aliases
\ No newline at end of file
diff --git a/docs/api/xray_lite/enum.Annotation.html b/docs/api/xray_lite/enum.Annotation.html
index 782c830..0c1ec65 100644
--- a/docs/api/xray_lite/enum.Annotation.html
+++ b/docs/api/xray_lite/enum.Annotation.html
@@ -1,4 +1,4 @@
-Annotation in xray_lite - Rust
+Annotation in xray_lite - Rust
Enum xray_lite::Annotation
source · pub enum Annotation {
String(String),
Number(usize),
diff --git a/docs/api/xray_lite/enum.Cause.html b/docs/api/xray_lite/enum.Cause.html
index fddf433..56d16de 100644
--- a/docs/api/xray_lite/enum.Cause.html
+++ b/docs/api/xray_lite/enum.Cause.html
@@ -1,4 +1,4 @@
-Cause in xray_lite - Rust
+Cause in xray_lite - Rust
pub enum Cause {
Name(String),
Description {
diff --git a/docs/api/xray_lite/enum.Error.html b/docs/api/xray_lite/enum.Error.html
index bef9c14..de96c70 100644
--- a/docs/api/xray_lite/enum.Error.html
+++ b/docs/api/xray_lite/enum.Error.html
@@ -1,4 +1,4 @@
-Error in xray_lite - Rust
+Error in xray_lite - Rust
§IO(Error)
I/O error.
§Json(Error)
JSON error.
§BadConfig(String)
Bad configuration.
-
Trait Implementations§
source§impl Error for Error
source§fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more1.0.0 · source§fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()Auto Trait Implementations§
§impl !RefUnwindSafe for Error
§impl Send for Error
§impl Sync for Error
§impl Unpin for Error
§impl !UnwindSafe for Error
Blanket Implementations§
Trait Implementations§
source§impl Error for Error
source§fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more1.0.0 · source§fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()Auto Trait Implementations§
§impl !RefUnwindSafe for Error
§impl Send for Error
§impl Sync for Error
§impl Unpin for Error
§impl !UnwindSafe for Error
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read moresource§impl<T> From<T> for T
source§fn from(t: T) -> T
Returns the argument unchanged.
diff --git a/docs/api/xray_lite/enum.SegmentId.html b/docs/api/xray_lite/enum.SegmentId.html
index 8ae3ba2..706a294 100644
--- a/docs/api/xray_lite/enum.SegmentId.html
+++ b/docs/api/xray_lite/enum.SegmentId.html
@@ -1,4 +1,4 @@
-SegmentId in xray_lite - Rust
+SegmentId in xray_lite - Rust
pub enum SegmentId {
// some variants omitted
}
Expand description
Unique identifier of an operation within a trace
diff --git a/docs/api/xray_lite/enum.SubsegmentSession.html b/docs/api/xray_lite/enum.SubsegmentSession.html
index fa0ffc0..f3104c9 100644
--- a/docs/api/xray_lite/enum.SubsegmentSession.html
+++ b/docs/api/xray_lite/enum.SubsegmentSession.html
@@ -1,5 +1,5 @@
-SubsegmentSession in xray_lite - Rust
- Enum xray_lite::SubsegmentSession
source · pub enum SubsegmentSession<T>where
+SubsegmentSession in xray_lite - Rust
+ §namespace: T
Namespace.
Entered subsegment.
§Failed
Failed subsegment.
-Implementations§
source§impl<T> SubsegmentSession<T>
sourcepub fn x_amzn_trace_id(&self) -> Option<String>
Returns the x-amzn-trace-id
header value.
-sourcepub fn namespace_mut(&mut self) -> Option<&mut T>
Returns the namespace as a mutable reference.
-Trait Implementations§
Auto Trait Implementations§
§impl<T> RefUnwindSafe for SubsegmentSession<T>where
+
Implementations§
source§impl<T> SubsegmentSession<T>
sourcepub fn x_amzn_trace_id(&self) -> Option<String>
Returns the x-amzn-trace-id
header value.
+sourcepub fn namespace_mut(&mut self) -> Option<&mut T>
Returns the namespace as a mutable reference.
+Trait Implementations§
source§impl<T> Debug for SubsegmentSession<T>
Auto Trait Implementations§
§impl<T> RefUnwindSafe for SubsegmentSession<T>where
T: RefUnwindSafe,
§impl<T> Send for SubsegmentSession<T>
§impl<T> Sync for SubsegmentSession<T>
§impl<T> Unpin for SubsegmentSession<T>where
T: Unpin,
§impl<T> UnwindSafe for SubsegmentSession<T>where
T: UnwindSafe,
Blanket Implementations§
source§impl<T> Any for Twhere
diff --git a/docs/api/xray_lite/enum.TraceId.html b/docs/api/xray_lite/enum.TraceId.html
index 68f757f..53d46f0 100644
--- a/docs/api/xray_lite/enum.TraceId.html
+++ b/docs/api/xray_lite/enum.TraceId.html
@@ -1,12 +1,12 @@
-TraceId in xray_lite - Rust
+TraceId in xray_lite - Rust
pub enum TraceId {
// some variants omitted
}
Expand description
Coorelates a string of spans together
Users need only refer to displability
a factory for generating these is provided.
Implementations§
Trait Implementations§
source§impl<'de> Deserialize<'de> for TraceId
source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
- D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moreTrait Implementations§
source§impl<'de> Deserialize<'de> for TraceId
source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
+ D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl PartialEq for TraceId
source§impl StructuralPartialEq for TraceId
Auto Trait Implementations§
§impl RefUnwindSafe for TraceId
§impl Send for TraceId
§impl Sync for TraceId
§impl Unpin for TraceId
§impl UnwindSafe for TraceId
Blanket Implementations§