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

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

Retrieves the list of performance issues which are identified.

See Also:
  • Method Details

    • insightId

      public final String insightId()

      The unique identifier for the insight. For example, insight-12345678901234567.

      Returns:
      The unique identifier for the insight. For example, insight-12345678901234567.
    • insightType

      public final String insightType()

      The type of insight. For example, HighDBLoad, HighCPU, or DominatingSQLs.

      Returns:
      The type of insight. For example, HighDBLoad, HighCPU, or DominatingSQLs.
    • context

      public final ContextType context()

      Indicates if the insight is causal or correlated insight.

      If the service returns an enum value that is not available in the current SDK version, context will return ContextType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from contextAsString().

      Returns:
      Indicates if the insight is causal or correlated insight.
      See Also:
    • contextAsString

      public final String contextAsString()

      Indicates if the insight is causal or correlated insight.

      If the service returns an enum value that is not available in the current SDK version, context will return ContextType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from contextAsString().

      Returns:
      Indicates if the insight is causal or correlated insight.
      See Also:
    • startTime

      public final Instant startTime()

      The start time of the insight. For example, 2018-10-30T00:00:00Z.

      Returns:
      The start time of the insight. For example, 2018-10-30T00:00:00Z.
    • endTime

      public final Instant endTime()

      The end time of the insight. For example, 2018-10-30T00:00:00Z.

      Returns:
      The end time of the insight. For example, 2018-10-30T00:00:00Z.
    • severity

      public final Severity severity()

      The severity of the insight. The values are: Low, Medium, or High.

      If the service returns an enum value that is not available in the current SDK version, severity will return Severity.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from severityAsString().

      Returns:
      The severity of the insight. The values are: Low, Medium, or High.
      See Also:
    • severityAsString

      public final String severityAsString()

      The severity of the insight. The values are: Low, Medium, or High.

      If the service returns an enum value that is not available in the current SDK version, severity will return Severity.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from severityAsString().

      Returns:
      The severity of the insight. The values are: Low, Medium, or High.
      See Also:
    • hasSupportingInsights

      public final boolean hasSupportingInsights()
      For responses, this returns true if the service returned a value for the SupportingInsights property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • supportingInsights

      public final List<Insight> supportingInsights()

      List of supporting insights that provide additional factors for the insight.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasSupportingInsights() method.

      Returns:
      List of supporting insights that provide additional factors for the insight.
    • description

      public final String description()

      Description of the insight. For example: A high severity Insight found between 02:00 to 02:30, where there was an unusually high DB load 600x above baseline. Likely performance impact .

      Returns:
      Description of the insight. For example: A high severity Insight found between 02:00 to 02:30, where there was an unusually high DB load 600x above baseline. Likely performance impact .
    • hasRecommendations

      public final boolean hasRecommendations()
      For responses, this returns true if the service returned a value for the Recommendations property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • recommendations

      public final List<Recommendation> recommendations()

      List of recommendations for the insight. For example, Investigate the following SQLs that contributed to 100% of the total DBLoad during that time period: sql-id .

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasRecommendations() method.

      Returns:
      List of recommendations for the insight. For example, Investigate the following SQLs that contributed to 100% of the total DBLoad during that time period: sql-id .
    • hasInsightData

      public final boolean hasInsightData()
      For responses, this returns true if the service returned a value for the InsightData property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • insightData

      public final List<Data> insightData()

      List of data objects containing metrics and references from the time range while generating the insight.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasInsightData() method.

      Returns:
      List of data objects containing metrics and references from the time range while generating the insight.
    • hasBaselineData

      public final boolean hasBaselineData()
      For responses, this returns true if the service returned a value for the BaselineData property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • baselineData

      public final List<Data> baselineData()

      Metric names and values from the timeframe used as baseline to generate the insight.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasBaselineData() method.

      Returns:
      Metric names and values from the timeframe used as baseline to generate the insight.
    • toBuilder

      public Insight.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<Insight.Builder,Insight>
      Returns:
      a builder for type T
    • builder

      public static Insight.Builder builder()
    • serializableBuilderClass

      public static Class<? extends Insight.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.