Skip to content

Commit

Permalink
feat(client-application-signals): CloudWatch Application Signals now …
Browse files Browse the repository at this point in the history
…supports application logs correlation with traces and operational health metrics of applications running on EC2 instances. Users can view the most relevant telemetry to troubleshoot application health anomalies such as spikes in latency, errors, and availability.
  • Loading branch information
awstools committed Jul 25, 2024
1 parent 4a753d9 commit ef30775
Show file tree
Hide file tree
Showing 8 changed files with 143 additions and 42 deletions.
6 changes: 2 additions & 4 deletions clients/client-application-signals/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@

AWS SDK for JavaScript ApplicationSignals Client for Node.js, Browser and React Native.

<important>
<p>This is a Preview release of the Application Signals API Reference. Operations and parameters are subject to change before the general availability
release.</p>
</important>
<p>Use CloudWatch Application Signals for comprehensive observability of your cloud-based applications.
It enables real-time service health dashboards and helps you track long-term performance trends against your business goals.
The application-centric view provides you with unified visibility across your applications, services, and
Expand All @@ -27,6 +23,8 @@ ensuring optimal customer experience.</p>
<p>See a map of your application topology that Application Signals automatically discovers, that gives you a visual representation of your applications, dependencies, and their connectivity.</p>
</li>
</ul>
<p>Application Signals works with CloudWatch RUM, CloudWatch Synthetics canaries, and Amazon Web Services Service Catalog AppRegistry, to display your client pages, Synthetics canaries,
and application names within dashboards and maps.</p>

## Installing

Expand Down
8 changes: 3 additions & 5 deletions clients/client-application-signals/src/ApplicationSignals.ts
Original file line number Diff line number Diff line change
Expand Up @@ -322,11 +322,7 @@ export interface ApplicationSignals {
}

