@ThreadSafe @Generated(value="com.amazonaws:aws-java-sdk-code-generator") public class AmazonApplicationSignalsAsyncClient extends AmazonApplicationSignalsClient implements AmazonApplicationSignalsAsync
AsyncHandler can be
used to receive notification when an asynchronous operation completes.
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:
Automatically collect metrics and traces from your applications, and display key metrics such as call volume, availability, latency, faults, and errors.
Create and monitor service level objectives (SLOs).
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.
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.
LOGGING_AWS_REQUEST_METRICENDPOINT_PREFIXbatchGetServiceLevelObjectiveBudgetReport, builder, createServiceLevelObjective, deleteServiceLevelObjective, getCachedResponseMetadata, getService, getServiceLevelObjective, listServiceDependencies, listServiceDependents, listServiceLevelObjectives, listServiceOperations, listServices, listTagsForResource, startDiscovery, tagResource, untagResource, updateServiceLevelObjectiveaddRequestHandler, addRequestHandler, configureRegion, getClientConfiguration, getEndpointPrefix, getMonitoringListeners, getRequestMetricsCollector, getServiceName, getSignerByURI, getSignerOverride, getSignerRegionOverride, getTimeOffset, makeImmutable, removeRequestHandler, removeRequestHandler, setEndpoint, setEndpoint, setRegion, setServiceNameIntern, setSignerRegionOverride, setTimeOffset, withEndpoint, withRegion, withRegion, withTimeOffsetequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitbatchGetServiceLevelObjectiveBudgetReport, createServiceLevelObjective, deleteServiceLevelObjective, getCachedResponseMetadata, getService, getServiceLevelObjective, listServiceDependencies, listServiceDependents, listServiceLevelObjectives, listServiceOperations, listServices, listTagsForResource, startDiscovery, tagResource, untagResource, updateServiceLevelObjectivepublic static AmazonApplicationSignalsAsyncClientBuilder asyncBuilder()
public ExecutorService getExecutorService()
public Future<BatchGetServiceLevelObjectiveBudgetReportResult> batchGetServiceLevelObjectiveBudgetReportAsync(BatchGetServiceLevelObjectiveBudgetReportRequest request)
AmazonApplicationSignalsAsyncUse this operation to retrieve one or more service level objective (SLO) budget reports.
An error budget is the amount of time in unhealthy periods 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.
batchGetServiceLevelObjectiveBudgetReportAsync in interface AmazonApplicationSignalsAsyncpublic Future<BatchGetServiceLevelObjectiveBudgetReportResult> batchGetServiceLevelObjectiveBudgetReportAsync(BatchGetServiceLevelObjectiveBudgetReportRequest request, AsyncHandler<BatchGetServiceLevelObjectiveBudgetReportRequest,BatchGetServiceLevelObjectiveBudgetReportResult> asyncHandler)
AmazonApplicationSignalsAsyncUse this operation to retrieve one or more service level objective (SLO) budget reports.
An error budget is the amount of time in unhealthy periods 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.
batchGetServiceLevelObjectiveBudgetReportAsync in interface AmazonApplicationSignalsAsyncasyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
implementation of the callback methods in this interface to receive notification of successful or
unsuccessful completion of the operation.public Future<CreateServiceLevelObjectiveResult> createServiceLevelObjectiveAsync(CreateServiceLevelObjectiveRequest request)
AmazonApplicationSignalsAsyncCreates 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.
When you create an SLO, you set an attainment goal for it. An attainment goal is the ratio of good periods that meet the threshold requirements to the total periods within the interval. For example, an attainment goal of 99.9% means that within your interval, you are targeting 99.9% of the periods to be in healthy state.
After you have created an SLO, you can retrieve error budget reports for it. An error budget is the number of periods or amount of time 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 that 99.95% of requests must be completed under 2000ms every month translates to an error budget of 21.9 minutes of downtime per month.
When you call this 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:
xray:GetServiceGraph
logs:StartQuery
logs:GetQueryResults
cloudwatch:GetMetricData
cloudwatch:ListMetrics
tag:GetResources
autoscaling:DescribeAutoScalingGroups
You can easily 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.
For more information about SLOs, see Service level objectives (SLOs).
createServiceLevelObjectiveAsync in interface AmazonApplicationSignalsAsyncpublic Future<CreateServiceLevelObjectiveResult> createServiceLevelObjectiveAsync(CreateServiceLevelObjectiveRequest request, AsyncHandler<CreateServiceLevelObjectiveRequest,CreateServiceLevelObjectiveResult> asyncHandler)
AmazonApplicationSignalsAsyncCreates 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.
When you create an SLO, you set an attainment goal for it. An attainment goal is the ratio of good periods that meet the threshold requirements to the total periods within the interval. For example, an attainment goal of 99.9% means that within your interval, you are targeting 99.9% of the periods to be in healthy state.
After you have created an SLO, you can retrieve error budget reports for it. An error budget is the number of periods or amount of time 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 that 99.95% of requests must be completed under 2000ms every month translates to an error budget of 21.9 minutes of downtime per month.
When you call this 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:
xray:GetServiceGraph
logs:StartQuery
logs:GetQueryResults
cloudwatch:GetMetricData
cloudwatch:ListMetrics
tag:GetResources
autoscaling:DescribeAutoScalingGroups
You can easily 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.
For more information about SLOs, see Service level objectives (SLOs).
createServiceLevelObjectiveAsync in interface AmazonApplicationSignalsAsyncasyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
implementation of the callback methods in this interface to receive notification of successful or
unsuccessful completion of the operation.public Future<DeleteServiceLevelObjectiveResult> deleteServiceLevelObjectiveAsync(DeleteServiceLevelObjectiveRequest request)
AmazonApplicationSignalsAsyncDeletes the specified service level objective.
deleteServiceLevelObjectiveAsync in interface AmazonApplicationSignalsAsyncpublic Future<DeleteServiceLevelObjectiveResult> deleteServiceLevelObjectiveAsync(DeleteServiceLevelObjectiveRequest request, AsyncHandler<DeleteServiceLevelObjectiveRequest,DeleteServiceLevelObjectiveResult> asyncHandler)
AmazonApplicationSignalsAsyncDeletes the specified service level objective.
deleteServiceLevelObjectiveAsync in interface AmazonApplicationSignalsAsyncasyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
implementation of the callback methods in this interface to receive notification of successful or
unsuccessful completion of the operation.public Future<GetServiceResult> getServiceAsync(GetServiceRequest request)
AmazonApplicationSignalsAsyncReturns information about a service discovered by Application Signals.
getServiceAsync in interface AmazonApplicationSignalsAsyncpublic Future<GetServiceResult> getServiceAsync(GetServiceRequest request, AsyncHandler<GetServiceRequest,GetServiceResult> asyncHandler)
AmazonApplicationSignalsAsyncReturns information about a service discovered by Application Signals.
getServiceAsync in interface AmazonApplicationSignalsAsyncasyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
implementation of the callback methods in this interface to receive notification of successful or
unsuccessful completion of the operation.public Future<GetServiceLevelObjectiveResult> getServiceLevelObjectiveAsync(GetServiceLevelObjectiveRequest request)
AmazonApplicationSignalsAsyncReturns information about one SLO created in the account.
getServiceLevelObjectiveAsync in interface AmazonApplicationSignalsAsyncpublic Future<GetServiceLevelObjectiveResult> getServiceLevelObjectiveAsync(GetServiceLevelObjectiveRequest request, AsyncHandler<GetServiceLevelObjectiveRequest,GetServiceLevelObjectiveResult> asyncHandler)
AmazonApplicationSignalsAsyncReturns information about one SLO created in the account.
getServiceLevelObjectiveAsync in interface AmazonApplicationSignalsAsyncasyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
implementation of the callback methods in this interface to receive notification of successful or
unsuccessful completion of the operation.public Future<ListServiceDependenciesResult> listServiceDependenciesAsync(ListServiceDependenciesRequest request)
AmazonApplicationSignalsAsyncReturns 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.
listServiceDependenciesAsync in interface AmazonApplicationSignalsAsyncpublic Future<ListServiceDependenciesResult> listServiceDependenciesAsync(ListServiceDependenciesRequest request, AsyncHandler<ListServiceDependenciesRequest,ListServiceDependenciesResult> asyncHandler)
AmazonApplicationSignalsAsyncReturns 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.
listServiceDependenciesAsync in interface AmazonApplicationSignalsAsyncasyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
implementation of the callback methods in this interface to receive notification of successful or
unsuccessful completion of the operation.public Future<ListServiceDependentsResult> listServiceDependentsAsync(ListServiceDependentsRequest request)
AmazonApplicationSignalsAsyncReturns 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.
listServiceDependentsAsync in interface AmazonApplicationSignalsAsyncpublic Future<ListServiceDependentsResult> listServiceDependentsAsync(ListServiceDependentsRequest request, AsyncHandler<ListServiceDependentsRequest,ListServiceDependentsResult> asyncHandler)
AmazonApplicationSignalsAsyncReturns 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.
listServiceDependentsAsync in interface AmazonApplicationSignalsAsyncasyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
implementation of the callback methods in this interface to receive notification of successful or
unsuccessful completion of the operation.public Future<ListServiceLevelObjectivesResult> listServiceLevelObjectivesAsync(ListServiceLevelObjectivesRequest request)
AmazonApplicationSignalsAsyncReturns a list of SLOs created in this account.
listServiceLevelObjectivesAsync in interface AmazonApplicationSignalsAsyncpublic Future<ListServiceLevelObjectivesResult> listServiceLevelObjectivesAsync(ListServiceLevelObjectivesRequest request, AsyncHandler<ListServiceLevelObjectivesRequest,ListServiceLevelObjectivesResult> asyncHandler)
AmazonApplicationSignalsAsyncReturns a list of SLOs created in this account.
listServiceLevelObjectivesAsync in interface AmazonApplicationSignalsAsyncasyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
implementation of the callback methods in this interface to receive notification of successful or
unsuccessful completion of the operation.public Future<ListServiceOperationsResult> listServiceOperationsAsync(ListServiceOperationsRequest request)
AmazonApplicationSignalsAsyncReturns 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.
listServiceOperationsAsync in interface AmazonApplicationSignalsAsyncpublic Future<ListServiceOperationsResult> listServiceOperationsAsync(ListServiceOperationsRequest request, AsyncHandler<ListServiceOperationsRequest,ListServiceOperationsResult> asyncHandler)
AmazonApplicationSignalsAsyncReturns 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.
listServiceOperationsAsync in interface AmazonApplicationSignalsAsyncasyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
implementation of the callback methods in this interface to receive notification of successful or
unsuccessful completion of the operation.public Future<ListServicesResult> listServicesAsync(ListServicesRequest request)
AmazonApplicationSignalsAsyncReturns 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.
listServicesAsync in interface AmazonApplicationSignalsAsyncpublic Future<ListServicesResult> listServicesAsync(ListServicesRequest request, AsyncHandler<ListServicesRequest,ListServicesResult> asyncHandler)
AmazonApplicationSignalsAsyncReturns 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.
listServicesAsync in interface AmazonApplicationSignalsAsyncasyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
implementation of the callback methods in this interface to receive notification of successful or
unsuccessful completion of the operation.public Future<ListTagsForResourceResult> listTagsForResourceAsync(ListTagsForResourceRequest request)
AmazonApplicationSignalsAsyncDisplays the tags associated with a CloudWatch resource. Tags can be assigned to service level objectives.
listTagsForResourceAsync in interface AmazonApplicationSignalsAsyncpublic Future<ListTagsForResourceResult> listTagsForResourceAsync(ListTagsForResourceRequest request, AsyncHandler<ListTagsForResourceRequest,ListTagsForResourceResult> asyncHandler)
AmazonApplicationSignalsAsyncDisplays the tags associated with a CloudWatch resource. Tags can be assigned to service level objectives.
listTagsForResourceAsync in interface AmazonApplicationSignalsAsyncasyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
implementation of the callback methods in this interface to receive notification of successful or
unsuccessful completion of the operation.public Future<StartDiscoveryResult> startDiscoveryAsync(StartDiscoveryRequest request)
AmazonApplicationSignalsAsyncEnables 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:
xray:GetServiceGraph
logs:StartQuery
logs:GetQueryResults
cloudwatch:GetMetricData
cloudwatch:ListMetrics
tag:GetResources
autoscaling:DescribeAutoScalingGroups
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.
startDiscoveryAsync in interface AmazonApplicationSignalsAsyncpublic Future<StartDiscoveryResult> startDiscoveryAsync(StartDiscoveryRequest request, AsyncHandler<StartDiscoveryRequest,StartDiscoveryResult> asyncHandler)
AmazonApplicationSignalsAsyncEnables 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:
xray:GetServiceGraph
logs:StartQuery
logs:GetQueryResults
cloudwatch:GetMetricData
cloudwatch:ListMetrics
tag:GetResources
autoscaling:DescribeAutoScalingGroups
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.
startDiscoveryAsync in interface AmazonApplicationSignalsAsyncasyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
implementation of the callback methods in this interface to receive notification of successful or
unsuccessful completion of the operation.public Future<TagResourceResult> tagResourceAsync(TagResourceRequest request)
AmazonApplicationSignalsAsyncAssigns 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.
tagResourceAsync in interface AmazonApplicationSignalsAsyncpublic Future<TagResourceResult> tagResourceAsync(TagResourceRequest request, AsyncHandler<TagResourceRequest,TagResourceResult> asyncHandler)
AmazonApplicationSignalsAsyncAssigns 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.
tagResourceAsync in interface AmazonApplicationSignalsAsyncasyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
implementation of the callback methods in this interface to receive notification of successful or
unsuccessful completion of the operation.public Future<UntagResourceResult> untagResourceAsync(UntagResourceRequest request)
AmazonApplicationSignalsAsyncRemoves one or more tags from the specified resource.
untagResourceAsync in interface AmazonApplicationSignalsAsyncpublic Future<UntagResourceResult> untagResourceAsync(UntagResourceRequest request, AsyncHandler<UntagResourceRequest,UntagResourceResult> asyncHandler)
AmazonApplicationSignalsAsyncRemoves one or more tags from the specified resource.
untagResourceAsync in interface AmazonApplicationSignalsAsyncasyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
implementation of the callback methods in this interface to receive notification of successful or
unsuccessful completion of the operation.public Future<UpdateServiceLevelObjectiveResult> updateServiceLevelObjectiveAsync(UpdateServiceLevelObjectiveRequest request)
AmazonApplicationSignalsAsyncUpdates an existing service level objective (SLO). If you omit parameters, the previous values of those parameters are retained.
updateServiceLevelObjectiveAsync in interface AmazonApplicationSignalsAsyncpublic Future<UpdateServiceLevelObjectiveResult> updateServiceLevelObjectiveAsync(UpdateServiceLevelObjectiveRequest request, AsyncHandler<UpdateServiceLevelObjectiveRequest,UpdateServiceLevelObjectiveResult> asyncHandler)
AmazonApplicationSignalsAsyncUpdates an existing service level objective (SLO). If you omit parameters, the previous values of those parameters are retained.
updateServiceLevelObjectiveAsync in interface AmazonApplicationSignalsAsyncasyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
implementation of the callback methods in this interface to receive notification of successful or
unsuccessful completion of the operation.public void shutdown()
getExecutorService().shutdown() followed by getExecutorService().awaitTermination() prior to
calling this method.shutdown in interface AmazonApplicationSignalsshutdown in class AmazonApplicationSignalsClient