public sealed class ExplicitBuckets : IMessage<Distribution.Types.ExplicitBuckets>, IEquatable<Distribution.Types.ExplicitBuckets>, IDeepCloneable<Distribution.Types.ExplicitBuckets>, IBufferMessage, IMessage
Describing buckets with arbitrary user-provided width.
'bound' is a list of strictly increasing boundaries between
buckets. Note that a list of length N-1 defines N buckets because
of fenceposting. See comments on bucket_options for details.
The i'th finite bucket covers the interval
[bound[i-1], bound[i])
where i ranges from 1 to bound_size() - 1. Note that there are no
finite buckets at all if 'bound' only contains a single element; in
that special case the single bound defines the boundary between the
underflow and overflow buckets.
bucket number lower bound upper bound
i == 0 (underflow) -inf bound[i]
0 < i < bound_size() bound[i-1] bound[i]
i == bound_size() (overflow) bound[i-1] +inf
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis webpage details the \u003ccode\u003eExplicitBuckets\u003c/code\u003e class, which is part of the \u003ccode\u003eGoogle.Cloud.ServiceControl.V1\u003c/code\u003e namespace within the .NET library, used for defining user-specified bucket boundaries.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eExplicitBuckets\u003c/code\u003e class implements several interfaces, including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, indicating its capabilities for message handling, equality comparisons, deep cloning, and buffer operations.\u003c/p\u003e\n"],["\u003cp\u003eThe class has two constructors, one default \u003ccode\u003eExplicitBuckets()\u003c/code\u003e and one that allows another \u003ccode\u003eExplicitBuckets\u003c/code\u003e object to be passed in as a parameter, allowing for the object to be cloned from another \u003ccode\u003eExplicitBuckets\u003c/code\u003e object.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eBounds\u003c/code\u003e property, a \u003ccode\u003eRepeatedField<double>\u003c/code\u003e, is used to specify the boundaries between buckets, where a list of length N-1 defines N buckets, and the i'th finite bucket is [bound[i-1], bound[i]).\u003c/p\u003e\n"],["\u003cp\u003eIt provides ten different versions of the class in descending order, starting with the latest \u003ccode\u003e2.4.0\u003c/code\u003e and going to \u003ccode\u003e1.0.0\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,[]]