Class: Google::Apis::MonitoringV3::ServiceLevelObjective
- Inherits:
-
Object
- Object
- Google::Apis::MonitoringV3::ServiceLevelObjective
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/monitoring_v3/classes.rb,
lib/google/apis/monitoring_v3/representations.rb,
lib/google/apis/monitoring_v3/representations.rb
Overview
A Service-Level Objective (SLO) describes a level of desired good service. It consists of a service-level indicator (SLI), a performance goal, and a period over which the objective is to be evaluated against that goal. The SLO can use SLIs defined in a number of different manners. Typical SLOs might include "99% of requests in each rolling week have latency below 200 milliseconds" or "99.5% of requests in each calendar month return successfully."
Instance Attribute Summary collapse
-
#calendar_period ⇒ String
A calendar period, semantically "since the start of the current ".
-
#display_name ⇒ String
Name used for UI elements listing this SLO.
-
#goal ⇒ Float
The fraction of service that must be good in order for this objective to be met.
-
#name ⇒ String
Resource name for this ServiceLevelObjective.
-
#rolling_period ⇒ String
A rolling time period, semantically "in the past ".
-
#service_level_indicator ⇒ Google::Apis::MonitoringV3::ServiceLevelIndicator
A Service-Level Indicator (SLI) describes the "performance" of a service.
Instance Method Summary collapse
-
#initialize(**args) ⇒ ServiceLevelObjective
constructor
A new instance of ServiceLevelObjective.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ ServiceLevelObjective
Returns a new instance of ServiceLevelObjective.
3452 3453 3454 |
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3452 def initialize(**args) update!(**args) end |
Instance Attribute Details
#calendar_period ⇒ String
A calendar period, semantically "since the start of the current ". At this
time, only DAY, WEEK, FORTNIGHT, and MONTH are supported.
Corresponds to the JSON property calendarPeriod
3411 3412 3413 |
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3411 def calendar_period @calendar_period end |
#display_name ⇒ String
Name used for UI elements listing this SLO.
Corresponds to the JSON property displayName
3416 3417 3418 |
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3416 def display_name @display_name end |
#goal ⇒ Float
The fraction of service that must be good in order for this objective to be
met. 0 < goal <= 0.999.
Corresponds to the JSON property goal
3422 3423 3424 |
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3422 def goal @goal end |
#name ⇒ String
Resource name for this ServiceLevelObjective. The format is: projects/[
PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
Corresponds to the JSON property name
3428 3429 3430 |
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3428 def name @name end |
#rolling_period ⇒ String
A rolling time period, semantically "in the past ". Must be an integer
multiple of 1 day no larger than 30 days.
Corresponds to the JSON property rollingPeriod
3434 3435 3436 |
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3434 def rolling_period @rolling_period end |
#service_level_indicator ⇒ Google::Apis::MonitoringV3::ServiceLevelIndicator
A Service-Level Indicator (SLI) describes the "performance" of a service. For
some services, the SLI is well-defined. In such cases, the SLI can be
described easily by referencing the well-known SLI and providing the needed
parameters. Alternatively, a "custom" SLI can be defined with a query to the
underlying metric store. An SLI is defined to be good_service / total_service
over any queried time interval. The value of performance always falls into the
range 0 <= performance <= 1. A custom SLI describes how to compute this ratio,
whether this is by dividing values from a pair of time series, cutting a
Distribution into good and bad counts, or counting time windows in which the
service complies with a criterion. For separation of concerns, a single
Service-Level Indicator measures performance for only one aspect of service
quality, such as fraction of successful queries or fast-enough queries.
Corresponds to the JSON property serviceLevelIndicator
3450 3451 3452 |
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3450 def service_level_indicator @service_level_indicator end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
3457 3458 3459 3460 3461 3462 3463 3464 |
# File 'lib/google/apis/monitoring_v3/classes.rb', line 3457 def update!(**args) @calendar_period = args[:calendar_period] if args.key?(:calendar_period) @display_name = args[:display_name] if args.key?(:display_name) @goal = args[:goal] if args.key?(:goal) @name = args[:name] if args.key?(:name) @rolling_period = args[:rolling_period] if args.key?(:rolling_period) @service_level_indicator = args[:service_level_indicator] if args.key?(:service_level_indicator) end |