Class ServiceLevelObjective

  • All Implemented Interfaces:
    ServiceLevelObjectiveOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

    public final class ServiceLevelObjective
    extends com.google.protobuf.GeneratedMessageV3
    implements ServiceLevelObjectiveOrBuilder
     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."
     
    Protobuf type google.monitoring.v3.ServiceLevelObjective
    See Also:
    Serialized Form
    • Field Detail

      • DISPLAY_NAME_FIELD_NUMBER

        public static final int DISPLAY_NAME_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SERVICE_LEVEL_INDICATOR_FIELD_NUMBER

        public static final int SERVICE_LEVEL_INDICATOR_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ROLLING_PERIOD_FIELD_NUMBER

        public static final int ROLLING_PERIOD_FIELD_NUMBER
        See Also:
        Constant Field Values
      • CALENDAR_PERIOD_FIELD_NUMBER

        public static final int CALENDAR_PERIOD_FIELD_NUMBER
        See Also:
        Constant Field Values
      • USER_LABELS_FIELD_NUMBER

        public static final int USER_LABELS_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetMapField

        protected com.google.protobuf.MapField internalGetMapField​(int number)
        Overrides:
        internalGetMapField in class com.google.protobuf.GeneratedMessageV3
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getName

        public String getName()
         Resource name for this `ServiceLevelObjective`. The format is:
        
             projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
         
        string name = 1;
        Specified by:
        getName in interface ServiceLevelObjectiveOrBuilder
        Returns:
        The name.
      • getNameBytes

        public com.google.protobuf.ByteString getNameBytes()
         Resource name for this `ServiceLevelObjective`. The format is:
        
             projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
         
        string name = 1;
        Specified by:
        getNameBytes in interface ServiceLevelObjectiveOrBuilder
        Returns:
        The bytes for name.
      • getDisplayNameBytes

        public com.google.protobuf.ByteString getDisplayNameBytes()
         Name used for UI elements listing this SLO.
         
        string display_name = 11;
        Specified by:
        getDisplayNameBytes in interface ServiceLevelObjectiveOrBuilder
        Returns:
        The bytes for displayName.
      • hasServiceLevelIndicator

        public boolean hasServiceLevelIndicator()
         The definition of good service, used to measure and calculate the quality
         of the `Service`'s performance with respect to a single aspect of service
         quality.
         
        .google.monitoring.v3.ServiceLevelIndicator service_level_indicator = 3;
        Specified by:
        hasServiceLevelIndicator in interface ServiceLevelObjectiveOrBuilder
        Returns:
        Whether the serviceLevelIndicator field is set.
      • getServiceLevelIndicator

        public ServiceLevelIndicator getServiceLevelIndicator()
         The definition of good service, used to measure and calculate the quality
         of the `Service`'s performance with respect to a single aspect of service
         quality.
         
        .google.monitoring.v3.ServiceLevelIndicator service_level_indicator = 3;
        Specified by:
        getServiceLevelIndicator in interface ServiceLevelObjectiveOrBuilder
        Returns:
        The serviceLevelIndicator.
      • getGoal

        public double getGoal()
         The fraction of service that must be good in order for this objective to be
         met. `0 < goal <= 0.999`.
         
        double goal = 4;
        Specified by:
        getGoal in interface ServiceLevelObjectiveOrBuilder
        Returns:
        The goal.
      • hasRollingPeriod

        public boolean hasRollingPeriod()
         A rolling time period, semantically "in the past `<rolling_period>`".
         Must be an integer multiple of 1 day no larger than 30 days.
         
        .google.protobuf.Duration rolling_period = 5;
        Specified by:
        hasRollingPeriod in interface ServiceLevelObjectiveOrBuilder
        Returns:
        Whether the rollingPeriod field is set.
      • getRollingPeriod

        public com.google.protobuf.Duration getRollingPeriod()
         A rolling time period, semantically "in the past `<rolling_period>`".
         Must be an integer multiple of 1 day no larger than 30 days.
         
        .google.protobuf.Duration rolling_period = 5;
        Specified by:
        getRollingPeriod in interface ServiceLevelObjectiveOrBuilder
        Returns:
        The rollingPeriod.
      • getRollingPeriodOrBuilder

        public com.google.protobuf.DurationOrBuilder getRollingPeriodOrBuilder()
         A rolling time period, semantically "in the past `<rolling_period>`".
         Must be an integer multiple of 1 day no larger than 30 days.
         
        .google.protobuf.Duration rolling_period = 5;
        Specified by:
        getRollingPeriodOrBuilder in interface ServiceLevelObjectiveOrBuilder
      • hasCalendarPeriod

        public boolean hasCalendarPeriod()
         A calendar period, semantically "since the start of the current
         `<calendar_period>`". At this time, only `DAY`, `WEEK`, `FORTNIGHT`, and
         `MONTH` are supported.
         
        .google.type.CalendarPeriod calendar_period = 6;
        Specified by:
        hasCalendarPeriod in interface ServiceLevelObjectiveOrBuilder
        Returns:
        Whether the calendarPeriod field is set.
      • getCalendarPeriodValue

        public int getCalendarPeriodValue()
         A calendar period, semantically "since the start of the current
         `<calendar_period>`". At this time, only `DAY`, `WEEK`, `FORTNIGHT`, and
         `MONTH` are supported.
         
        .google.type.CalendarPeriod calendar_period = 6;
        Specified by:
        getCalendarPeriodValue in interface ServiceLevelObjectiveOrBuilder
        Returns:
        The enum numeric value on the wire for calendarPeriod.
      • getCalendarPeriod

        public com.google.type.CalendarPeriod getCalendarPeriod()
         A calendar period, semantically "since the start of the current
         `<calendar_period>`". At this time, only `DAY`, `WEEK`, `FORTNIGHT`, and
         `MONTH` are supported.
         
        .google.type.CalendarPeriod calendar_period = 6;
        Specified by:
        getCalendarPeriod in interface ServiceLevelObjectiveOrBuilder
        Returns:
        The calendarPeriod.
      • getUserLabelsCount

        public int getUserLabelsCount()
        Description copied from interface: ServiceLevelObjectiveOrBuilder
         Labels which have been used to annotate the service-level objective. Label
         keys must start with a letter. Label keys and values may contain lowercase
         letters, numbers, underscores, and dashes. Label keys and values have a
         maximum length of 63 characters, and must be less than 128 bytes in size.
         Up to 64 label entries may be stored. For labels which do not have a
         semantic value, the empty string may be supplied for the label value.
         
        map<string, string> user_labels = 12;
        Specified by:
        getUserLabelsCount in interface ServiceLevelObjectiveOrBuilder
      • containsUserLabels

        public boolean containsUserLabels​(String key)
         Labels which have been used to annotate the service-level objective. Label
         keys must start with a letter. Label keys and values may contain lowercase
         letters, numbers, underscores, and dashes. Label keys and values have a
         maximum length of 63 characters, and must be less than 128 bytes in size.
         Up to 64 label entries may be stored. For labels which do not have a
         semantic value, the empty string may be supplied for the label value.
         
        map<string, string> user_labels = 12;
        Specified by:
        containsUserLabels in interface ServiceLevelObjectiveOrBuilder
      • getUserLabelsMap

        public Map<String,​String> getUserLabelsMap()
         Labels which have been used to annotate the service-level objective. Label
         keys must start with a letter. Label keys and values may contain lowercase
         letters, numbers, underscores, and dashes. Label keys and values have a
         maximum length of 63 characters, and must be less than 128 bytes in size.
         Up to 64 label entries may be stored. For labels which do not have a
         semantic value, the empty string may be supplied for the label value.
         
        map<string, string> user_labels = 12;
        Specified by:
        getUserLabelsMap in interface ServiceLevelObjectiveOrBuilder
      • getUserLabelsOrDefault

        public String getUserLabelsOrDefault​(String key,
                                             String defaultValue)
         Labels which have been used to annotate the service-level objective. Label
         keys must start with a letter. Label keys and values may contain lowercase
         letters, numbers, underscores, and dashes. Label keys and values have a
         maximum length of 63 characters, and must be less than 128 bytes in size.
         Up to 64 label entries may be stored. For labels which do not have a
         semantic value, the empty string may be supplied for the label value.
         
        map<string, string> user_labels = 12;
        Specified by:
        getUserLabelsOrDefault in interface ServiceLevelObjectiveOrBuilder
      • getUserLabelsOrThrow

        public String getUserLabelsOrThrow​(String key)
         Labels which have been used to annotate the service-level objective. Label
         keys must start with a letter. Label keys and values may contain lowercase
         letters, numbers, underscores, and dashes. Label keys and values have a
         maximum length of 63 characters, and must be less than 128 bytes in size.
         Up to 64 label entries may be stored. For labels which do not have a
         semantic value, the empty string may be supplied for the label value.
         
        map<string, string> user_labels = 12;
        Specified by:
        getUserLabelsOrThrow in interface ServiceLevelObjectiveOrBuilder
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static ServiceLevelObjective parseFrom​(ByteBuffer data)
                                               throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ServiceLevelObjective parseFrom​(ByteBuffer data,
                                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                               throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ServiceLevelObjective parseFrom​(com.google.protobuf.ByteString data)
                                               throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ServiceLevelObjective parseFrom​(com.google.protobuf.ByteString data,
                                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                               throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ServiceLevelObjective parseFrom​(byte[] data)
                                               throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ServiceLevelObjective parseFrom​(byte[] data,
                                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                               throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • newBuilderForType

        public ServiceLevelObjective.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public ServiceLevelObjective.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected ServiceLevelObjective.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getParserForType

        public com.google.protobuf.Parser<ServiceLevelObjective> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public ServiceLevelObjective getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder