Application Signals

This page documents function available when using the Application_Signals module, created with @service Application_Signals.

Index

Documentation

Main.Application_Signals.batch_get_service_level_objective_budget_reportMethod
batch_get_service_level_objective_budget_report(slo_ids, timestamp)
batch_get_service_level_objective_budget_report(slo_ids, timestamp, params::Dict{String,<:Any})

Use 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.

Arguments

  • slo_ids: An array containing the IDs of the service level objectives that you want to include in the report.
  • timestamp: The date and time that you want the report to be for. It is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.
source
Main.Application_Signals.create_service_level_objectiveMethod
create_service_level_objective(name, sli_config)
create_service_level_objective(name, sli_config, params::Dict{String,<:Any})

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. 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).

Arguments

  • name: A name for this SLO.
  • sli_config: A structure that contains information about what service and what performance metric that this SLO will monitor.

Optional Parameters

Optional parameters can be passed as a params::Dict{String,<:Any}. Valid keys are:

  • "Description": An optional description for this SLO.
  • "Goal": A structure that contains the attributes that determine the goal of the SLO. This includes the time period for evaluation and the attainment threshold.
  • "Tags": A list of key-value pairs to associate with the SLO. You can associate as many as 50 tags with an SLO. To be able to associate tags with the SLO when you create the SLO, you must have the cloudwatch:TagResource permission. 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.
source
Main.Application_Signals.get_serviceMethod
get_service(end_time, key_attributes, start_time)
get_service(end_time, key_attributes, start_time, params::Dict{String,<:Any})

Returns information about a service discovered by Application Signals.

Arguments

  • end_time: 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: 1698778057
  • key_attributes: Use this field to specify which service you want to retrieve information for. You must specify at least the Type, Name, and Environment attributes. This is a string-to-string map. It can include the following fields. Type designates the type of object this is. ResourceType specifies the type of the resource. This field is used only when the value of the Type field is Resource or AWS::Resource. Name specifies the name of the object. This is used only if the value of the Type field is Service, RemoteService, or AWS::Service. Identifier identifies the resource objects of this resource. This is used only if the value of the Type field is Resource or AWS::Resource. Environment specifies the location where this object is hosted, or what it belongs to.
  • start_time: 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: 1698778057
source
Main.Application_Signals.get_service_level_objectiveMethod
get_service_level_objective(id)
get_service_level_objective(id, params::Dict{String,<:Any})

Returns information about one SLO created in the account.

Arguments

  • id: The ARN or name of the SLO that you want to retrieve information about. You can find the ARNs of SLOs by using the ListServiceLevelObjectives operation.
source
Main.Application_Signals.list_service_dependenciesMethod
list_service_dependencies(end_time, key_attributes, start_time)
list_service_dependencies(end_time, key_attributes, start_time, params::Dict{String,<:Any})

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.

Arguments

  • end_time: 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: 1698778057
  • key_attributes: Use this field to specify which service you want to retrieve information for. You must specify at least the Type, Name, and Environment attributes. This is a string-to-string map. It can include the following fields. Type designates the type of object this is. ResourceType specifies the type of the resource. This field is used only when the value of the Type field is Resource or AWS::Resource. Name specifies the name of the object. This is used only if the value of the Type field is Service, RemoteService, or AWS::Service. Identifier identifies the resource objects of this resource. This is used only if the value of the Type field is Resource or AWS::Resource. Environment specifies the location where this object is hosted, or what it belongs to.
  • start_time: 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: 1698778057

Optional Parameters

Optional parameters can be passed as a params::Dict{String,<:Any}. Valid keys are:

  • "MaxResults": The maximum number of results to return in one operation. If you omit this parameter, the default of 50 is used.
  • "NextToken": Include this value, if it was returned by the previous operation, to get the next set of service dependencies.
source
Main.Application_Signals.list_service_dependentsMethod
list_service_dependents(end_time, key_attributes, start_time)
list_service_dependents(end_time, key_attributes, start_time, params::Dict{String,<:Any})

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.

Arguments

  • end_time: 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: 1698778057
  • key_attributes: Use this field to specify which service you want to retrieve information for. You must specify at least the Type, Name, and Environment attributes. This is a string-to-string map. It can include the following fields. Type designates the type of object this is. ResourceType specifies the type of the resource. This field is used only when the value of the Type field is Resource or AWS::Resource. Name specifies the name of the object. This is used only if the value of the Type field is Service, RemoteService, or AWS::Service. Identifier identifies the resource objects of this resource. This is used only if the value of the Type field is Resource or AWS::Resource. Environment specifies the location where this object is hosted, or what it belongs to.
  • start_time: 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: 1698778057

Optional Parameters

Optional parameters can be passed as a params::Dict{String,<:Any}. Valid keys are:

  • "MaxResults": The maximum number of results to return in one operation. If you omit this parameter, the default of 50 is used.
  • "NextToken": Include this value, if it was returned by the previous operation, to get the next set of service dependents.
source
Main.Application_Signals.list_service_level_objectivesMethod
list_service_level_objectives()
list_service_level_objectives(params::Dict{String,<:Any})

