Class MetricsConfig

java.lang.Object
software.amazon.awssdk.services.sagemaker.model.MetricsConfig
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<MetricsConfig.Builder,MetricsConfig>

@Generated("software.amazon.awssdk:codegen") public final class MetricsConfig extends Object implements SdkPojo, Serializable, ToCopyableBuilder<MetricsConfig.Builder,MetricsConfig>

The configuration for Utilization metrics.

See Also:
  • Method Details

    • enableEnhancedMetrics

      public final Boolean enableEnhancedMetrics()

      Specifies whether to enable enhanced metrics for the endpoint. Enhanced metrics provide utilization and invocation data at instance and container granularity. Container granularity is supported for Inference Components. The default is False.

      Returns:
      Specifies whether to enable enhanced metrics for the endpoint. Enhanced metrics provide utilization and invocation data at instance and container granularity. Container granularity is supported for Inference Components. The default is False.
    • enableDetailedObservability

      public final Boolean enableDetailedObservability()

      Indicates whether detailed observability is enabled for the endpoint. When set to True, the following metrics are published at the configured frequency:

      • Container-level inference metrics scraped from the container's Prometheus endpoint (such as request latency, error counts, and throughput). Available metrics vary by framework.

      • Per-GPU metrics (utilization, memory, and temperature) attributed to individual inference components.

      • Per-instance host metrics (CPU, memory, and disk utilization).

      • Inference component placement metrics (copy count per Availability Zone).

      For first-party and Deep Learning Containers (DLC), the Prometheus endpoint path is determined automatically. For Bring-Your-Own-Container (BYOC) cases, you can optionally set ContainerMetricsConfig to specify a custom endpoint path. If not specified, the default path /metrics on port 8080 is used.

      When set to False, these additional metrics are not published. Standard invocation and utilization metrics controlled by EnableEnhancedMetrics are unaffected.

      The default value for new endpoint configurations is True. For existing endpoint configurations created before this feature, the value is False unless explicitly set.

      Returns:
      Indicates whether detailed observability is enabled for the endpoint. When set to True, the following metrics are published at the configured frequency:

      • Container-level inference metrics scraped from the container's Prometheus endpoint (such as request latency, error counts, and throughput). Available metrics vary by framework.

      • Per-GPU metrics (utilization, memory, and temperature) attributed to individual inference components.

      • Per-instance host metrics (CPU, memory, and disk utilization).

      • Inference component placement metrics (copy count per Availability Zone).

      For first-party and Deep Learning Containers (DLC), the Prometheus endpoint path is determined automatically. For Bring-Your-Own-Container (BYOC) cases, you can optionally set ContainerMetricsConfig to specify a custom endpoint path. If not specified, the default path /metrics on port 8080 is used.

      When set to False, these additional metrics are not published. Standard invocation and utilization metrics controlled by EnableEnhancedMetrics are unaffected.

      The default value for new endpoint configurations is True. For existing endpoint configurations created before this feature, the value is False unless explicitly set.

    • metricPublishFrequencyInSeconds

      public final Integer metricPublishFrequencyInSeconds()

      The interval, in seconds, at which metrics are published to Amazon CloudWatch. Defaults to 60. Valid values: 10, 30, 60, 120, 180, 240, 300.

      When EnableEnhancedMetrics is set to False, this interval applies to utilization metrics only. Invocation metrics continue to be published at the default 60-second interval. When EnableEnhancedMetrics is set to True, this interval applies to both utilization and invocation metrics.

      When EnableDetailedObservability is set to True, this interval applies to per-GPU metrics, per-instance host metrics, container metrics, and fleet-level inference component lifecycle and placement metrics.

      Returns:
      The interval, in seconds, at which metrics are published to Amazon CloudWatch. Defaults to 60. Valid values: 10, 30, 60, 120, 180, 240, 300.

      When EnableEnhancedMetrics is set to False, this interval applies to utilization metrics only. Invocation metrics continue to be published at the default 60-second interval. When EnableEnhancedMetrics is set to True, this interval applies to both utilization and invocation metrics.

      When EnableDetailedObservability is set to True, this interval applies to per-GPU metrics, per-instance host metrics, container metrics, and fleet-level inference component lifecycle and placement metrics.

    • toBuilder

      public MetricsConfig.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<MetricsConfig.Builder,MetricsConfig>
      Returns:
      a builder for type T
    • builder

      public static MetricsConfig.Builder builder()
    • serializableBuilderClass

      public static Class<? extends MetricsConfig.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.