Class MetricTransformation
- All Implemented Interfaces:
Serializable
,SdkPojo
,ToCopyableBuilder<MetricTransformation.Builder,
MetricTransformation>
Indicates how to transform ingested log events to metric data in a CloudWatch metric.
- See Also:
-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic MetricTransformation.Builder
builder()
final Double
(Optional) The value to emit when a filter pattern does not match a log event.The fields to use as dimensions for the metric.final boolean
final boolean
equalsBySdkFields
(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final <T> Optional
<T> getValueForField
(String fieldName, Class<T> clazz) final boolean
For responses, this returns true if the service returned a value for the Dimensions property.final int
hashCode()
final String
The name of the CloudWatch metric.final String
A custom namespace to contain your metric in CloudWatch.final String
The value to publish to the CloudWatch metric when a filter pattern matches a log event.static Class
<? extends MetricTransformation.Builder> Take this object and create a builder that contains all of the current property values of this object.final String
toString()
Returns a string representation of this object.final StandardUnit
unit()
The unit to assign to the metric.final String
The unit to assign to the metric.Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
metricName
The name of the CloudWatch metric.
- Returns:
- The name of the CloudWatch metric.
-
metricNamespace
A custom namespace to contain your metric in CloudWatch. Use namespaces to group together metrics that are similar. For more information, see Namespaces.
- Returns:
- A custom namespace to contain your metric in CloudWatch. Use namespaces to group together metrics that are similar. For more information, see Namespaces.
-
metricValue
The value to publish to the CloudWatch metric when a filter pattern matches a log event.
- Returns:
- The value to publish to the CloudWatch metric when a filter pattern matches a log event.
-
defaultValue
(Optional) The value to emit when a filter pattern does not match a log event. This value can be null.
- Returns:
- (Optional) The value to emit when a filter pattern does not match a log event. This value can be null.
-
hasDimensions
public final boolean hasDimensions()For responses, this returns true if the service returned a value for the Dimensions property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
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. -
dimensions
The fields to use as dimensions for the metric. One metric filter can include as many as three dimensions.
Metrics extracted from log events are charged as custom metrics. To prevent unexpected high charges, do not specify high-cardinality fields such as
IPAddress
orrequestID
as dimensions. Each different value found for a dimension is treated as a separate metric and accrues charges as a separate custom metric.CloudWatch Logs disables a metric filter if it generates 1000 different name/value pairs for your specified dimensions within a certain amount of time. This helps to prevent accidental high charges.
You can also set up a billing alarm to alert you if your charges are higher than expected. For more information, see Creating a Billing Alarm to Monitor Your Estimated Amazon Web Services Charges.
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
hasDimensions()
method.- Returns:
- The fields to use as dimensions for the metric. One metric filter can include as many as three
dimensions.
Metrics extracted from log events are charged as custom metrics. To prevent unexpected high charges, do not specify high-cardinality fields such as
IPAddress
orrequestID
as dimensions. Each different value found for a dimension is treated as a separate metric and accrues charges as a separate custom metric.CloudWatch Logs disables a metric filter if it generates 1000 different name/value pairs for your specified dimensions within a certain amount of time. This helps to prevent accidental high charges.
You can also set up a billing alarm to alert you if your charges are higher than expected. For more information, see Creating a Billing Alarm to Monitor Your Estimated Amazon Web Services Charges.
-
unit
The unit to assign to the metric. If you omit this, the unit is set as
None
.If the service returns an enum value that is not available in the current SDK version,
unit
will returnStandardUnit.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromunitAsString()
.- Returns:
- The unit to assign to the metric. If you omit this, the unit is set as
None
. - See Also:
-
unitAsString
The unit to assign to the metric. If you omit this, the unit is set as
None
.If the service returns an enum value that is not available in the current SDK version,
unit
will returnStandardUnit.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromunitAsString()
.- Returns:
- The unit to assign to the metric. If you omit this, the unit is set as
None
. - See Also:
-
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 interfaceToCopyableBuilder<MetricTransformation.Builder,
MetricTransformation> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
public final int hashCode() -
equals
-
equalsBySdkFields
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 anSdkPojo
class, and is generated based on a service model.If an
SdkPojo
class does not have any inherited fields,equalsBySdkFields
andequals
are essentially the same.- Specified by:
equalsBySdkFields
in interfaceSdkPojo
- Parameters:
obj
- the object to be compared with- Returns:
- true if the other object equals to this object by sdk fields, false otherwise.
-
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. -
getValueForField
-
sdkFields
-