/**
* <important>
* <p>This is a Preview release of the Application Signals API Reference. Operations and parameters are subject to change before the general availability
* release.</p>
* </important>
* <p>Use CloudWatch Application Signals for comprehensive observability of your cloud-based applications.
* <p>Use CloudWatch Application Signals for comprehensive observability of your cloud-based applications.
* It enables real-time service health dashboards and helps you track long-term performance trends against your business goals.
* The application-centric view provides you with unified visibility across your applications, services, and
* dependencies, so you can proactively monitor and efficiently triage any issues that may arise,
Expand All @@ -343,6 +339,8 @@ export interface ApplicationSignals {
* <p>See a map of your application topology that Application Signals automatically discovers, that gives you a visual representation of your applications, dependencies, and their connectivity.</p>
* </li>
* </ul>
* <p>Application Signals works with CloudWatch RUM, CloudWatch Synthetics canaries, and Amazon Web Services Service Catalog AppRegistry, to display your client pages, Synthetics canaries,
* and application names within dashboards and maps.</p>
* @public
*/
export class ApplicationSignals extends ApplicationSignalsClient implements ApplicationSignals {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -321,11 +321,7 @@ export type ApplicationSignalsClientResolvedConfigType = __SmithyResolvedConfigu
export interface ApplicationSignalsClientResolvedConfig extends ApplicationSignalsClientResolvedConfigType {}

/**
* <important>
* <p>This is a Preview release of the Application Signals API Reference. Operations and parameters are subject to change before the general availability
* release.</p>
* </important>
* <p>Use CloudWatch Application Signals for comprehensive observability of your cloud-based applications.
* <p>Use CloudWatch Application Signals for comprehensive observability of your cloud-based applications.
* It enables real-time service health dashboards and helps you track long-term performance trends against your business goals.
* The application-centric view provides you with unified visibility across your applications, services, and
* dependencies, so you can proactively monitor and efficiently triage any issues that may arise,
Expand All @@ -342,6 +338,8 @@ export interface ApplicationSignalsClientResolvedConfig extends ApplicationSigna
* <p>See a map of your application topology that Application Signals automatically discovers, that gives you a visual representation of your applications, dependencies, and their connectivity.</p>
* </li>
* </ul>
* <p>Application Signals works with CloudWatch RUM, CloudWatch Synthetics canaries, and Amazon Web Services Service Catalog AppRegistry, to display your client pages, Synthetics canaries,
* and application names within dashboards and maps.</p>
* @public
*/
export class ApplicationSignalsClient extends __Client<
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,19 @@ export interface GetServiceCommandOutput extends GetServiceOutput, __MetadataBea
* // MetricName: "STRING_VALUE", // required
* // },
* // ],
* // LogGroupReferences: [ // LogGroupReferences
* // {
* // "<keys>": "STRING_VALUE",
* // },
* // ],
* // },
* // StartTime: new Date("TIMESTAMP"), // required
* // EndTime: new Date("TIMESTAMP"), // required
* // LogGroupReferences: [
* // {
* // "<keys>": "STRING_VALUE",
* // },
* // ],
* // };
*
* ```
Expand Down
8 changes: 3 additions & 5 deletions clients/client-application-signals/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
// smithy-typescript generated code
/* eslint-disable */
/**
* <important>
* <p>This is a Preview release of the Application Signals API Reference. Operations and parameters are subject to change before the general availability
* release.</p>
* </important>
* <p>Use CloudWatch Application Signals for comprehensive observability of your cloud-based applications.
* <p>Use CloudWatch Application Signals for comprehensive observability of your cloud-based applications.
* It enables real-time service health dashboards and helps you track long-term performance trends against your business goals.
* The application-centric view provides you with unified visibility across your applications, services, and
* dependencies, so you can proactively monitor and efficiently triage any issues that may arise,
Expand All @@ -22,6 +18,8 @@
* <p>See a map of your application topology that Application Signals automatically discovers, that gives you a visual representation of your applications, dependencies, and their connectivity.</p>
* </li>
* </ul>
* <p>Application Signals works with CloudWatch RUM, CloudWatch Synthetics canaries, and Amazon Web Services Service Catalog AppRegistry, to display your client pages, Synthetics canaries,
* and application names within dashboards and maps.</p>
*
* @packageDocumentation
*/
Expand Down
80 changes: 79 additions & 1 deletion clients/client-application-signals/src/models/models_0.ts
Original file line number Diff line number Diff line change
Expand Up @@ -736,6 +736,7 @@ export interface GetServiceInput {
* <p>The start of the time period to retrieve information about. When used in a raw HTTP Query API, it is formatted as
* be epoch time in seconds. For example: <code>1698778057</code>
* </p>
* <p>Your requested start time will be rounded to the nearest hour.</p>
* @public
*/
StartTime: Date | undefined;
Expand All @@ -744,6 +745,7 @@ export interface GetServiceInput {
* <p>The end of the time period to retrieve information about. When used in a raw HTTP Query API, it is formatted as
* be epoch time in seconds. For example: <code>1698778057</code>
* </p>
* <p>Your requested start time will be rounded to the nearest hour.</p>
* @public
*/
EndTime: Date | undefined;
Expand Down Expand Up @@ -937,6 +939,30 @@ export interface Service {
* @public
*/
MetricReferences: MetricReference[] | undefined;

/**
* <p>An array of string-to-string maps that each contain information about one log group associated with this service. Each
* string-to-string map includes the following fields:</p>
* <ul>
* <li>
* <p>
* <code>"Type": "AWS::Resource"</code>
* </p>
* </li>
* <li>
* <p>
* <code>"ResourceType": "AWS::Logs::LogGroup"</code>
* </p>
* </li>
* <li>
* <p>
* <code>"Identifier": "<i>name-of-log-group</i>"</code>
* </p>
* </li>
* </ul>
* @public
*/
LogGroupReferences?: Record<string, string>[];
}

/**
Expand All @@ -952,16 +978,44 @@ export interface GetServiceOutput {
/**
* <p>The start time of the data included in the response. In a raw HTTP Query API, it is formatted as
* be epoch time in seconds. For example: <code>1698778057</code>.</p>
* <p>This displays the time that Application Signals used for the request. It might not match your request exactly, because
* it was rounded to the nearest hour.</p>
* @public
*/
StartTime: Date | undefined;

/**
* <p>The end time of the data included in the response. In a raw HTTP Query API, it is formatted as
* be epoch time in seconds. For example: <code>1698778057</code>.</p>
* <p>This displays the time that Application Signals used for the request. It might not match your request exactly, because
* it was rounded to the nearest hour.</p>
* @public
*/
EndTime: Date | undefined;

/**
* <p>An array of string-to-string maps that each contain information about one log group associated with this service. Each
* string-to-string map includes the following fields:</p>
* <ul>
* <li>
* <p>
* <code>"Type": "AWS::Resource"</code>
* </p>
* </li>
* <li>
* <p>
* <code>"ResourceType": "AWS::Logs::LogGroup"</code>
* </p>
* </li>
* <li>
* <p>
* <code>"Identifier": "<i>name-of-log-group</i>"</code>
* </p>
* </li>
* </ul>
* @public
*/
LogGroupReferences?: Record<string, string>[];
}

/**
Expand All @@ -972,6 +1026,7 @@ export interface ListServiceDependenciesInput {
* <p>The start of the time period to retrieve information about. When used in a raw HTTP Query API, it is formatted as
* be epoch time in seconds. For example: <code>1698778057</code>
* </p>
* <p>Your requested start time will be rounded to the nearest hour.</p>
* @public
*/
StartTime: Date | undefined;
Expand All @@ -980,6 +1035,7 @@ export interface ListServiceDependenciesInput {
* <p>The end of the time period to retrieve information about. When used in a raw HTTP Query API, it is formatted as
* be epoch time in seconds. For example: <code>1698778057</code>
* </p>
* <p>Your requested end time will be rounded to the nearest hour.</p>
* @public
*/
EndTime: Date | undefined;
Expand Down Expand Up @@ -1101,6 +1157,8 @@ export interface ListServiceDependenciesOutput {
* <p>The start of the time period that the returned information applies to. When used in a raw HTTP Query API, it is formatted as
* be epoch time in seconds. For example: <code>1698778057</code>
* </p>
* <p>This displays the time that Application Signals used for the request. It might not match your request exactly, because
* it was rounded to the nearest hour.</p>
* @public
*/
StartTime: Date | undefined;
Expand All @@ -1109,6 +1167,8 @@ export interface ListServiceDependenciesOutput {
* <p>The end of the time period that the returned information applies to. When used in a raw HTTP Query API, it is formatted as
* be epoch time in seconds. For example: <code>1698778057</code>
* </p>
* <p>This displays the time that Application Signals used for the request. It might not match your request exactly, because
* it was rounded to the nearest hour.</p>
* @public
*/
EndTime: Date | undefined;
Expand All @@ -1135,6 +1195,7 @@ export interface ListServiceDependentsInput {
* <p>The start of the time period to retrieve information about. When used in a raw HTTP Query API, it is formatted as
* be epoch time in seconds. For example: <code>1698778057</code>
* </p>
* <p>Your requested start time will be rounded to the nearest hour.</p>
* @public
*/
StartTime: Date | undefined;
Expand All @@ -1143,6 +1204,7 @@ export interface ListServiceDependentsInput {
* <p>The end of the time period to retrieve information about. When used in a raw HTTP Query API, it is formatted as
* be epoch time in seconds. For example: <code>1698778057</code>
* </p>
* <p>Your requested start time will be rounded to the nearest hour.</p>
* @public
*/
EndTime: Date | undefined;
Expand Down Expand Up @@ -1266,6 +1328,8 @@ export interface ListServiceDependentsOutput {
* <p>The start of the time period that the returned information applies to. When used in a raw HTTP Query API, it is formatted as
* be epoch time in seconds. For example: <code>1698778057</code>
* </p>
* <p>This displays the time that Application Signals used for the request. It might not match your request exactly, because
* it was rounded to the nearest hour.</p>
* @public
*/
StartTime: Date | undefined;
Expand All @@ -1274,6 +1338,8 @@ export interface ListServiceDependentsOutput {
* <p>The end of the time period that the returned information applies to. When used in a raw HTTP Query API, it is formatted as
* be epoch time in seconds. For example: <code>1698778057</code>
* </p>
* <p>This displays the time that Application Signals used for the request. It might not match your request exactly, because
* it was rounded to the nearest hour.</p>
* @public
*/
EndTime: Date | undefined;
Expand All @@ -1300,6 +1366,7 @@ export interface ListServiceOperationsInput {
* <p>The start of the time period to retrieve information about. When used in a raw HTTP Query API, it is formatted as
* be epoch time in seconds. For example: <code>1698778057</code>
* </p>
* <p>Your requested start time will be rounded to the nearest hour.</p>
* @public
*/
StartTime: Date | undefined;
Expand All @@ -1308,6 +1375,7 @@ export interface ListServiceOperationsInput {
* <p>The end of the time period to retrieve information about. When used in a raw HTTP Query API, it is formatted as
* be epoch time in seconds. For example: <code>1698778057</code>
* </p>
* <p>Your requested end time will be rounded to the nearest hour.</p>
* @public
*/
EndTime: Date | undefined;
Expand Down Expand Up @@ -1392,6 +1460,8 @@ export interface ListServiceOperationsOutput {
* <p>The start of the time period that the returned information applies to. When used in a raw HTTP Query API, it is formatted as
* be epoch time in seconds. For example: <code>1698778057</code>
* </p>
* <p>This displays the time that Application Signals used for the request. It might not match your request exactly, because
* it was rounded to the nearest hour.</p>
* @public
*/
StartTime: Date | undefined;
Expand All @@ -1400,6 +1470,8 @@ export interface ListServiceOperationsOutput {
* <p>The end of the time period that the returned information applies to. When used in a raw HTTP Query API, it is formatted as
* be epoch time in seconds. For example: <code>1698778057</code>
* </p>
* <p>This displays the time that Application Signals used for the request. It might not match your request exactly, because
* it was rounded to the nearest hour.</p>
* @public
*/
EndTime: Date | undefined;
Expand All @@ -1426,6 +1498,7 @@ export interface ListServicesInput {
* <p>The start of the time period to retrieve information about. When used in a raw HTTP Query API, it is formatted as
* be epoch time in seconds. For example: <code>1698778057</code>
* </p>
* <p>Your requested start time will be rounded to the nearest hour.</p>
* @public
*/
StartTime: Date | undefined;
Expand All @@ -1434,6 +1507,7 @@ export interface ListServicesInput {
* <p>The end of the time period to retrieve information about. When used in a raw HTTP Query API, it is formatted as
* be epoch time in seconds. For example: <code>1698778057</code>
* </p>
* <p>Your requested start time will be rounded to the nearest hour.</p>
* @public
*/
EndTime: Date | undefined;
Expand Down Expand Up @@ -1587,6 +1661,8 @@ export interface ListServicesOutput {
* <p>The start of the time period that the returned information applies to. When used in a raw HTTP Query API, it is formatted as
* be epoch time in seconds. For example: <code>1698778057</code>
* </p>
* <p>This displays the time that Application Signals used for the request. It might not match your request exactly, because
* it was rounded to the nearest hour.</p>
* @public
*/
StartTime: Date | undefined;
Expand All @@ -1595,6 +1671,8 @@ export interface ListServicesOutput {
* <p>The end of the time period that the returned information applies to. When used in a raw HTTP Query API, it is formatted as
* be epoch time in seconds. For example: <code>1698778057</code>
* </p>
* <p>This displays the time that Application Signals used for the request. It might not match your request exactly, because
* it was rounded to the nearest hour.</p>
* @public
*/
EndTime: Date | undefined;
Expand Down Expand Up @@ -1677,7 +1755,7 @@ export class ResourceNotFoundException extends __BaseException {
ResourceType: string | undefined;

/**
* <p>Cannot find the resource id.</p>
* <p>Can't find the resource id.</p>
* @public
*/
ResourceId: string | undefined;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -522,6 +522,7 @@ export const de_GetServiceCommand = async (
const data: Record<string, any> = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
const doc = take(data, {
EndTime: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
LogGroupReferences: _json,
Service: _json,
StartTime: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
});
Expand Down Expand Up @@ -1032,6 +1033,8 @@ const de_Interval = (output: any, context: __SerdeContext): Interval => {
return { $unknown: Object.entries(output)[0] };
};

// de_LogGroupReferences omitted.

// de_Metric omitted.

// de_MetricDataQueries omitted.
Expand Down
Loading

0 comments on commit ef30775

Please sign in to comment.