UNPKG

55.9 kBTypeScriptView Raw
1import {Request} from '../lib/request';
2import {Response} from '../lib/response';
3import {AWSError} from '../lib/error';
4import {Service} from '../lib/service';
5import {ServiceConfigurationOptions} from '../lib/service';
6import {ConfigBase as Config} from '../lib/config';
7interface Blob {}
8declare class XRay extends Service {
9 /**
10 * Constructs a service object. This object has one method for each API operation.
11 */
12 constructor(options?: XRay.Types.ClientConfiguration)
13 config: Config & XRay.Types.ClientConfiguration;
14 /**
15 * 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.
16 */
17 batchGetTraces(params: XRay.Types.BatchGetTracesRequest, callback?: (err: AWSError, data: XRay.Types.BatchGetTracesResult) => void): Request<XRay.Types.BatchGetTracesResult, AWSError>;
18 /**
19 * 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.
20 */
21 batchGetTraces(callback?: (err: AWSError, data: XRay.Types.BatchGetTracesResult) => void): Request<XRay.Types.BatchGetTracesResult, AWSError>;
22 /**
23 * Creates a group resource with a name and a filter expression.
24 */
25 createGroup(params: XRay.Types.CreateGroupRequest, callback?: (err: AWSError, data: XRay.Types.CreateGroupResult) => void): Request<XRay.Types.CreateGroupResult, AWSError>;
26 /**
27 * Creates a group resource with a name and a filter expression.
28 */
29 createGroup(callback?: (err: AWSError, data: XRay.Types.CreateGroupResult) => void): Request<XRay.Types.CreateGroupResult, AWSError>;
30 /**
31 * Creates a rule to control sampling behavior for instrumented applications. Services retrieve rules with GetSamplingRules, and evaluate each rule in ascending order of priority for each request. If a rule matches, the service records a trace, borrowing it from the reservoir size. After 10 seconds, the service reports back to X-Ray with GetSamplingTargets to get updated versions of each in-use rule. The updated rule contains a trace quota that the service can use instead of borrowing from the reservoir.
32 */
33 createSamplingRule(params: XRay.Types.CreateSamplingRuleRequest, callback?: (err: AWSError, data: XRay.Types.CreateSamplingRuleResult) => void): Request<XRay.Types.CreateSamplingRuleResult, AWSError>;
34 /**
35 * Creates a rule to control sampling behavior for instrumented applications. Services retrieve rules with GetSamplingRules, and evaluate each rule in ascending order of priority for each request. If a rule matches, the service records a trace, borrowing it from the reservoir size. After 10 seconds, the service reports back to X-Ray with GetSamplingTargets to get updated versions of each in-use rule. The updated rule contains a trace quota that the service can use instead of borrowing from the reservoir.
36 */
37 createSamplingRule(callback?: (err: AWSError, data: XRay.Types.CreateSamplingRuleResult) => void): Request<XRay.Types.CreateSamplingRuleResult, AWSError>;
38 /**
39 * Deletes a group resource.
40 */
41 deleteGroup(params: XRay.Types.DeleteGroupRequest, callback?: (err: AWSError, data: XRay.Types.DeleteGroupResult) => void): Request<XRay.Types.DeleteGroupResult, AWSError>;
42 /**
43 * Deletes a group resource.
44 */
45 deleteGroup(callback?: (err: AWSError, data: XRay.Types.DeleteGroupResult) => void): Request<XRay.Types.DeleteGroupResult, AWSError>;
46 /**
47 * Deletes a sampling rule.
48 */
49 deleteSamplingRule(params: XRay.Types.DeleteSamplingRuleRequest, callback?: (err: AWSError, data: XRay.Types.DeleteSamplingRuleResult) => void): Request<XRay.Types.DeleteSamplingRuleResult, AWSError>;
50 /**
51 * Deletes a sampling rule.
52 */
53 deleteSamplingRule(callback?: (err: AWSError, data: XRay.Types.DeleteSamplingRuleResult) => void): Request<XRay.Types.DeleteSamplingRuleResult, AWSError>;
54 /**
55 * Retrieves the current encryption configuration for X-Ray data.
56 */
57 getEncryptionConfig(params: XRay.Types.GetEncryptionConfigRequest, callback?: (err: AWSError, data: XRay.Types.GetEncryptionConfigResult) => void): Request<XRay.Types.GetEncryptionConfigResult, AWSError>;
58 /**
59 * Retrieves the current encryption configuration for X-Ray data.
60 */
61 getEncryptionConfig(callback?: (err: AWSError, data: XRay.Types.GetEncryptionConfigResult) => void): Request<XRay.Types.GetEncryptionConfigResult, AWSError>;
62 /**
63 * Retrieves group resource details.
64 */
65 getGroup(params: XRay.Types.GetGroupRequest, callback?: (err: AWSError, data: XRay.Types.GetGroupResult) => void): Request<XRay.Types.GetGroupResult, AWSError>;
66 /**
67 * Retrieves group resource details.
68 */
69 getGroup(callback?: (err: AWSError, data: XRay.Types.GetGroupResult) => void): Request<XRay.Types.GetGroupResult, AWSError>;
70 /**
71 * Retrieves all active group details.
72 */
73 getGroups(params: XRay.Types.GetGroupsRequest, callback?: (err: AWSError, data: XRay.Types.GetGroupsResult) => void): Request<XRay.Types.GetGroupsResult, AWSError>;
74 /**
75 * Retrieves all active group details.
76 */
77 getGroups(callback?: (err: AWSError, data: XRay.Types.GetGroupsResult) => void): Request<XRay.Types.GetGroupsResult, AWSError>;
78 /**
79 * Retrieves all sampling rules.
80 */
81 getSamplingRules(params: XRay.Types.GetSamplingRulesRequest, callback?: (err: AWSError, data: XRay.Types.GetSamplingRulesResult) => void): Request<XRay.Types.GetSamplingRulesResult, AWSError>;
82 /**
83 * Retrieves all sampling rules.
84 */
85 getSamplingRules(callback?: (err: AWSError, data: XRay.Types.GetSamplingRulesResult) => void): Request<XRay.Types.GetSamplingRulesResult, AWSError>;
86 /**
87 * Retrieves information about recent sampling results for all sampling rules.
88 */
89 getSamplingStatisticSummaries(params: XRay.Types.GetSamplingStatisticSummariesRequest, callback?: (err: AWSError, data: XRay.Types.GetSamplingStatisticSummariesResult) => void): Request<XRay.Types.GetSamplingStatisticSummariesResult, AWSError>;
90 /**
91 * Retrieves information about recent sampling results for all sampling rules.
92 */
93 getSamplingStatisticSummaries(callback?: (err: AWSError, data: XRay.Types.GetSamplingStatisticSummariesResult) => void): Request<XRay.Types.GetSamplingStatisticSummariesResult, AWSError>;
94 /**
95 * Requests a sampling quota for rules that the service is using to sample requests.
96 */
97 getSamplingTargets(params: XRay.Types.GetSamplingTargetsRequest, callback?: (err: AWSError, data: XRay.Types.GetSamplingTargetsResult) => void): Request<XRay.Types.GetSamplingTargetsResult, AWSError>;
98 /**
99 * Requests a sampling quota for rules that the service is using to sample requests.
100 */
101 getSamplingTargets(callback?: (err: AWSError, data: XRay.Types.GetSamplingTargetsResult) => void): Request<XRay.Types.GetSamplingTargetsResult, AWSError>;
102 /**
103 * 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.
104 */
105 getServiceGraph(params: XRay.Types.GetServiceGraphRequest, callback?: (err: AWSError, data: XRay.Types.GetServiceGraphResult) => void): Request<XRay.Types.GetServiceGraphResult, AWSError>;
106 /**
107 * 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.
108 */
109 getServiceGraph(callback?: (err: AWSError, data: XRay.Types.GetServiceGraphResult) => void): Request<XRay.Types.GetServiceGraphResult, AWSError>;
110 /**
111 * Get an aggregation of service statistics defined by a specific time range.
112 */
113 getTimeSeriesServiceStatistics(params: XRay.Types.GetTimeSeriesServiceStatisticsRequest, callback?: (err: AWSError, data: XRay.Types.GetTimeSeriesServiceStatisticsResult) => void): Request<XRay.Types.GetTimeSeriesServiceStatisticsResult, AWSError>;
114 /**
115 * Get an aggregation of service statistics defined by a specific time range.
116 */
117 getTimeSeriesServiceStatistics(callback?: (err: AWSError, data: XRay.Types.GetTimeSeriesServiceStatisticsResult) => void): Request<XRay.Types.GetTimeSeriesServiceStatisticsResult, AWSError>;
118 /**
119 * Retrieves a service graph for one or more specific trace IDs.
120 */
121 getTraceGraph(params: XRay.Types.GetTraceGraphRequest, callback?: (err: AWSError, data: XRay.Types.GetTraceGraphResult) => void): Request<XRay.Types.GetTraceGraphResult, AWSError>;
122 /**
123 * Retrieves a service graph for one or more specific trace IDs.
124 */
125 getTraceGraph(callback?: (err: AWSError, data: XRay.Types.GetTraceGraphResult) => void): Request<XRay.Types.GetTraceGraphResult, AWSError>;
126 /**
127 * Retrieves IDs and annotations 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 in the AWS X-Ray Developer Guide.
128 */
129 getTraceSummaries(params: XRay.Types.GetTraceSummariesRequest, callback?: (err: AWSError, data: XRay.Types.GetTraceSummariesResult) => void): Request<XRay.Types.GetTraceSummariesResult, AWSError>;
130 /**
131 * Retrieves IDs and annotations 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 in the AWS X-Ray Developer Guide.
132 */
133 getTraceSummaries(callback?: (err: AWSError, data: XRay.Types.GetTraceSummariesResult) => void): Request<XRay.Types.GetTraceSummariesResult, AWSError>;
134 /**
135 * Updates the encryption configuration for X-Ray data.
136 */
137 putEncryptionConfig(params: XRay.Types.PutEncryptionConfigRequest, callback?: (err: AWSError, data: XRay.Types.PutEncryptionConfigResult) => void): Request<XRay.Types.PutEncryptionConfigResult, AWSError>;
138 /**
139 * Updates the encryption configuration for X-Ray data.
140 */
141 putEncryptionConfig(callback?: (err: AWSError, data: XRay.Types.PutEncryptionConfigResult) => void): Request<XRay.Types.PutEncryptionConfigResult, AWSError>;
142 /**
143 * Used by the AWS X-Ray daemon to upload telemetry.
144 */
145 putTelemetryRecords(params: XRay.Types.PutTelemetryRecordsRequest, callback?: (err: AWSError, data: XRay.Types.PutTelemetryRecordsResult) => void): Request<XRay.Types.PutTelemetryRecordsResult, AWSError>;
146 /**
147 * Used by the AWS X-Ray daemon to upload telemetry.
148 */
149 putTelemetryRecords(callback?: (err: AWSError, data: XRay.Types.PutTelemetryRecordsResult) => void): Request<XRay.Types.PutTelemetryRecordsResult, AWSError>;
150 /**
151 * 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 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.
152 */
153 putTraceSegments(params: XRay.Types.PutTraceSegmentsRequest, callback?: (err: AWSError, data: XRay.Types.PutTraceSegmentsResult) => void): Request<XRay.Types.PutTraceSegmentsResult, AWSError>;
154 /**
155 * 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 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.
156 */
157 putTraceSegments(callback?: (err: AWSError, data: XRay.Types.PutTraceSegmentsResult) => void): Request<XRay.Types.PutTraceSegmentsResult, AWSError>;
158 /**
159 * Updates a group resource.
160 */
161 updateGroup(params: XRay.Types.UpdateGroupRequest, callback?: (err: AWSError, data: XRay.Types.UpdateGroupResult) => void): Request<XRay.Types.UpdateGroupResult, AWSError>;
162 /**
163 * Updates a group resource.
164 */
165 updateGroup(callback?: (err: AWSError, data: XRay.Types.UpdateGroupResult) => void): Request<XRay.Types.UpdateGroupResult, AWSError>;
166 /**
167 * Modifies a sampling rule's configuration.
168 */
169 updateSamplingRule(params: XRay.Types.UpdateSamplingRuleRequest, callback?: (err: AWSError, data: XRay.Types.UpdateSamplingRuleResult) => void): Request<XRay.Types.UpdateSamplingRuleResult, AWSError>;
170 /**
171 * Modifies a sampling rule's configuration.
172 */
173 updateSamplingRule(callback?: (err: AWSError, data: XRay.Types.UpdateSamplingRuleResult) => void): Request<XRay.Types.UpdateSamplingRuleResult, AWSError>;
174}
175declare namespace XRay {
176 export interface Alias {
177 /**
178 * The canonical name of the alias.
179 */
180 Name?: String;
181 /**
182 * A list of names for the alias, including the canonical name.
183 */
184 Names?: AliasNames;
185 /**
186 * The type of the alias.
187 */
188 Type?: String;
189 }
190 export type AliasList = Alias[];
191 export type AliasNames = String[];
192 export type AnnotationKey = string;
193 export interface AnnotationValue {
194 /**
195 * Value for a Number annotation.
196 */
197 NumberValue?: NullableDouble;
198 /**
199 * Value for a Boolean annotation.
200 */
201 BooleanValue?: NullableBoolean;
202 /**
203 * Value for a String annotation.
204 */
205 StringValue?: String;
206 }
207 export type Annotations = {[key: string]: ValuesWithServiceIds};
208 export type AttributeKey = string;
209 export type AttributeMap = {[key: string]: AttributeValue};
210 export type AttributeValue = string;
211 export interface AvailabilityZoneDetail {
212 /**
213 * The name of a corresponding availability zone.
214 */
215 Name?: String;
216 }
217 export interface BackendConnectionErrors {
218 /**
219 *
220 */
221 TimeoutCount?: NullableInteger;
222 /**
223 *
224 */
225 ConnectionRefusedCount?: NullableInteger;
226 /**
227 *
228 */
229 HTTPCode4XXCount?: NullableInteger;
230 /**
231 *
232 */
233 HTTPCode5XXCount?: NullableInteger;
234 /**
235 *
236 */
237 UnknownHostCount?: NullableInteger;
238 /**
239 *
240 */
241 OtherCount?: NullableInteger;
242 }
243 export interface BatchGetTracesRequest {
244 /**
245 * Specify the trace IDs of requests for which to retrieve segments.
246 */
247 TraceIds: TraceIdList;
248 /**
249 * Pagination token.
250 */
251 NextToken?: String;
252 }
253 export interface BatchGetTracesResult {
254 /**
255 * Full traces for the specified requests.
256 */
257 Traces?: TraceList;
258 /**
259 * Trace IDs of requests that haven't been processed.
260 */
261 UnprocessedTraceIds?: UnprocessedTraceIdList;
262 /**
263 * Pagination token.
264 */
265 NextToken?: String;
266 }
267 export type Boolean = boolean;
268 export type BorrowCount = number;
269 export type ClientID = string;
270 export interface CreateGroupRequest {
271 /**
272 * The case-sensitive name of the new group. Default is a reserved name and names must be unique.
273 */
274 GroupName: GroupName;
275 /**
276 * The filter expression defining criteria by which to group traces.
277 */
278 FilterExpression?: FilterExpression;
279 }
280 export interface CreateGroupResult {
281 /**
282 * The group that was created. Contains the name of the group that was created, the ARN of the group that was generated based on the group name, and the filter expression that was assigned to the group.
283 */
284 Group?: Group;
285 }
286 export interface CreateSamplingRuleRequest {
287 /**
288 * The rule definition.
289 */
290 SamplingRule: SamplingRule;
291 }
292 export interface CreateSamplingRuleResult {
293 /**
294 * The saved rule definition and metadata.
295 */
296 SamplingRuleRecord?: SamplingRuleRecord;
297 }
298 export interface DeleteGroupRequest {
299 /**
300 * The case-sensitive name of the group.
301 */
302 GroupName?: GroupName;
303 /**
304 * The ARN of the group that was generated on creation.
305 */
306 GroupARN?: GroupARN;
307 }
308 export interface DeleteGroupResult {
309 }
310 export interface DeleteSamplingRuleRequest {
311 /**
312 * The name of the sampling rule. Specify a rule by either name or ARN, but not both.
313 */
314 RuleName?: String;
315 /**
316 * The ARN of the sampling rule. Specify a rule by either name or ARN, but not both.
317 */
318 RuleARN?: String;
319 }
320 export interface DeleteSamplingRuleResult {
321 /**
322 * The deleted rule definition and metadata.
323 */
324 SamplingRuleRecord?: SamplingRuleRecord;
325 }
326 export type Double = number;
327 export type EC2InstanceId = string;
328 export interface Edge {
329 /**
330 * Identifier of the edge. Unique within a service map.
331 */
332 ReferenceId?: NullableInteger;
333 /**
334 * The start time of the first segment on the edge.
335 */
336 StartTime?: Timestamp;
337 /**
338 * The end time of the last segment on the edge.
339 */
340 EndTime?: Timestamp;
341 /**
342 * Response statistics for segments on the edge.
343 */
344 SummaryStatistics?: EdgeStatistics;
345 /**
346 * A histogram that maps the spread of client response times on an edge.
347 */
348 ResponseTimeHistogram?: Histogram;
349 /**
350 * Aliases for the edge.
351 */
352 Aliases?: AliasList;
353 }
354 export type EdgeList = Edge[];
355 export interface EdgeStatistics {
356 /**
357 * The number of requests that completed with a 2xx Success status code.
358 */
359 OkCount?: NullableLong;
360 /**
361 * Information about requests that failed with a 4xx Client Error status code.
362 */
363 ErrorStatistics?: ErrorStatistics;
364 /**
365 * Information about requests that failed with a 5xx Server Error status code.
366 */
367 FaultStatistics?: FaultStatistics;
368 /**
369 * The total number of completed requests.
370 */
371 TotalCount?: NullableLong;
372 /**
373 * The aggregate response time of completed requests.
374 */
375 TotalResponseTime?: NullableDouble;
376 }
377 export interface EncryptionConfig {
378 /**
379 * The ID of the customer master key (CMK) used for encryption, if applicable.
380 */
381 KeyId?: String;
382 /**
383 * The encryption status. While the status is UPDATING, X-Ray may encrypt data with a combination of the new and old settings.
384 */
385 Status?: EncryptionStatus;
386 /**
387 * The type of encryption. Set to KMS for encryption with CMKs. Set to NONE for default encryption.
388 */
389 Type?: EncryptionType;
390 }
391 export type EncryptionKeyId = string;
392 export type EncryptionStatus = "UPDATING"|"ACTIVE"|string;
393 export type EncryptionType = "NONE"|"KMS"|string;
394 export type EntitySelectorExpression = string;
395 export interface ErrorRootCause {
396 /**
397 * A list of services corresponding to an error. A service identifies a segment and it contains a name, account ID, type, and inferred flag.
398 */
399 Services?: ErrorRootCauseServices;
400 /**
401 * A flag that denotes that the root cause impacts the trace client.
402 */
403 ClientImpacting?: NullableBoolean;
404 }
405 export interface ErrorRootCauseEntity {
406 /**
407 * The name of the entity.
408 */
409 Name?: String;
410 /**
411 * The types and messages of the exceptions.
412 */
413 Exceptions?: RootCauseExceptions;
414 /**
415 * A flag that denotes a remote subsegment.
416 */
417 Remote?: NullableBoolean;
418 }
419 export type ErrorRootCauseEntityPath = ErrorRootCauseEntity[];
420 export interface ErrorRootCauseService {
421 /**
422 * The service name.
423 */
424 Name?: String;
425 /**
426 * A collection of associated service names.
427 */
428 Names?: ServiceNames;
429 /**
430 * The type associated to the service.
431 */
432 Type?: String;
433 /**
434 * The account ID associated to the service.
435 */
436 AccountId?: String;
437 /**
438 * The path of root cause entities found on the service.
439 */
440 EntityPath?: ErrorRootCauseEntityPath;
441 /**
442 * A Boolean value indicating if the service is inferred from the trace.
443 */
444 Inferred?: NullableBoolean;
445 }
446 export type ErrorRootCauseServices = ErrorRootCauseService[];
447 export type ErrorRootCauses = ErrorRootCause[];
448 export interface ErrorStatistics {
449 /**
450 * The number of requests that failed with a 419 throttling status code.
451 */
452 ThrottleCount?: NullableLong;
453 /**
454 * The number of requests that failed with untracked 4xx Client Error status codes.
455 */
456 OtherCount?: NullableLong;
457 /**
458 * The total number of requests that failed with a 4xx Client Error status code.
459 */
460 TotalCount?: NullableLong;
461 }
462 export interface FaultRootCause {
463 /**
464 * A list of corresponding services. A service identifies a segment and it contains a name, account ID, type, and inferred flag.
465 */
466 Services?: FaultRootCauseServices;
467 /**
468 * A flag that denotes that the root cause impacts the trace client.
469 */
470 ClientImpacting?: NullableBoolean;
471 }
472 export interface FaultRootCauseEntity {
473 /**
474 * The name of the entity.
475 */
476 Name?: String;
477 /**
478 * The types and messages of the exceptions.
479 */
480 Exceptions?: RootCauseExceptions;
481 /**
482 * A flag that denotes a remote subsegment.
483 */
484 Remote?: NullableBoolean;
485 }
486 export type FaultRootCauseEntityPath = FaultRootCauseEntity[];
487 export interface FaultRootCauseService {
488 /**
489 * The service name.
490 */
491 Name?: String;
492 /**
493 * A collection of associated service names.
494 */
495 Names?: ServiceNames;
496 /**
497 * The type associated to the service.
498 */
499 Type?: String;
500 /**
501 * The account ID associated to the service.
502 */
503 AccountId?: String;
504 /**
505 * The path of root cause entities found on the service.
506 */
507 EntityPath?: FaultRootCauseEntityPath;
508 /**
509 * A Boolean value indicating if the service is inferred from the trace.
510 */
511 Inferred?: NullableBoolean;
512 }
513 export type FaultRootCauseServices = FaultRootCauseService[];
514 export type FaultRootCauses = FaultRootCause[];
515 export interface FaultStatistics {
516 /**
517 * The number of requests that failed with untracked 5xx Server Error status codes.
518 */
519 OtherCount?: NullableLong;
520 /**
521 * The total number of requests that failed with a 5xx Server Error status code.
522 */
523 TotalCount?: NullableLong;
524 }
525 export type FilterExpression = string;
526 export type FixedRate = number;
527 export interface GetEncryptionConfigRequest {
528 }
529 export interface GetEncryptionConfigResult {
530 /**
531 * The encryption configuration document.
532 */
533 EncryptionConfig?: EncryptionConfig;
534 }
535 export interface GetGroupRequest {
536 /**
537 * The case-sensitive name of the group.
538 */
539 GroupName?: GroupName;
540 /**
541 * The ARN of the group that was generated on creation.
542 */
543 GroupARN?: GroupARN;
544 }
545 export interface GetGroupResult {
546 /**
547 * The group that was requested. Contains the name of the group, the ARN of the group, and the filter expression that assigned to the group.
548 */
549 Group?: Group;
550 }
551 export type GetGroupsNextToken = string;
552 export interface GetGroupsRequest {
553 /**
554 * Pagination token.
555 */
556 NextToken?: GetGroupsNextToken;
557 }
558 export interface GetGroupsResult {
559 /**
560 * The collection of all active groups.
561 */
562 Groups?: GroupSummaryList;
563 /**
564 * Pagination token.
565 */
566 NextToken?: String;
567 }
568 export interface GetSamplingRulesRequest {
569 /**
570 * Pagination token.
571 */
572 NextToken?: String;
573 }
574 export interface GetSamplingRulesResult {
575 /**
576 * Rule definitions and metadata.
577 */
578 SamplingRuleRecords?: SamplingRuleRecordList;
579 /**
580 * Pagination token.
581 */
582 NextToken?: String;
583 }
584 export interface GetSamplingStatisticSummariesRequest {
585 /**
586 * Pagination token.
587 */
588 NextToken?: String;
589 }
590 export interface GetSamplingStatisticSummariesResult {
591 /**
592 * Information about the number of requests instrumented for each sampling rule.
593 */
594 SamplingStatisticSummaries?: SamplingStatisticSummaryList;
595 /**
596 * Pagination token.
597 */
598 NextToken?: String;
599 }
600 export interface GetSamplingTargetsRequest {
601 /**
602 * Information about rules that the service is using to sample requests.
603 */
604 SamplingStatisticsDocuments: SamplingStatisticsDocumentList;
605 }
606 export interface GetSamplingTargetsResult {
607 /**
608 * Updated rules that the service should use to sample requests.
609 */
610 SamplingTargetDocuments?: SamplingTargetDocumentList;
611 /**
612 * The last time a user changed the sampling rule configuration. If the sampling rule configuration changed since the service last retrieved it, the service should call GetSamplingRules to get the latest version.
613 */
614 LastRuleModification?: Timestamp;
615 /**
616 * Information about SamplingStatisticsDocument that X-Ray could not process.
617 */
618 UnprocessedStatistics?: UnprocessedStatisticsList;
619 }
620 export interface GetServiceGraphRequest {
621 /**
622 * The start of the time frame for which to generate a graph.
623 */
624 StartTime: Timestamp;
625 /**
626 * The end of the timeframe for which to generate a graph.
627 */
628 EndTime: Timestamp;
629 /**
630 * The name of a group to generate a graph based on.
631 */
632 GroupName?: GroupName;
633 /**
634 * The ARN of a group to generate a graph based on.
635 */
636 GroupARN?: GroupARN;
637 /**
638 * Pagination token.
639 */
640 NextToken?: String;
641 }
642 export interface GetServiceGraphResult {
643 /**
644 * The start of the time frame for which the graph was generated.
645 */
646 StartTime?: Timestamp;
647 /**
648 * The end of the time frame for which the graph was generated.
649 */
650 EndTime?: Timestamp;
651 /**
652 * The services that have processed a traced request during the specified time frame.
653 */
654 Services?: ServiceList;
655 /**
656 * A flag indicating whether the group's filter expression has been consistent, or if the returned service graph may show traces from an older version of the group's filter expression.
657 */
658 ContainsOldGroupVersions?: Boolean;
659 /**
660 * Pagination token.
661 */
662 NextToken?: String;
663 }
664 export interface GetTimeSeriesServiceStatisticsRequest {
665 /**
666 * The start of the time frame for which to aggregate statistics.
667 */
668 StartTime: Timestamp;
669 /**
670 * The end of the time frame for which to aggregate statistics.
671 */
672 EndTime: Timestamp;
673 /**
674 * The case-sensitive name of the group for which to pull statistics from.
675 */
676 GroupName?: GroupName;
677 /**
678 * The ARN of the group for which to pull statistics from.
679 */
680 GroupARN?: GroupARN;
681 /**
682 * A filter expression defining entities that will be aggregated for statistics. Supports ID, service, and edge functions. If no selector expression is specified, edge statistics are returned.
683 */
684 EntitySelectorExpression?: EntitySelectorExpression;
685 /**
686 * Aggregation period in seconds.
687 */
688 Period?: NullableInteger;
689 /**
690 * Pagination token.
691 */
692 NextToken?: String;
693 }
694 export interface GetTimeSeriesServiceStatisticsResult {
695 /**
696 * The collection of statistics.
697 */
698 TimeSeriesServiceStatistics?: TimeSeriesServiceStatisticsList;
699 /**
700 * A flag indicating whether or not a group's filter expression has been consistent, or if a returned aggregation may show statistics from an older version of the group's filter expression.
701 */
702 ContainsOldGroupVersions?: Boolean;
703 /**
704 * Pagination token.
705 */
706 NextToken?: String;
707 }
708 export interface GetTraceGraphRequest {
709 /**
710 * Trace IDs of requests for which to generate a service graph.
711 */
712 TraceIds: TraceIdList;
713 /**
714 * Pagination token.
715 */
716 NextToken?: String;
717 }
718 export interface GetTraceGraphResult {
719 /**
720 * The services that have processed one of the specified requests.
721 */
722 Services?: ServiceList;
723 /**
724 * Pagination token.
725 */
726 NextToken?: String;
727 }
728 export interface GetTraceSummariesRequest {
729 /**
730 * The start of the time frame for which to retrieve traces.
731 */
732 StartTime: Timestamp;
733 /**
734 * The end of the time frame for which to retrieve traces.
735 */
736 EndTime: Timestamp;
737 /**
738 * A parameter to indicate whether to query trace summaries by TraceId or Event time.
739 */
740 TimeRangeType?: TimeRangeType;
741 /**
742 * Set to true to get summaries for only a subset of available traces.
743 */
744 Sampling?: NullableBoolean;
745 /**
746 * A paramater to indicate whether to enable sampling on trace summaries. Input parameters are Name and Value.
747 */
748 SamplingStrategy?: SamplingStrategy;
749 /**
750 * Specify a filter expression to retrieve trace summaries for services or requests that meet certain requirements.
751 */
752 FilterExpression?: FilterExpression;
753 /**
754 * Specify the pagination token returned by a previous request to retrieve the next page of results.
755 */
756 NextToken?: String;
757 }
758 export interface GetTraceSummariesResult {
759 /**
760 * Trace IDs and annotations for traces that were found in the specified time frame.
761 */
762 TraceSummaries?: TraceSummaryList;
763 /**
764 * The start time of this page of results.
765 */
766 ApproximateTime?: Timestamp;
767 /**
768 * The total number of traces processed, including traces that did not match the specified filter expression.
769 */
770 TracesProcessedCount?: NullableLong;
771 /**
772 * 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.
773 */
774 NextToken?: String;
775 }
776 export interface Group {
777 /**
778 * The unique case-sensitive name of the group.
779 */
780 GroupName?: String;
781 /**
782 * The ARN of the group generated based on the GroupName.
783 */
784 GroupARN?: String;
785 /**
786 * The filter expression defining the parameters to include traces.
787 */
788 FilterExpression?: String;
789 }
790 export type GroupARN = string;
791 export type GroupName = string;
792 export interface GroupSummary {
793 /**
794 * The unique case-sensitive name of the group.
795 */
796 GroupName?: String;
797 /**
798 * The ARN of the group generated based on the GroupName.
799 */
800 GroupARN?: String;
801 /**
802 * The filter expression defining the parameters to include traces.
803 */
804 FilterExpression?: String;
805 }
806 export type GroupSummaryList = GroupSummary[];
807 export type HTTPMethod = string;
808 export type Histogram = HistogramEntry[];
809 export interface HistogramEntry {
810 /**
811 * The value of the entry.
812 */
813 Value?: Double;
814 /**
815 * The prevalence of the entry.
816 */
817 Count?: Integer;
818 }
819 export type Host = string;
820 export type Hostname = string;
821 export interface Http {
822 /**
823 * The request URL.
824 */
825 HttpURL?: String;
826 /**
827 * The response status.
828 */
829 HttpStatus?: NullableInteger;
830 /**
831 * The request method.
832 */
833 HttpMethod?: String;
834 /**
835 * The request's user agent string.
836 */
837 UserAgent?: String;
838 /**
839 * The IP address of the requestor.
840 */
841 ClientIp?: String;
842 }
843 export interface InstanceIdDetail {
844 /**
845 * The ID of a corresponding EC2 instance.
846 */
847 Id?: String;
848 }
849 export type Integer = number;
850 export type NullableBoolean = boolean;
851 export type NullableDouble = number;
852 export type NullableInteger = number;
853 export type NullableLong = number;
854 export type Priority = number;
855 export interface PutEncryptionConfigRequest {
856 /**
857 * An AWS KMS customer master key (CMK) in one of the following formats: Alias - The name of the key. For example, alias/MyKey. Key ID - The KMS key ID of the key. For example, ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. AWS X-Ray does not support asymmetric CMKs. ARN - The full Amazon Resource Name of the key ID or alias. For example, arn:aws:kms:us-east-2:123456789012:key/ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. Use this format to specify a key in a different account. Omit this key if you set Type to NONE.
858 */
859 KeyId?: EncryptionKeyId;
860 /**
861 * The type of encryption. Set to KMS to use your own key for encryption. Set to NONE for default encryption.
862 */
863 Type: EncryptionType;
864 }
865 export interface PutEncryptionConfigResult {
866 /**
867 * The new encryption configuration.
868 */
869 EncryptionConfig?: EncryptionConfig;
870 }
871 export interface PutTelemetryRecordsRequest {
872 /**
873 *
874 */
875 TelemetryRecords: TelemetryRecordList;
876 /**
877 *
878 */
879 EC2InstanceId?: EC2InstanceId;
880 /**
881 *
882 */
883 Hostname?: Hostname;
884 /**
885 *
886 */
887 ResourceARN?: ResourceARN;
888 }
889 export interface PutTelemetryRecordsResult {
890 }
891 export interface PutTraceSegmentsRequest {
892 /**
893 * A string containing a JSON document defining one or more segments or subsegments.
894 */
895 TraceSegmentDocuments: TraceSegmentDocumentList;
896 }
897 export interface PutTraceSegmentsResult {
898 /**
899 * Segments that failed processing.
900 */
901 UnprocessedTraceSegments?: UnprocessedTraceSegmentList;
902 }
903 export type RequestCount = number;
904 export type ReservoirSize = number;
905 export type ResourceARN = string;
906 export interface ResourceARNDetail {
907 /**
908 * The ARN of a corresponding resource.
909 */
910 ARN?: String;
911 }
912 export interface ResponseTimeRootCause {
913 /**
914 * A list of corresponding services. A service identifies a segment and contains a name, account ID, type, and inferred flag.
915 */
916 Services?: ResponseTimeRootCauseServices;
917 /**
918 * A flag that denotes that the root cause impacts the trace client.
919 */
920 ClientImpacting?: NullableBoolean;
921 }
922 export interface ResponseTimeRootCauseEntity {
923 /**
924 * The name of the entity.
925 */
926 Name?: String;
927 /**
928 * The types and messages of the exceptions.
929 */
930 Coverage?: NullableDouble;
931 /**
932 * A flag that denotes a remote subsegment.
933 */
934 Remote?: NullableBoolean;
935 }
936 export type ResponseTimeRootCauseEntityPath = ResponseTimeRootCauseEntity[];
937 export interface ResponseTimeRootCauseService {
938 /**
939 * The service name.
940 */
941 Name?: String;
942 /**
943 * A collection of associated service names.
944 */
945 Names?: ServiceNames;
946 /**
947 * The type associated to the service.
948 */
949 Type?: String;
950 /**
951 * The account ID associated to the service.
952 */
953 AccountId?: String;
954 /**
955 * The path of root cause entities found on the service.
956 */
957 EntityPath?: ResponseTimeRootCauseEntityPath;
958 /**
959 * A Boolean value indicating if the service is inferred from the trace.
960 */
961 Inferred?: NullableBoolean;
962 }
963 export type ResponseTimeRootCauseServices = ResponseTimeRootCauseService[];
964 export type ResponseTimeRootCauses = ResponseTimeRootCause[];
965 export interface RootCauseException {
966 /**
967 * The name of the exception.
968 */
969 Name?: String;
970 /**
971 * The message of the exception.
972 */
973 Message?: String;
974 }
975 export type RootCauseExceptions = RootCauseException[];
976 export type RuleName = string;
977 export type SampledCount = number;
978 export interface SamplingRule {
979 /**
980 * The name of the sampling rule. Specify a rule by either name or ARN, but not both.
981 */
982 RuleName?: RuleName;
983 /**
984 * The ARN of the sampling rule. Specify a rule by either name or ARN, but not both.
985 */
986 RuleARN?: String;
987 /**
988 * Matches the ARN of the AWS resource on which the service runs.
989 */
990 ResourceARN: ResourceARN;
991 /**
992 * The priority of the sampling rule.
993 */
994 Priority: Priority;
995 /**
996 * The percentage of matching requests to instrument, after the reservoir is exhausted.
997 */
998 FixedRate: FixedRate;
999 /**
1000 * A fixed number of matching requests to instrument per second, prior to applying the fixed rate. The reservoir is not used directly by services, but applies to all services using the rule collectively.
1001 */
1002 ReservoirSize: ReservoirSize;
1003 /**
1004 * Matches the name that the service uses to identify itself in segments.
1005 */
1006 ServiceName: ServiceName;
1007 /**
1008 * Matches the origin that the service uses to identify its type in segments.
1009 */
1010 ServiceType: ServiceType;
1011 /**
1012 * Matches the hostname from a request URL.
1013 */
1014 Host: Host;
1015 /**
1016 * Matches the HTTP method of a request.
1017 */
1018 HTTPMethod: HTTPMethod;
1019 /**
1020 * Matches the path from a request URL.
1021 */
1022 URLPath: URLPath;
1023 /**
1024 * The version of the sampling rule format (1).
1025 */
1026 Version: Version;
1027 /**
1028 * Matches attributes derived from the request.
1029 */
1030 Attributes?: AttributeMap;
1031 }
1032 export interface SamplingRuleRecord {
1033 /**
1034 * The sampling rule.
1035 */
1036 SamplingRule?: SamplingRule;
1037 /**
1038 * When the rule was created.
1039 */
1040 CreatedAt?: Timestamp;
1041 /**
1042 * When the rule was last modified.
1043 */
1044 ModifiedAt?: Timestamp;
1045 }
1046 export type SamplingRuleRecordList = SamplingRuleRecord[];
1047 export interface SamplingRuleUpdate {
1048 /**
1049 * The name of the sampling rule. Specify a rule by either name or ARN, but not both.
1050 */
1051 RuleName?: RuleName;
1052 /**
1053 * The ARN of the sampling rule. Specify a rule by either name or ARN, but not both.
1054 */
1055 RuleARN?: String;
1056 /**
1057 * Matches the ARN of the AWS resource on which the service runs.
1058 */
1059 ResourceARN?: ResourceARN;
1060 /**
1061 * The priority of the sampling rule.
1062 */
1063 Priority?: NullableInteger;
1064 /**
1065 * The percentage of matching requests to instrument, after the reservoir is exhausted.
1066 */
1067 FixedRate?: NullableDouble;
1068 /**
1069 * A fixed number of matching requests to instrument per second, prior to applying the fixed rate. The reservoir is not used directly by services, but applies to all services using the rule collectively.
1070 */
1071 ReservoirSize?: NullableInteger;
1072 /**
1073 * Matches the hostname from a request URL.
1074 */
1075 Host?: Host;
1076 /**
1077 * Matches the name that the service uses to identify itself in segments.
1078 */
1079 ServiceName?: ServiceName;
1080 /**
1081 * Matches the origin that the service uses to identify its type in segments.
1082 */
1083 ServiceType?: ServiceType;
1084 /**
1085 * Matches the HTTP method of a request.
1086 */
1087 HTTPMethod?: HTTPMethod;
1088 /**
1089 * Matches the path from a request URL.
1090 */
1091 URLPath?: URLPath;
1092 /**
1093 * Matches attributes derived from the request.
1094 */
1095 Attributes?: AttributeMap;
1096 }
1097 export interface SamplingStatisticSummary {
1098 /**
1099 * The name of the sampling rule.
1100 */
1101 RuleName?: String;
1102 /**
1103 * The start time of the reporting window.
1104 */
1105 Timestamp?: Timestamp;
1106 /**
1107 * The number of requests that matched the rule.
1108 */
1109 RequestCount?: Integer;
1110 /**
1111 * The number of requests recorded with borrowed reservoir quota.
1112 */
1113 BorrowCount?: Integer;
1114 /**
1115 * The number of requests recorded.
1116 */
1117 SampledCount?: Integer;
1118 }
1119 export type SamplingStatisticSummaryList = SamplingStatisticSummary[];
1120 export interface SamplingStatisticsDocument {
1121 /**
1122 * The name of the sampling rule.
1123 */
1124 RuleName: RuleName;
1125 /**
1126 * A unique identifier for the service in hexadecimal.
1127 */
1128 ClientID: ClientID;
1129 /**
1130 * The current time.
1131 */
1132 Timestamp: Timestamp;
1133 /**
1134 * The number of requests that matched the rule.
1135 */
1136 RequestCount: RequestCount;
1137 /**
1138 * The number of requests recorded.
1139 */
1140 SampledCount: SampledCount;
1141 /**
1142 * The number of requests recorded with borrowed reservoir quota.
1143 */
1144 BorrowCount?: BorrowCount;
1145 }
1146 export type SamplingStatisticsDocumentList = SamplingStatisticsDocument[];
1147 export interface SamplingStrategy {
1148 /**
1149 * The name of a sampling rule.
1150 */
1151 Name?: SamplingStrategyName;
1152 /**
1153 * The value of a sampling rule.
1154 */
1155 Value?: NullableDouble;
1156 }
1157 export type SamplingStrategyName = "PartialScan"|"FixedRate"|string;
1158 export interface SamplingTargetDocument {
1159 /**
1160 * The name of the sampling rule.
1161 */
1162 RuleName?: String;
1163 /**
1164 * The percentage of matching requests to instrument, after the reservoir is exhausted.
1165 */
1166 FixedRate?: Double;
1167 /**
1168 * The number of requests per second that X-Ray allocated this service.
1169 */
1170 ReservoirQuota?: NullableInteger;
1171 /**
1172 * When the reservoir quota expires.
1173 */
1174 ReservoirQuotaTTL?: Timestamp;
1175 /**
1176 * The number of seconds for the service to wait before getting sampling targets again.
1177 */
1178 Interval?: NullableInteger;
1179 }
1180 export type SamplingTargetDocumentList = SamplingTargetDocument[];
1181 export interface Segment {
1182 /**
1183 * The segment's ID.
1184 */
1185 Id?: SegmentId;
1186 /**
1187 * The segment document.
1188 */
1189 Document?: SegmentDocument;
1190 }
1191 export type SegmentDocument = string;
1192 export type SegmentId = string;
1193 export type SegmentList = Segment[];
1194 export interface Service {
1195 /**
1196 * Identifier for the service. Unique within the service map.
1197 */
1198 ReferenceId?: NullableInteger;
1199 /**
1200 * The canonical name of the service.
1201 */
1202 Name?: String;
1203 /**
1204 * A list of names for the service, including the canonical name.
1205 */
1206 Names?: ServiceNames;
1207 /**
1208 * Indicates that the service was the first service to process a request.
1209 */
1210 Root?: NullableBoolean;
1211 /**
1212 * Identifier of the AWS account in which the service runs.
1213 */
1214 AccountId?: String;
1215 /**
1216 * 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.
1217 */
1218 Type?: String;
1219 /**
1220 * The service's state.
1221 */
1222 State?: String;
1223 /**
1224 * The start time of the first segment that the service generated.
1225 */
1226 StartTime?: Timestamp;
1227 /**
1228 * The end time of the last segment that the service generated.
1229 */
1230 EndTime?: Timestamp;
1231 /**
1232 * Connections to downstream services.
1233 */
1234 Edges?: EdgeList;
1235 /**
1236 * Aggregated statistics for the service.
1237 */
1238 SummaryStatistics?: ServiceStatistics;
1239 /**
1240 * A histogram that maps the spread of service durations.
1241 */
1242 DurationHistogram?: Histogram;
1243 /**
1244 * A histogram that maps the spread of service response times.
1245 */
1246 ResponseTimeHistogram?: Histogram;
1247 }
1248 export interface ServiceId {
1249 /**
1250 *
1251 */
1252 Name?: String;
1253 /**
1254 *
1255 */
1256 Names?: ServiceNames;
1257 /**
1258 *
1259 */
1260 AccountId?: String;
1261 /**
1262 *
1263 */
1264 Type?: String;
1265 }
1266 export type ServiceIds = ServiceId[];
1267 export type ServiceList = Service[];
1268 export type ServiceName = string;
1269 export type ServiceNames = String[];
1270 export interface ServiceStatistics {
1271 /**
1272 * The number of requests that completed with a 2xx Success status code.
1273 */
1274 OkCount?: NullableLong;
1275 /**
1276 * Information about requests that failed with a 4xx Client Error status code.
1277 */
1278 ErrorStatistics?: ErrorStatistics;
1279 /**
1280 * Information about requests that failed with a 5xx Server Error status code.
1281 */
1282 FaultStatistics?: FaultStatistics;
1283 /**
1284 * The total number of completed requests.
1285 */
1286 TotalCount?: NullableLong;
1287 /**
1288 * The aggregate response time of completed requests.
1289 */
1290 TotalResponseTime?: NullableDouble;
1291 }
1292 export type ServiceType = string;
1293 export type String = string;
1294 export interface TelemetryRecord {
1295 /**
1296 *
1297 */
1298 Timestamp: Timestamp;
1299 /**
1300 *
1301 */
1302 SegmentsReceivedCount?: NullableInteger;
1303 /**
1304 *
1305 */
1306 SegmentsSentCount?: NullableInteger;
1307 /**
1308 *
1309 */
1310 SegmentsSpilloverCount?: NullableInteger;
1311 /**
1312 *
1313 */
1314 SegmentsRejectedCount?: NullableInteger;
1315 /**
1316 *
1317 */
1318 BackendConnectionErrors?: BackendConnectionErrors;
1319 }
1320 export type TelemetryRecordList = TelemetryRecord[];
1321 export type TimeRangeType = "TraceId"|"Event"|string;
1322 export interface TimeSeriesServiceStatistics {
1323 /**
1324 * Timestamp of the window for which statistics are aggregated.
1325 */
1326 Timestamp?: Timestamp;
1327 EdgeSummaryStatistics?: EdgeStatistics;
1328 ServiceSummaryStatistics?: ServiceStatistics;
1329 /**
1330 * The response time histogram for the selected entities.
1331 */
1332 ResponseTimeHistogram?: Histogram;
1333 }
1334 export type TimeSeriesServiceStatisticsList = TimeSeriesServiceStatistics[];
1335 export type Timestamp = Date;
1336 export interface Trace {
1337 /**
1338 * The unique identifier for the request that generated the trace's segments and subsegments.
1339 */
1340 Id?: TraceId;
1341 /**
1342 * The length of time in seconds between the start time of the root segment and the end time of the last segment that completed.
1343 */
1344 Duration?: NullableDouble;
1345 /**
1346 * Segment documents for the segments and subsegments that comprise the trace.
1347 */
1348 Segments?: SegmentList;
1349 }
1350 export type TraceAvailabilityZones = AvailabilityZoneDetail[];
1351 export type TraceId = string;
1352 export type TraceIdList = TraceId[];
1353 export type TraceInstanceIds = InstanceIdDetail[];
1354 export type TraceList = Trace[];
1355 export type TraceResourceARNs = ResourceARNDetail[];
1356 export type TraceSegmentDocument = string;
1357 export type TraceSegmentDocumentList = TraceSegmentDocument[];
1358 export interface TraceSummary {
1359 /**
1360 * The unique identifier for the request that generated the trace's segments and subsegments.
1361 */
1362 Id?: TraceId;
1363 /**
1364 * The length of time in seconds between the start time of the root segment and the end time of the last segment that completed.
1365 */
1366 Duration?: NullableDouble;
1367 /**
1368 * 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.
1369 */
1370 ResponseTime?: NullableDouble;
1371 /**
1372 * The root segment document has a 500 series error.
1373 */
1374 HasFault?: NullableBoolean;
1375 /**
1376 * The root segment document has a 400 series error.
1377 */
1378 HasError?: NullableBoolean;
1379 /**
1380 * One or more of the segment documents has a 429 throttling error.
1381 */
1382 HasThrottle?: NullableBoolean;
1383 /**
1384 * One or more of the segment documents is in progress.
1385 */
1386 IsPartial?: NullableBoolean;
1387 /**
1388 * Information about the HTTP request served by the trace.
1389 */
1390 Http?: Http;
1391 /**
1392 * Annotations from the trace's segment documents.
1393 */
1394 Annotations?: Annotations;
1395 /**
1396 * Users from the trace's segment documents.
1397 */
1398 Users?: TraceUsers;
1399 /**
1400 * Service IDs from the trace's segment documents.
1401 */
1402 ServiceIds?: ServiceIds;
1403 /**
1404 * A list of resource ARNs for any resource corresponding to the trace segments.
1405 */
1406 ResourceARNs?: TraceResourceARNs;
1407 /**
1408 * A list of EC2 instance IDs for any instance corresponding to the trace segments.
1409 */
1410 InstanceIds?: TraceInstanceIds;
1411 /**
1412 * A list of availability zones for any zone corresponding to the trace segments.
1413 */
1414 AvailabilityZones?: TraceAvailabilityZones;
1415 /**
1416 * The root of a trace.
1417 */
1418 EntryPoint?: ServiceId;
1419 /**
1420 * A collection of FaultRootCause structures corresponding to the the trace segments.
1421 */
1422 FaultRootCauses?: FaultRootCauses;
1423 /**
1424 * A collection of ErrorRootCause structures corresponding to the trace segments.
1425 */
1426 ErrorRootCauses?: ErrorRootCauses;
1427 /**
1428 * A collection of ResponseTimeRootCause structures corresponding to the trace segments.
1429 */
1430 ResponseTimeRootCauses?: ResponseTimeRootCauses;
1431 /**
1432 * The revision number of a trace.
1433 */
1434 Revision?: Integer;
1435 /**
1436 * The matched time stamp of a defined event.
1437 */
1438 MatchedEventTime?: Timestamp;
1439 }
1440 export type TraceSummaryList = TraceSummary[];
1441 export interface TraceUser {
1442 /**
1443 * The user's name.
1444 */
1445 UserName?: String;
1446 /**
1447 * Services that the user's request hit.
1448 */
1449 ServiceIds?: ServiceIds;
1450 }
1451 export type TraceUsers = TraceUser[];
1452 export type URLPath = string;
1453 export interface UnprocessedStatistics {
1454 /**
1455 * The name of the sampling rule.
1456 */
1457 RuleName?: String;
1458 /**
1459 * The error code.
1460 */
1461 ErrorCode?: String;
1462 /**
1463 * The error message.
1464 */
1465 Message?: String;
1466 }
1467 export type UnprocessedStatisticsList = UnprocessedStatistics[];
1468 export type UnprocessedTraceIdList = TraceId[];
1469 export interface UnprocessedTraceSegment {
1470 /**
1471 * The segment's ID.
1472 */
1473 Id?: String;
1474 /**
1475 * The error that caused processing to fail.
1476 */
1477 ErrorCode?: String;
1478 /**
1479 * The error message.
1480 */
1481 Message?: String;
1482 }
1483 export type UnprocessedTraceSegmentList = UnprocessedTraceSegment[];
1484 export interface UpdateGroupRequest {
1485 /**
1486 * The case-sensitive name of the group.
1487 */
1488 GroupName?: GroupName;
1489 /**
1490 * The ARN that was generated upon creation.
1491 */
1492 GroupARN?: GroupARN;
1493 /**
1494 * The updated filter expression defining criteria by which to group traces.
1495 */
1496 FilterExpression?: FilterExpression;
1497 }
1498 export interface UpdateGroupResult {
1499 /**
1500 * The group that was updated. Contains the name of the group that was updated, the ARN of the group that was updated, and the updated filter expression assigned to the group.
1501 */
1502 Group?: Group;
1503 }
1504 export interface UpdateSamplingRuleRequest {
1505 /**
1506 * The rule and fields to change.
1507 */
1508 SamplingRuleUpdate: SamplingRuleUpdate;
1509 }
1510 export interface UpdateSamplingRuleResult {
1511 /**
1512 * The updated rule definition and metadata.
1513 */
1514 SamplingRuleRecord?: SamplingRuleRecord;
1515 }
1516 export interface ValueWithServiceIds {
1517 /**
1518 * Values of the annotation.
1519 */
1520 AnnotationValue?: AnnotationValue;
1521 /**
1522 * Services to which the annotation applies.
1523 */
1524 ServiceIds?: ServiceIds;
1525 }
1526 export type ValuesWithServiceIds = ValueWithServiceIds[];
1527 export type Version = number;
1528 /**
1529 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
1530 */
1531 export type apiVersion = "2016-04-12"|"latest"|string;
1532 export interface ClientApiVersions {
1533 /**
1534 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
1535 */
1536 apiVersion?: apiVersion;
1537 }
1538 export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
1539 /**
1540 * Contains interfaces for use with the XRay client.
1541 */
1542 export import Types = XRay;
1543}
1544export = XRay;