Class CfnServiceLevelObjective
Creates or updates a service level objective (SLO), which can help you ensure that your critical business operations are meeting customer expectations.
Implements
Inherited Members
Namespace: Amazon.CDK.AWS.ApplicationSignals
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class CfnServiceLevelObjective : CfnResource, IInspectable, IServiceLevelObjectiveRef, IConstruct, IDependable, IEnvironmentAware, ITaggableV2
Syntax (vb)
Public Class CfnServiceLevelObjective Inherits CfnResource Implements IInspectable, IServiceLevelObjectiveRef, IConstruct, IDependable, IEnvironmentAware, ITaggableV2
Remarks
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 operation, or service dependency'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 . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.
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.
For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.
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 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:
You can easily set SLO targets for your applications, and their dependencies, 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.
You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
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.
For more information about SLOs, see Service level objectives (SLOs) .
CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.ApplicationSignals;
var cfnServiceLevelObjective = new CfnServiceLevelObjective(this, "MyCfnServiceLevelObjective", new CfnServiceLevelObjectiveProps {
Name = "name",
// the properties below are optional
BurnRateConfigurations = new [] { new BurnRateConfigurationProperty {
LookBackWindowMinutes = 123
} },
Description = "description",
ExclusionWindows = new [] { new ExclusionWindowProperty {
Window = new WindowProperty {
Duration = 123,
DurationUnit = "durationUnit"
},
// the properties below are optional
Reason = "reason",
RecurrenceRule = new RecurrenceRuleProperty {
Expression = "expression"
},
StartTime = "startTime"
} },
Goal = new GoalProperty {
AttainmentGoal = 123,
Interval = new IntervalProperty {
CalendarInterval = new CalendarIntervalProperty {
Duration = 123,
DurationUnit = "durationUnit",
StartTime = 123
},
RollingInterval = new RollingIntervalProperty {
Duration = 123,
DurationUnit = "durationUnit"
}
},
WarningThreshold = 123
},
RequestBasedSli = new RequestBasedSliProperty {
RequestBasedSliMetric = new RequestBasedSliMetricProperty {
DependencyConfig = new DependencyConfigProperty {
DependencyKeyAttributes = new Dictionary<string, string> {
{ "dependencyKeyAttributesKey", "dependencyKeyAttributes" }
},
DependencyOperationName = "dependencyOperationName"
},
KeyAttributes = new Dictionary<string, string> {
{ "keyAttributesKey", "keyAttributes" }
},
MetricType = "metricType",
MonitoredRequestCountMetric = new MonitoredRequestCountMetricProperty {
BadCountMetric = new [] { new MetricDataQueryProperty {
Id = "id",
// the properties below are optional
AccountId = "accountId",
Expression = "expression",
MetricStat = new MetricStatProperty {
Metric = new MetricProperty {
Dimensions = new [] { new DimensionProperty {
Name = "name",
Value = "value"
} },
MetricName = "metricName",
Namespace = "namespace"
},
Period = 123,
Stat = "stat",
// the properties below are optional
Unit = "unit"
},
ReturnData = false
} },
GoodCountMetric = new [] { new MetricDataQueryProperty {
Id = "id",
// the properties below are optional
AccountId = "accountId",
Expression = "expression",
MetricStat = new MetricStatProperty {
Metric = new MetricProperty {
Dimensions = new [] { new DimensionProperty {
Name = "name",
Value = "value"
} },
MetricName = "metricName",
Namespace = "namespace"
},
Period = 123,
Stat = "stat",
// the properties below are optional
Unit = "unit"
},
ReturnData = false
} }
},
OperationName = "operationName",
TotalRequestCountMetric = new [] { new MetricDataQueryProperty {
Id = "id",
// the properties below are optional
AccountId = "accountId",
Expression = "expression",
MetricStat = new MetricStatProperty {
Metric = new MetricProperty {
Dimensions = new [] { new DimensionProperty {
Name = "name",
Value = "value"
} },
MetricName = "metricName",
Namespace = "namespace"
},
Period = 123,
Stat = "stat",
// the properties below are optional
Unit = "unit"
},
ReturnData = false
} }
},
// the properties below are optional
ComparisonOperator = "comparisonOperator",
MetricThreshold = 123
},
Sli = new SliProperty {
ComparisonOperator = "comparisonOperator",
MetricThreshold = 123,
SliMetric = new SliMetricProperty {
DependencyConfig = new DependencyConfigProperty {
DependencyKeyAttributes = new Dictionary<string, string> {
{ "dependencyKeyAttributesKey", "dependencyKeyAttributes" }
},
DependencyOperationName = "dependencyOperationName"
},
KeyAttributes = new Dictionary<string, string> {
{ "keyAttributesKey", "keyAttributes" }
},
MetricDataQueries = new [] { new MetricDataQueryProperty {
Id = "id",
// the properties below are optional
AccountId = "accountId",
Expression = "expression",
MetricStat = new MetricStatProperty {
Metric = new MetricProperty {
Dimensions = new [] { new DimensionProperty {
Name = "name",
Value = "value"
} },
MetricName = "metricName",
Namespace = "namespace"
},
Period = 123,
Stat = "stat",
// the properties below are optional
Unit = "unit"
},
ReturnData = false
} },
MetricType = "metricType",
OperationName = "operationName",
PeriodSeconds = 123,
Statistic = "statistic"
}
},
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} }
});
Synopsis
Constructors
| CfnServiceLevelObjective(Construct, string, ICfnServiceLevelObjectiveProps) | Create a new |
Properties
| AttrArn | The ARN of this SLO. |
| AttrCreatedTime | The date and time that this SLO was created. |
| AttrEvaluationType | Displays whether this is a period-based SLO or a request-based SLO. |
| AttrLastUpdatedTime | The time that this SLO was most recently updated. |
| BurnRateConfigurations | Each object in this array defines the length of the look-back window used to calculate one burn rate metric for this SLO. |
| CFN_RESOURCE_TYPE_NAME | The CloudFormation resource type name for this resource class. |
| CdkTagManager | Tag Manager which manages the tags for this resource. |
| CfnProperties | Creates or updates a service level objective (SLO), which can help you ensure that your critical business operations are meeting customer expectations. |
| Description | An optional description for this SLO. |
| ExclusionWindows | The time window to be excluded from the SLO performance metrics. |
| Goal | This structure contains the attributes that determine the goal of an SLO. |
| Name | A name for this SLO. |
| RequestBasedSli | A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO. |
| ServiceLevelObjectiveRef | A reference to a ServiceLevelObjective resource. |
| Sli | A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO. |
| Tags | A list of key-value pairs to associate with the SLO. |
Methods
| ArnForServiceLevelObjective(IServiceLevelObjectiveRef) | Creates or updates a service level objective (SLO), which can help you ensure that your critical business operations are meeting customer expectations. |
| Inspect(TreeInspector) | Examines the CloudFormation resource and discloses attributes. |
| IsCfnServiceLevelObjective(object) | Checks whether the given object is a CfnServiceLevelObjective. |
| RenderProperties(IDictionary<string, object>) | Creates or updates a service level objective (SLO), which can help you ensure that your critical business operations are meeting customer expectations. |
Constructors
CfnServiceLevelObjective(Construct, string, ICfnServiceLevelObjectiveProps)
Create a new AWS::ApplicationSignals::ServiceLevelObjective.
public CfnServiceLevelObjective(Construct scope, string id, ICfnServiceLevelObjectiveProps props)
Parameters
- scope Construct
Scope in which this resource is defined.
- id string
Construct identifier for this resource (unique in its scope).
- props ICfnServiceLevelObjectiveProps
Resource properties.
Remarks
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 operation, or service dependency'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 . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.
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.
For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.
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 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:
You can easily set SLO targets for your applications, and their dependencies, 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.
You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
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.
For more information about SLOs, see Service level objectives (SLOs) .
CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective
ExampleMetadata: fixture=_generated
Properties
AttrArn
The ARN of this SLO.
public virtual string AttrArn { get; }
Property Value
Remarks
CloudformationAttribute: Arn
AttrCreatedTime
The date and time that this SLO was created.
public virtual double AttrCreatedTime { get; }
Property Value
Remarks
CloudformationAttribute: CreatedTime
AttrEvaluationType
Displays whether this is a period-based SLO or a request-based SLO.
public virtual string AttrEvaluationType { get; }
Property Value
Remarks
CloudformationAttribute: EvaluationType
AttrLastUpdatedTime
The time that this SLO was most recently updated.
public virtual double AttrLastUpdatedTime { get; }
Property Value
Remarks
CloudformationAttribute: LastUpdatedTime
BurnRateConfigurations
Each object in this array defines the length of the look-back window used to calculate one burn rate metric for this SLO.
public virtual object? BurnRateConfigurations { get; set; }
Property Value
Remarks
Type union: either IResolvable or (either IResolvable or CfnServiceLevelObjective.IBurnRateConfigurationProperty)[]
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
public static string CFN_RESOURCE_TYPE_NAME { get; }
Property Value
Remarks
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 operation, or service dependency'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 . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.
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.
For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.
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 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:
You can easily set SLO targets for your applications, and their dependencies, 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.
You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
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.
For more information about SLOs, see Service level objectives (SLOs) .
CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective
ExampleMetadata: fixture=_generated
CdkTagManager
Tag Manager which manages the tags for this resource.
public virtual TagManager CdkTagManager { get; }
Property Value
Remarks
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 operation, or service dependency'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 . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.
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.
For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.
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 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:
You can easily set SLO targets for your applications, and their dependencies, 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.
You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
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.
For more information about SLOs, see Service level objectives (SLOs) .
CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective
ExampleMetadata: fixture=_generated
CfnProperties
Creates or updates a service level objective (SLO), which can help you ensure that your critical business operations are meeting customer expectations.
protected override IDictionary<string, object> CfnProperties { get; }
Property Value
Overrides
Remarks
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 operation, or service dependency'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 . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.
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.
For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.
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 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:
You can easily set SLO targets for your applications, and their dependencies, 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.
You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
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.
For more information about SLOs, see Service level objectives (SLOs) .
CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective
ExampleMetadata: fixture=_generated
Description
An optional description for this SLO.
public virtual string? Description { get; set; }
Property Value
Remarks
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 operation, or service dependency'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 . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.
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.
For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.
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 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:
You can easily set SLO targets for your applications, and their dependencies, 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.
You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
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.
For more information about SLOs, see Service level objectives (SLOs) .
CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective
ExampleMetadata: fixture=_generated
ExclusionWindows
The time window to be excluded from the SLO performance metrics.
public virtual object? ExclusionWindows { get; set; }
Property Value
Remarks
Type union: either IResolvable or (either IResolvable or CfnServiceLevelObjective.IExclusionWindowProperty)[]
Goal
This structure contains the attributes that determine the goal of an SLO.
public virtual object? Goal { get; set; }
Property Value
Remarks
Type union: either IResolvable or CfnServiceLevelObjective.IGoalProperty
Name
A name for this SLO.
public virtual string Name { get; set; }
Property Value
Remarks
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 operation, or service dependency'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 . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.
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.
For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.
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 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:
You can easily set SLO targets for your applications, and their dependencies, 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.
You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
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.
For more information about SLOs, see Service level objectives (SLOs) .
CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective
ExampleMetadata: fixture=_generated
RequestBasedSli
A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO.
public virtual object? RequestBasedSli { get; set; }
Property Value
Remarks
Type union: either IResolvable or CfnServiceLevelObjective.IRequestBasedSliProperty
ServiceLevelObjectiveRef
A reference to a ServiceLevelObjective resource.
public virtual IServiceLevelObjectiveReference ServiceLevelObjectiveRef { get; }
Property Value
IServiceLevelObjectiveReference
Remarks
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 operation, or service dependency'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 . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.
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.
For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.
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 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:
You can easily set SLO targets for your applications, and their dependencies, 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.
You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
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.
For more information about SLOs, see Service level objectives (SLOs) .
CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective
ExampleMetadata: fixture=_generated
Sli
A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO.
public virtual object? Sli { get; set; }
Property Value
Remarks
Type union: either IResolvable or CfnServiceLevelObjective.ISliProperty
Tags
A list of key-value pairs to associate with the SLO.
public virtual ICfnTag[]? Tags { get; set; }
Property Value
ICfnTag[]
Remarks
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 operation, or service dependency'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 . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.
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.
For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.
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 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:
You can easily set SLO targets for your applications, and their dependencies, 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.
You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
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.
For more information about SLOs, see Service level objectives (SLOs) .
CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective
ExampleMetadata: fixture=_generated
Methods
ArnForServiceLevelObjective(IServiceLevelObjectiveRef)
Creates or updates a service level objective (SLO), which can help you ensure that your critical business operations are meeting customer expectations.
public static string ArnForServiceLevelObjective(IServiceLevelObjectiveRef resource)
Parameters
- resource IServiceLevelObjectiveRef
Returns
Remarks
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 operation, or service dependency'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 . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.
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.
For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.
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 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:
You can easily set SLO targets for your applications, and their dependencies, 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.
You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
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.
For more information about SLOs, see Service level objectives (SLOs) .
CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.ApplicationSignals;
var cfnServiceLevelObjective = new CfnServiceLevelObjective(this, "MyCfnServiceLevelObjective", new CfnServiceLevelObjectiveProps {
Name = "name",
// the properties below are optional
BurnRateConfigurations = new [] { new BurnRateConfigurationProperty {
LookBackWindowMinutes = 123
} },
Description = "description",
ExclusionWindows = new [] { new ExclusionWindowProperty {
Window = new WindowProperty {
Duration = 123,
DurationUnit = "durationUnit"
},
// the properties below are optional
Reason = "reason",
RecurrenceRule = new RecurrenceRuleProperty {
Expression = "expression"
},
StartTime = "startTime"
} },
Goal = new GoalProperty {
AttainmentGoal = 123,
Interval = new IntervalProperty {
CalendarInterval = new CalendarIntervalProperty {
Duration = 123,
DurationUnit = "durationUnit",
StartTime = 123
},
RollingInterval = new RollingIntervalProperty {
Duration = 123,
DurationUnit = "durationUnit"
}
},
WarningThreshold = 123
},
RequestBasedSli = new RequestBasedSliProperty {
RequestBasedSliMetric = new RequestBasedSliMetricProperty {
DependencyConfig = new DependencyConfigProperty {
DependencyKeyAttributes = new Dictionary<string, string> {
{ "dependencyKeyAttributesKey", "dependencyKeyAttributes" }
},
DependencyOperationName = "dependencyOperationName"
},
KeyAttributes = new Dictionary<string, string> {
{ "keyAttributesKey", "keyAttributes" }
},
MetricType = "metricType",
MonitoredRequestCountMetric = new MonitoredRequestCountMetricProperty {
BadCountMetric = new [] { new MetricDataQueryProperty {
Id = "id",
// the properties below are optional
AccountId = "accountId",
Expression = "expression",
MetricStat = new MetricStatProperty {
Metric = new MetricProperty {
Dimensions = new [] { new DimensionProperty {
Name = "name",
Value = "value"
} },
MetricName = "metricName",
Namespace = "namespace"
},
Period = 123,
Stat = "stat",
// the properties below are optional
Unit = "unit"
},
ReturnData = false
} },
GoodCountMetric = new [] { new MetricDataQueryProperty {
Id = "id",
// the properties below are optional
AccountId = "accountId",
Expression = "expression",
MetricStat = new MetricStatProperty {
Metric = new MetricProperty {
Dimensions = new [] { new DimensionProperty {
Name = "name",
Value = "value"
} },
MetricName = "metricName",
Namespace = "namespace"
},
Period = 123,
Stat = "stat",
// the properties below are optional
Unit = "unit"
},
ReturnData = false
} }
},
OperationName = "operationName",
TotalRequestCountMetric = new [] { new MetricDataQueryProperty {
Id = "id",
// the properties below are optional
AccountId = "accountId",
Expression = "expression",
MetricStat = new MetricStatProperty {
Metric = new MetricProperty {
Dimensions = new [] { new DimensionProperty {
Name = "name",
Value = "value"
} },
MetricName = "metricName",
Namespace = "namespace"
},
Period = 123,
Stat = "stat",
// the properties below are optional
Unit = "unit"
},
ReturnData = false
} }
},
// the properties below are optional
ComparisonOperator = "comparisonOperator",
MetricThreshold = 123
},
Sli = new SliProperty {
ComparisonOperator = "comparisonOperator",
MetricThreshold = 123,
SliMetric = new SliMetricProperty {
DependencyConfig = new DependencyConfigProperty {
DependencyKeyAttributes = new Dictionary<string, string> {
{ "dependencyKeyAttributesKey", "dependencyKeyAttributes" }
},
DependencyOperationName = "dependencyOperationName"
},
KeyAttributes = new Dictionary<string, string> {
{ "keyAttributesKey", "keyAttributes" }
},
MetricDataQueries = new [] { new MetricDataQueryProperty {
Id = "id",
// the properties below are optional
AccountId = "accountId",
Expression = "expression",
MetricStat = new MetricStatProperty {
Metric = new MetricProperty {
Dimensions = new [] { new DimensionProperty {
Name = "name",
Value = "value"
} },
MetricName = "metricName",
Namespace = "namespace"
},
Period = 123,
Stat = "stat",
// the properties below are optional
Unit = "unit"
},
ReturnData = false
} },
MetricType = "metricType",
OperationName = "operationName",
PeriodSeconds = 123,
Statistic = "statistic"
}
},
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} }
});
Inspect(TreeInspector)
Examines the CloudFormation resource and discloses attributes.
public virtual void Inspect(TreeInspector inspector)
Parameters
- inspector TreeInspector
tree inspector to collect and process attributes.
Remarks
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 operation, or service dependency'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 . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.
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.
For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.
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 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:
You can easily set SLO targets for your applications, and their dependencies, 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.
You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
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.
For more information about SLOs, see Service level objectives (SLOs) .
CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective
ExampleMetadata: fixture=_generated
IsCfnServiceLevelObjective(object)
Checks whether the given object is a CfnServiceLevelObjective.
public static bool IsCfnServiceLevelObjective(object x)
Parameters
- x object
Returns
Remarks
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 operation, or service dependency'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 . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.
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.
For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.
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 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:
You can easily set SLO targets for your applications, and their dependencies, 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.
You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
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.
For more information about SLOs, see Service level objectives (SLOs) .
CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective
ExampleMetadata: fixture=_generated
RenderProperties(IDictionary<string, object>)
Creates or updates a service level objective (SLO), which can help you ensure that your critical business operations are meeting customer expectations.
protected override IDictionary<string, object> RenderProperties(IDictionary<string, object> props)
Parameters
- props IDictionary<string, object>
Returns
Overrides
Remarks
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 operation, or service dependency'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 . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time 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.
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.
For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.
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 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:
You can easily set SLO targets for your applications, and their dependencies, 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.
You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
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.
For more information about SLOs, see Service level objectives (SLOs) .
CloudformationResource: AWS::ApplicationSignals::ServiceLevelObjective
ExampleMetadata: fixture=_generated