Class SamplingRule
- All Implemented Interfaces:
Serializable
,SdkPojo
,ToCopyableBuilder<SamplingRule.Builder,
SamplingRule>
A sampling rule that services use to decide whether to instrument a request. Rule fields can match properties of the service, or properties of a request. The service can ignore rules that don't match its properties.
- See Also:
-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptionMatches attributes derived from the request.static SamplingRule.Builder
builder()
final boolean
final boolean
equalsBySdkFields
(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final Double
The percentage of matching requests to instrument, after the reservoir is exhausted.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 Attributes property.final int
hashCode()
final String
host()
Matches the hostname from a request URL.final String
Matches the HTTP method of a request.final Integer
priority()
The priority of the sampling rule.final Integer
A fixed number of matching requests to instrument per second, prior to applying the fixed rate.final String
Matches the ARN of the Amazon Web Services resource on which the service runs.final String
ruleARN()
The ARN of the sampling rule.final String
ruleName()
The name of the sampling rule.static Class
<? extends SamplingRule.Builder> final String
Matches thename
that the service uses to identify itself in segments.final String
Matches theorigin
that the service uses to identify its type in segments.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 String
urlPath()
Matches the path from a request URL.final Integer
version()
The version of the sampling rule format (1
).Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
ruleName
The name of the sampling rule. Specify a rule by either name or ARN, but not both.
- Returns:
- The name of the sampling rule. Specify a rule by either name or ARN, but not both.
-
ruleARN
The ARN of the sampling rule. Specify a rule by either name or ARN, but not both.
- Returns:
- The ARN of the sampling rule. Specify a rule by either name or ARN, but not both.
-
resourceARN
Matches the ARN of the Amazon Web Services resource on which the service runs.
- Returns:
- Matches the ARN of the Amazon Web Services resource on which the service runs.
-
priority
The priority of the sampling rule.
- Returns:
- The priority of the sampling rule.
-
fixedRate
The percentage of matching requests to instrument, after the reservoir is exhausted.
- Returns:
- The percentage of matching requests to instrument, after the reservoir is exhausted.
-
reservoirSize
A fixed number of matching requests to instrument per second, prior to applying the fixed rate. The reservoir is not used directly by services, but applies to all services using the rule collectively.
- Returns:
- A fixed number of matching requests to instrument per second, prior to applying the fixed rate. The reservoir is not used directly by services, but applies to all services using the rule collectively.
-
serviceName
Matches the
name
that the service uses to identify itself in segments.- Returns:
- Matches the
name
that the service uses to identify itself in segments.
-
serviceType
Matches the
origin
that the service uses to identify its type in segments.- Returns:
- Matches the
origin
that the service uses to identify its type in segments.
-
host
Matches the hostname from a request URL.
- Returns:
- Matches the hostname from a request URL.
-
httpMethod
Matches the HTTP method of a request.
- Returns:
- Matches the HTTP method of a request.
-
urlPath
Matches the path from a request URL.
- Returns:
- Matches the path from a request URL.
-
version
The version of the sampling rule format (
1
).- Returns:
- The version of the sampling rule format (
1
).
-
hasAttributes
public final boolean hasAttributes()For responses, this returns true if the service returned a value for the Attributes 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. -
attributes
Matches attributes derived from the request.
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
hasAttributes()
method.- Returns:
- Matches attributes derived from the request.
-
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<SamplingRule.Builder,
SamplingRule> - 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
-