AWS.ApplicationSignals — AWS SDK for JavaScript (original) (raw)

We recommend that you migrate to AWS SDK for JavaScript v3. For dates, additional details, and information on how to migrate, please refer to the linked announcement.

Overview

Constructs a service interface object. Each API operation is exposed as a function on service.

Service Description

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, ensuring optimal customer experience.

Application Signals provides the following benefits:

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.

Sending a Request Using ApplicationSignals

var applicationsignals = new AWS.ApplicationSignals();
applicationsignals.batchGetServiceLevelObjectiveBudgetReport(params, function (err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Locking the API Version

In order to ensure that the ApplicationSignals object uses this specific API, you can construct the object by passing the apiVersion option to the constructor:

var applicationsignals = new AWS.ApplicationSignals({apiVersion: '2024-04-15'});

You can also set the API version globally in AWS.config.apiVersions using the applicationsignals service identifier:

AWS.config.apiVersions = {
  applicationsignals: '2024-04-15',
  // other service API versions
};

var applicationsignals = new AWS.ApplicationSignals();

Constructor Summarycollapse

Property Summarycollapse

Properties inherited from AWS.Service

apiVersions

Method Summarycollapse

Methods inherited from AWS.Service

makeRequest, makeUnauthenticatedRequest, waitFor, setupRequestListeners, defineService

Constructor Details

new AWS.ApplicationSignals(options = {}) ⇒ Object

Constructs a service object. This object has one method for each API operation.

Property Details

endpointAWS.Endpoint

Returns an Endpoint object representing the endpoint URL for service requests.

Method Details

batchGetServiceLevelObjectiveBudgetReport(params = {}, callback) ⇒ AWS.Request

Use this operation to retrieve one or more service level objective (SLO) budget reports.

An error budget is the amount of time or requests in an unhealthy state that your service can accumulate during an interval before your overall SLO budget health is breached and the SLO is considered to be unmet. For example, an SLO with a threshold of 99.95% and a monthly interval translates to an error budget of 21.9 minutes of downtime in a 30-day month.

Budget reports include a health indicator, the attainment value, and remaining budget.

For more information about SLO error budgets, see SLO concepts.

createServiceLevelObjective(params = {}, callback) ⇒ AWS.Request

Creates a service level objective (SLO), which can help you ensure that your critical business operations are meeting customer expectations. Use SLOs to set and track specific target levels for the reliability and availability of your applications and services. SLOs use service level indicators (SLIs) to calculate whether the application is performing at the level that you want.

Create an SLO to set a target for a service or operation’s availability or latency. CloudWatch measures this target frequently you can find whether it has been breached.

The target performance quality that is defined for an SLO is the attainment goal.

You can set SLO targets for your applications that are discovered by Application Signals, using critical metrics such as latency and availability. You can also set SLOs against any CloudWatch metric or math expression that produces a time series.

When you create an SLO, you specify whether it is a period-based SLO or a request-based SLO. Each type of SLO has a different way of evaluating your application's performance against its attainment goal.

After you have created an SLO, you can retrieve error budget reports for it. An error budget is the amount of time or amount of requests that your application can be non-compliant with the SLO's goal, and still have your application meet the goal.

For more information about SLOs, see Service level objectives (SLOs).

When you perform a CreateServiceLevelObjective operation, Application Signals creates the AWSServiceRoleForCloudWatchApplicationSignals service-linked role, if it doesn't already exist in your account. This service- linked role has the following permissions:

deleteServiceLevelObjective(params = {}, callback) ⇒ AWS.Request

Deletes the specified service level objective.

getService(params = {}, callback) ⇒ AWS.Request

Returns information about a service discovered by Application Signals.

getServiceLevelObjective(params = {}, callback) ⇒ AWS.Request

Returns information about one SLO created in the account.

listServiceDependencies(params = {}, callback) ⇒ AWS.Request

Returns a list of service dependencies of the service that you specify. A dependency is an infrastructure component that an operation of this service connects with. Dependencies can include Amazon Web Services services, Amazon Web Services resources, and third-party services.

listServiceDependents(params = {}, callback) ⇒ AWS.Request

Returns the list of dependents that invoked the specified service during the provided time range. Dependents include other services, CloudWatch Synthetics canaries, and clients that are instrumented with CloudWatch RUM app monitors.

listServiceLevelObjectives(params = {}, callback) ⇒ AWS.Request

Returns a list of SLOs created in this account.

listServiceOperations(params = {}, callback) ⇒ AWS.Request

Returns a list of the operations of this service that have been discovered by Application Signals. Only the operations that were invoked during the specified time range are returned.

listServices(params = {}, callback) ⇒ AWS.Request

Returns a list of services that have been discovered by Application Signals. A service represents a minimum logical and transactional unit that completes a business function. Services are discovered through Application Signals instrumentation.

listTagsForResource(params = {}, callback) ⇒ AWS.Request

Displays the tags associated with a CloudWatch resource. Tags can be assigned to service level objectives.

startDiscovery(params = {}, callback) ⇒ AWS.Request

Enables this Amazon Web Services account to be able to use CloudWatch Application Signals by creating the AWSServiceRoleForCloudWatchApplicationSignals service-linked role. This service- linked role has the following permissions:

After completing this step, you still need to instrument your Java and Python applications to send data to Application Signals. For more information, see Enabling Application Signals.

tagResource(params = {}, callback) ⇒ AWS.Request

Assigns one or more tags (key-value pairs) to the specified CloudWatch resource, such as a service level objective.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

Tags don't have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters.

You can use the TagResource action with an alarm that already has tags. If you specify a new tag key for the alarm, this tag is appended to the list of tags associated with the alarm. If you specify a tag key that is already associated with the alarm, the new tag value that you specify replaces the previous value for that tag.

You can associate as many as 50 tags with a CloudWatch resource.

untagResource(params = {}, callback) ⇒ AWS.Request

Removes one or more tags from the specified resource.

updateServiceLevelObjective(params = {}, callback) ⇒ AWS.Request

Updates an existing service level objective (SLO). If you omit parameters, the previous values of those parameters are retained.

You cannot change from a period-based SLO to a request-based SLO, or change from a request-based SLO to a period-based SLO.