Returns a list of SLOs created in this account.

Optional Parameters

Optional parameters can be passed as a params::Dict{String,<:Any}. Valid keys are:

  • "KeyAttributes": You can use this optional field to specify which services you want to retrieve SLO information for. This is a string-to-string map. It can include the following fields. Type designates the type of object this is. ResourceType specifies the type of the resource. This field is used only when the value of the Type field is Resource or AWS::Resource. Name specifies the name of the object. This is used only if the value of the Type field is Service, RemoteService, or AWS::Service. Identifier identifies the resource objects of this resource. This is used only if the value of the Type field is Resource or AWS::Resource. Environment specifies the location where this object is hosted, or what it belongs to.
  • "MaxResults": The maximum number of results to return in one operation. If you omit this parameter, the default of 50 is used.
  • "NextToken": Include this value, if it was returned by the previous operation, to get the next set of service level objectives.
  • "OperationName": The name of the operation that this SLO is associated with.
source
Main.Application_Signals.list_service_operationsMethod
list_service_operations(end_time, key_attributes, start_time)
list_service_operations(end_time, key_attributes, start_time, params::Dict{String,<:Any})

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.

Arguments

  • end_time: 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: 1698778057
  • key_attributes: Use this field to specify which service you want to retrieve information for. You must specify at least the Type, Name, and Environment attributes. This is a string-to-string map. It can include the following fields. Type designates the type of object this is. ResourceType specifies the type of the resource. This field is used only when the value of the Type field is Resource or AWS::Resource. Name specifies the name of the object. This is used only if the value of the Type field is Service, RemoteService, or AWS::Service. Identifier identifies the resource objects of this resource. This is used only if the value of the Type field is Resource or AWS::Resource. Environment specifies the location where this object is hosted, or what it belongs to.
  • start_time: 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: 1698778057

Optional Parameters

Optional parameters can be passed as a params::Dict{String,<:Any}. Valid keys are:

  • "MaxResults": The maximum number of results to return in one operation. If you omit this parameter, the default of 50 is used.
  • "NextToken": Include this value, if it was returned by the previous operation, to get the next set of service operations.
source
Main.Application_Signals.list_servicesMethod
list_services(end_time, start_time)
list_services(end_time, start_time, params::Dict{String,<:Any})

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.

Arguments

  • end_time: 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: 1698778057
  • start_time: 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: 1698778057

Optional Parameters

Optional parameters can be passed as a params::Dict{String,<:Any}. Valid keys are:

  • "MaxResults": The maximum number of results to return in one operation. If you omit this parameter, the default of 50 is used.
  • "NextToken": Include this value, if it was returned by the previous operation, to get the next set of services.
source
Main.Application_Signals.list_tags_for_resourceMethod
list_tags_for_resource(resource_arn)
list_tags_for_resource(resource_arn, params::Dict{String,<:Any})

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

Arguments

  • resource_arn: The Amazon Resource Name (ARN) of the CloudWatch resource that you want to view tags for. The ARN format of an Application Signals SLO is arn:aws:cloudwatch:Region:account-id:slo:slo-name For more information about ARN format, see Resource Types Defined by Amazon CloudWatch in the Amazon Web Services General Reference.
source
Main.Application_Signals.start_discoveryMethod
start_discovery()
start_discovery(params::Dict{String,<:Any})

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: 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.

source
Main.Application_Signals.tag_resourceMethod
tag_resource(resource_arn, tags)
tag_resource(resource_arn, tags, params::Dict{String,<:Any})

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.

Arguments

  • resource_arn: The Amazon Resource Name (ARN) of the CloudWatch resource that you want to set tags for. The ARN format of an Application Signals SLO is arn:aws:cloudwatch:Region:account-id:slo:slo-name For more information about ARN format, see Resource Types Defined by Amazon CloudWatch in the Amazon Web Services General Reference.
  • tags: The list of key-value pairs to associate with the alarm.
source
Main.Application_Signals.untag_resourceMethod
untag_resource(resource_arn, tag_keys)
untag_resource(resource_arn, tag_keys, params::Dict{String,<:Any})

Removes one or more tags from the specified resource.

Arguments

  • resource_arn: The Amazon Resource Name (ARN) of the CloudWatch resource that you want to delete tags from. The ARN format of an Application Signals SLO is arn:aws:cloudwatch:Region:account-id:slo:slo-name For more information about ARN format, see Resource Types Defined by Amazon CloudWatch in the Amazon Web Services General Reference.
  • tag_keys: The list of tag keys to remove from the resource.
source
Main.Application_Signals.update_service_level_objectiveMethod
update_service_level_objective(id)
update_service_level_objective(id, params::Dict{String,<:Any})

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

Arguments

  • id: The Amazon Resource Name (ARN) or name of the service level objective that you want to update.

Optional Parameters

Optional parameters can be passed as a params::Dict{String,<:Any}. Valid keys are:

  • "Description": An optional description for the SLO.
  • "Goal": A structure that contains the attributes that determine the goal of the SLO. This includes the time period for evaluation and the attainment threshold.
  • "SliConfig": A structure that contains information about what performance metric this SLO will monitor.
source