- JSON representation
- MetricValue
- Distribution
- LinearBuckets
- ExponentialBuckets
- ExplicitBuckets
- Exemplar
Represents a set of metric values in the same metric. Each metric value in the set should have a unique combination of start time, end time, and label values.
JSON representation | |
---|---|
{
"metricName": string,
"metricValues": [
{
object ( |
Fields | |
---|---|
metricName |
The metric name defined in the service configuration. |
metricValues[] |
The values in this metric. |
MetricValue
Represents a single metric value.
JSON representation | |
---|---|
{ "labels": { string: string, ... }, "startTime": string, "endTime": string, // Union field |
Fields | ||
---|---|---|
labels |
The labels describing the metric value. See comments on An object containing a list of |
|
startTime |
The start of the time period over which this metric value's measurement applies. The time period has different semantics for different metric types (cumulative, delta, and gauge). See the metric definition documentation in the service configuration for details. If not specified, A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
|
endTime |
The end of the time period over which this metric value's measurement applies. If not specified, A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
|
Union field value . The value. The type of value used in the request must agree with the metric definition in the service configuration, otherwise the MetricValue is rejected. value can be only one of the following: |
||
boolValue |
A boolean value. |
|
int64Value |
A signed 64-bit integer value. |
|
doubleValue |
A double precision floating point value. |
|
stringValue |
A text string value. |
|
distributionValue |
A distribution value. |
Distribution
Distribution represents a frequency distribution of double-valued sample points. It contains the size of the population of sample points plus additional optional information:
- the arithmetic mean of the samples
- the minimum and maximum of the samples
- the sum-squared-deviation of the samples, used to compute variance
- a histogram of the values of the sample points
JSON representation | |
---|---|
{ "count": string, "mean": number, "minimum": number, "maximum": number, "sumOfSquaredDeviation": number, "bucketCounts": [ string ], "exemplars": [ { object ( |
Fields | ||
---|---|---|
count |
The total number of samples in the distribution. Must be >= 0. |
|
mean |
The arithmetic mean of the samples in the distribution. If |
|
minimum |
The minimum of the population of values. Ignored if |
|
maximum |
The maximum of the population of values. Ignored if |
|
sumOfSquaredDeviation |
The sum of squared deviations from the mean: Sum[i=1..count]((x_i - mean)^2) where each x_i is a sample values. If |
|
bucketCounts[] |
The number of samples in each histogram bucket. The buckets are defined below in Any suffix of trailing zeros may be omitted. |
|
exemplars[] |
Example points. Must be in increasing order of |
|
Union field Buckets are numbered in the range of [0, N], with a total of N+1 buckets. There must be at least two buckets (a single-bucket histogram gives no information that isn't already provided by The first bucket is the underflow bucket which has a lower bound of -inf. The last bucket is the overflow bucket which has an upper bound of +inf. All other buckets (if any) are called "finite" buckets because they have finite lower and upper bounds. As described below, there are three ways to define the finite buckets. (1) Buckets with constant width. (2) Buckets with exponentially growing widths. (3) Buckets with arbitrary user-provided widths. In all cases, the buckets cover the entire real number line (-inf, +inf). Bucket upper bounds are exclusive and lower bounds are inclusive. The upper bound of the underflow bucket is equal to the lower bound of the smallest finite bucket; the lower bound of the overflow bucket is equal to the upper bound of the largest finite bucket. |
||
linearBuckets |
Buckets with constant width. |
|
exponentialBuckets |
Buckets with exponentially growing width. |
|
explicitBuckets |
Buckets with arbitrary user-provided width. |
LinearBuckets
Describing buckets with constant width.
JSON representation | |
---|---|
{ "numFiniteBuckets": integer, "width": number, "offset": number } |
Fields | |
---|---|
numFiniteBuckets |
The number of finite buckets. With the underflow and overflow buckets, the total number of buckets is |
width |
The i'th linear bucket covers the interval [offset + (i-1) * width, offset + i * width) where i ranges from 1 to numFiniteBuckets, inclusive. Must be strictly positive. |
offset |
The i'th linear bucket covers the interval [offset + (i-1) * width, offset + i * width) where i ranges from 1 to numFiniteBuckets, inclusive. |
ExponentialBuckets
Describing buckets with exponentially growing width.
JSON representation | |
---|---|
{ "numFiniteBuckets": integer, "growthFactor": number, "scale": number } |
Fields | |
---|---|
numFiniteBuckets |
The number of finite buckets. With the underflow and overflow buckets, the total number of buckets is |
growthFactor |
The i'th exponential bucket covers the interval [scale * growthFactor^(i-1), scale * growthFactor^i) where i ranges from 1 to numFiniteBuckets inclusive. Must be larger than 1.0. |
scale |
The i'th exponential bucket covers the interval [scale * growthFactor^(i-1), scale * growthFactor^i) where i ranges from 1 to numFiniteBuckets inclusive. Must be > 0. |
ExplicitBuckets
Describing buckets with arbitrary user-provided width.
JSON representation | |
---|---|
{ "bounds": [ number ] } |
Fields | |
---|---|
bounds[] |
'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 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 |
Exemplar
Exemplars are example points that may be used to annotate aggregated distribution values. They are metadata that gives information about a particular value added to a Distribution bucket, such as a trace ID that was active when a value was added. They may contain further information, such as a example values and timestamps, origin, etc.
JSON representation | |
---|---|
{ "value": number, "timestamp": string, "attachments": [ { "@type": string, field1: ..., ... } ] } |
Fields | |
---|---|
value |
Value of the exemplar point. This value determines to which bucket the exemplar belongs. |
timestamp |
The observation (sampling) time of the above value. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
attachments[] |
Contextual information about the example value. Examples are: Trace: type.googleapis.com/google.monitoring.v3.SpanContext Literal string: type.googleapis.com/google.protobuf.StringValue Labels dropped during aggregation: type.googleapis.com/google.monitoring.v3.DroppedLabels There may be only a single attachment of any given message type in a single exemplar, and this is enforced by the system. An object containing fields of an arbitrary type. An additional field |