 Resource: LogMetric
 MetricDescriptor
 LabelDescriptor
 ValueType
 MetricKind
 ValueType
 BucketOptions
 Linear
 Exponential
 Explicit
 ApiVersion
 Methods
Resource: LogMetric
Describes a logsbased metric. The value of the metric is the number of log entries that match a logs filter in a given time interval.
Logsbased metric can also be used to extract values from logs and create a a distribution of the values. The distribution records the statistics of the extracted values along with an optional histogram of the values as specified by the bucket options.
JSON representation  

{ "name": string, "description": string, "filter": string, "metricDescriptor": { object( 
Fields  

name 
Required. The clientassigned metric identifier. Examples: Metric identifiers are limited to 100 characters and can include only the following characters: The metric identifier in this field must not be URLencoded. However, when the metric identifier appears as the 
description 
Optional. A description of this metric, which is used in documentation. 
filter 
Required. An advanced logs filter which is used to match log entries. Example:
The maximum length of the filter is 20000 characters. 
metricDescriptor 
Optional. The metric descriptor associated with the logsbased metric. If unspecified, it uses a default metric descriptor with a DELTA metric kind, INT64 value type, with no labels and a unit of "1". Such a metric counts the number of log entries matching the The To create a logsbased metric that records a distribution of log values, a DELTA metric kind with a DISTRIBUTION value type must be used along with a Each label in the metric descriptor must have a matching label name as the key and an extractor expression as the value in the The 
valueExtractor 
Optional. A The result of the extraction must be convertible to a double type, as the distribution always records double values. If either the extraction or the conversion to double fails, then those values are not recorded in the distribution. Example: 
labelExtractors 
Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the The extracted value is converted to the type defined in the label descriptor. If the either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project. An object containing a list of 
bucketOptions 
Optional. The 
version 
Deprecated. The API version that created or updated this metric. The v2 format is used by default and cannot be changed. 
MetricDescriptor
Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type's existing data unusable.
JSON representation  

{ "name": string, "type": string, "labels": [ { object( 
Fields  

name 
The resource name of the metric descriptor. 
type 
The metric type, including its DNS name prefix. The type is not URLencoded. All userdefined custom metric types have the DNS name

labels[] 
The set of labels that can be used to describe a specific instance of this metric type. For example, the 
metricKind 
Whether the metric records instantaneous values, changes to a value, etc. Some combinations of 
valueType 
Whether the measurement is an integer, a floatingpoint number, etc. Some combinations of 
unit 
The unit in which the metric value is reported. It is only applicable if the Basic units (UNIT)
Prefixes (PREFIX)
Grammar The grammar also includes these connectors:
The grammar for a unit is as follows:
Notes:

description 
A detailed description of the metric, which can be used in documentation. 
displayName 
A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example "Request count". This field is optional but it is recommended to be set for any metrics associated with uservisible concepts, such as Quota. 
LabelDescriptor
A description of a label.
JSON representation  

{
"key": string,
"valueType": enum( 
Fields  

key 
The label key. 
valueType 
The type of data that can be assigned to the label. 
description 
A humanreadable description for the label. 
ValueType
Value types that can be used as label values.
Enums  

STRING 
A variablelength string. This is the default. 
BOOL 
Boolean; true or false. 
INT64 
A 64bit signed integer. 
MetricKind
The kind of measurement. It describes how the data is reported.
Enums  

METRIC_KIND_UNSPECIFIED 
Do not use this default value. 
GAUGE 
An instantaneous measurement of a value. 
DELTA 
The change in a value during a time interval. 
CUMULATIVE 
A value accumulated over a time interval. Cumulative measurements in a time series should have the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points. 
ValueType
The value type of a metric.
Enums  

VALUE_TYPE_UNSPECIFIED 
Do not use this default value. 
BOOL 
The value is a boolean. This value type can be used only if the metric kind is GAUGE . 
INT64 
The value is a signed 64bit integer. 
DOUBLE 
The value is a double precision floating point number. 
STRING 
The value is a text string. This value type can be used only if the metric kind is GAUGE . 
DISTRIBUTION 
The value is a . 
MONEY 
The value is money. 
BucketOptions
BucketOptions
describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. BucketOptions
does not include the number of values in each bucket.
A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N  2) and an overflow bucket (number N  1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the same as the upper bound of bucket i  1. The buckets span the whole range of finite values: lower bound of the underflow bucket is infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are socalled because both bounds are finite.
JSON representation  

{ // Union field 
Fields  

Union field options . Exactly one of these three fields must be set. options can be only one of the following: 

linearBuckets 
The linear bucket. 

exponentialBuckets 
The exponential buckets. 

explicitBuckets 
The explicit buckets. 
Linear
Specifies a linear sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket.
There are numFiniteBuckets + 2
(= N) buckets. Bucket i
has the following boundaries:
Upper bound (0 <= i < N1): offset + (width * i). Lower bound (1 <= i < N): offset + (width * (i  1)).
JSON representation  

{ "numFiniteBuckets": number, "width": number, "offset": number } 
Fields  

numFiniteBuckets 
Must be greater than 0. 
width 
Must be greater than 0. 
offset 
Lower bound of the first bucket. 
Exponential
Specifies an exponential sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket.
There are numFiniteBuckets + 2
(= N) buckets. Bucket i
has the following boundaries:
Upper bound (0 <= i < N1): scale * (growthFactor ^ i). Lower bound (1 <= i < N): scale * (growthFactor ^ (i  1)).
JSON representation  

{ "numFiniteBuckets": number, "growthFactor": number, "scale": number } 
Fields  

numFiniteBuckets 
Must be greater than 0. 
growthFactor 
Must be greater than 1. 
scale 
Must be greater than 0. 
Explicit
Specifies a set of buckets with arbitrary widths.
There are size(bounds) + 1
(= N) buckets. Bucket i
has the following boundaries:
Upper bound (0 <= i < N1): bounds[i] Lower bound (1 <= i < N); bounds[i  1]
The bounds
field must contain at least one element. If bounds
has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets.
JSON representation  

{ "bounds": [ number ] } 
Fields  

bounds[] 
The values must be monotonically increasing. 
ApiVersion
Stackdriver Logging API version.
Enums  

V2 
Stackdriver Logging API v2. 
V1 
Stackdriver Logging API v1. 
Methods 



Creates a logsbased metric. 

Deletes a logsbased metric. 

Gets a logsbased metric. 

Lists logsbased metrics. 

Creates or updates a logsbased metric. 