All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.api.services.logging.v2.model.LogMetric Maven / Gradle / Ivy

There is a newer version: v2-rev20241018-2.0.0
Show newest version
/*
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */
/*
 * This code was generated by https://github.com/googleapis/google-api-java-client-services/
 * Modify at your own risk.
 */

package com.google.api.services.logging.v2.model;

/**
 * Describes a logs-based metric. The value of the metric is the number of log entries that match a
 * logs filter in a given time interval.Logs-based metrics can also be used to extract values from
 * logs and create 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.
 *
 * 

This is the Java data model class that specifies how to parse/serialize into the JSON that is * transmitted over HTTP when working with the Cloud Logging API. For a detailed explanation see: * https://developers.google.com/api-client-library/java/google-http-java-client/json *

* * @author Google, Inc. */ @SuppressWarnings("javadoc") public final class LogMetric extends com.google.api.client.json.GenericJson { /** * Optional. The resource name of the Log Bucket that owns the Log Metric. Only Log Buckets in * projects are supported. The bucket has to be in the same project as the metric.For * example:projects/my-project/locations/global/buckets/my-bucketIf empty, then the Log Metric is * considered a non-Bucket Log Metric. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String bucketName; /** * Optional. The bucket_options are required when the logs-based metric is using a DISTRIBUTION * value type and it describes the bucket boundaries used to create a histogram of the extracted * values. * The value may be {@code null}. */ @com.google.api.client.util.Key private BucketOptions bucketOptions; /** * Output only. The creation timestamp of the metric.This field may not be present for older * metrics. * The value may be {@code null}. */ @com.google.api.client.util.Key private String createTime; /** * Optional. A description of this metric, which is used in documentation. The maximum length of * the description is 8000 characters. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String description; /** * Optional. If set to True, then this metric is disabled and it does not generate any points. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Boolean disabled; /** * Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced_filters) * which is used to match log entries. Example: "resource.type=gae_app AND severity>=ERROR" The * maximum length of the filter is 20000 characters. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String filter; /** * 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 value_extractor field.The extracted value is * converted to the type defined in the label descriptor. If 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 false.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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.Map labelExtractors; /** * Optional. The metric descriptor associated with the logs-based 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 filter expression.The * name, type, and description fields in the metric_descriptor are output only, and is constructed * using the name and description field in the LogMetric.To create a logs-based metric that * records a distribution of log values, a DELTA metric kind with a DISTRIBUTION value type must * be used along with a value_extractor expression in the LogMetric.Each label in the metric * descriptor must have a matching label name as the key and an extractor expression as the value * in the label_extractors map.The metric_kind and value_type fields in the metric_descriptor * cannot be updated once initially configured. New labels can be added in the metric_descriptor, * but existing labels cannot be modified except for their description. * The value may be {@code null}. */ @com.google.api.client.util.Key private MetricDescriptor metricDescriptor; /** * Required. The client-assigned metric identifier. Examples: "error_count", * "nginx/requests".Metric identifiers are limited to 100 characters and can include only the * following characters: A-Z, a-z, 0-9, and the special characters _-.,+!*',()%/. The forward- * slash character (/) denotes a hierarchy of name pieces, and it cannot be the first character of * the name.This field is the [METRIC_ID] part of a metric resource name in the format * "projects/PROJECT_ID/metrics/METRIC_ID". Example: If the resource name of a metric is * "projects/my-project/metrics/nginx%2Frequests", this field's value is "nginx/requests". * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String name; /** * Output only. The resource name of the metric: "projects/[PROJECT_ID]/metrics/[METRIC_ID]" * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String resourceName; /** * Output only. The last update timestamp of the metric.This field may not be present for older * metrics. * The value may be {@code null}. */ @com.google.api.client.util.Key private String updateTime; /** * Optional. A value_extractor is required when using a distribution logs-based metric to extract * the values to record from a log entry. Two functions are supported for value extraction: * EXTRACT(field) or REGEXP_EXTRACT(field, regex). The arguments are: field: The name of the log * entry field from which the value is to be extracted. regex: A regular expression using the * Google RE2 syntax (https://github.com/google/re2/wiki/Syntax) with a single capture group to * extract data from the specified log entry field. The value of the field is converted to a * string before applying the regex. It is an error to specify a regex that does not include * exactly one capture group.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: * REGEXP_EXTRACT(jsonPayload.request, ".*quantity=(\d+).*") * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String valueExtractor; /** * Deprecated. The API version that created or updated this metric. The v2 format is used by * default and cannot be changed. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String version; /** * Optional. The resource name of the Log Bucket that owns the Log Metric. Only Log Buckets in * projects are supported. The bucket has to be in the same project as the metric.For * example:projects/my-project/locations/global/buckets/my-bucketIf empty, then the Log Metric is * considered a non-Bucket Log Metric. * @return value or {@code null} for none */ public java.lang.String getBucketName() { return bucketName; } /** * Optional. The resource name of the Log Bucket that owns the Log Metric. Only Log Buckets in * projects are supported. The bucket has to be in the same project as the metric.For * example:projects/my-project/locations/global/buckets/my-bucketIf empty, then the Log Metric is * considered a non-Bucket Log Metric. * @param bucketName bucketName or {@code null} for none */ public LogMetric setBucketName(java.lang.String bucketName) { this.bucketName = bucketName; return this; } /** * Optional. The bucket_options are required when the logs-based metric is using a DISTRIBUTION * value type and it describes the bucket boundaries used to create a histogram of the extracted * values. * @return value or {@code null} for none */ public BucketOptions getBucketOptions() { return bucketOptions; } /** * Optional. The bucket_options are required when the logs-based metric is using a DISTRIBUTION * value type and it describes the bucket boundaries used to create a histogram of the extracted * values. * @param bucketOptions bucketOptions or {@code null} for none */ public LogMetric setBucketOptions(BucketOptions bucketOptions) { this.bucketOptions = bucketOptions; return this; } /** * Output only. The creation timestamp of the metric.This field may not be present for older * metrics. * @return value or {@code null} for none */ public String getCreateTime() { return createTime; } /** * Output only. The creation timestamp of the metric.This field may not be present for older * metrics. * @param createTime createTime or {@code null} for none */ public LogMetric setCreateTime(String createTime) { this.createTime = createTime; return this; } /** * Optional. A description of this metric, which is used in documentation. The maximum length of * the description is 8000 characters. * @return value or {@code null} for none */ public java.lang.String getDescription() { return description; } /** * Optional. A description of this metric, which is used in documentation. The maximum length of * the description is 8000 characters. * @param description description or {@code null} for none */ public LogMetric setDescription(java.lang.String description) { this.description = description; return this; } /** * Optional. If set to True, then this metric is disabled and it does not generate any points. * @return value or {@code null} for none */ public java.lang.Boolean getDisabled() { return disabled; } /** * Optional. If set to True, then this metric is disabled and it does not generate any points. * @param disabled disabled or {@code null} for none */ public LogMetric setDisabled(java.lang.Boolean disabled) { this.disabled = disabled; return this; } /** * Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced_filters) * which is used to match log entries. Example: "resource.type=gae_app AND severity>=ERROR" The * maximum length of the filter is 20000 characters. * @return value or {@code null} for none */ public java.lang.String getFilter() { return filter; } /** * Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced_filters) * which is used to match log entries. Example: "resource.type=gae_app AND severity>=ERROR" The * maximum length of the filter is 20000 characters. * @param filter filter or {@code null} for none */ public LogMetric setFilter(java.lang.String filter) { this.filter = filter; return this; } /** * 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 value_extractor field.The extracted value is * converted to the type defined in the label descriptor. If 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 false.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. * @return value or {@code null} for none */ public java.util.Map getLabelExtractors() { return 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 value_extractor field.The extracted value is * converted to the type defined in the label descriptor. If 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 false.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. * @param labelExtractors labelExtractors or {@code null} for none */ public LogMetric setLabelExtractors(java.util.Map labelExtractors) { this.labelExtractors = labelExtractors; return this; } /** * Optional. The metric descriptor associated with the logs-based 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 filter expression.The * name, type, and description fields in the metric_descriptor are output only, and is constructed * using the name and description field in the LogMetric.To create a logs-based metric that * records a distribution of log values, a DELTA metric kind with a DISTRIBUTION value type must * be used along with a value_extractor expression in the LogMetric.Each label in the metric * descriptor must have a matching label name as the key and an extractor expression as the value * in the label_extractors map.The metric_kind and value_type fields in the metric_descriptor * cannot be updated once initially configured. New labels can be added in the metric_descriptor, * but existing labels cannot be modified except for their description. * @return value or {@code null} for none */ public MetricDescriptor getMetricDescriptor() { return metricDescriptor; } /** * Optional. The metric descriptor associated with the logs-based 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 filter expression.The * name, type, and description fields in the metric_descriptor are output only, and is constructed * using the name and description field in the LogMetric.To create a logs-based metric that * records a distribution of log values, a DELTA metric kind with a DISTRIBUTION value type must * be used along with a value_extractor expression in the LogMetric.Each label in the metric * descriptor must have a matching label name as the key and an extractor expression as the value * in the label_extractors map.The metric_kind and value_type fields in the metric_descriptor * cannot be updated once initially configured. New labels can be added in the metric_descriptor, * but existing labels cannot be modified except for their description. * @param metricDescriptor metricDescriptor or {@code null} for none */ public LogMetric setMetricDescriptor(MetricDescriptor metricDescriptor) { this.metricDescriptor = metricDescriptor; return this; } /** * Required. The client-assigned metric identifier. Examples: "error_count", * "nginx/requests".Metric identifiers are limited to 100 characters and can include only the * following characters: A-Z, a-z, 0-9, and the special characters _-.,+!*',()%/. The forward- * slash character (/) denotes a hierarchy of name pieces, and it cannot be the first character of * the name.This field is the [METRIC_ID] part of a metric resource name in the format * "projects/PROJECT_ID/metrics/METRIC_ID". Example: If the resource name of a metric is * "projects/my-project/metrics/nginx%2Frequests", this field's value is "nginx/requests". * @return value or {@code null} for none */ public java.lang.String getName() { return name; } /** * Required. The client-assigned metric identifier. Examples: "error_count", * "nginx/requests".Metric identifiers are limited to 100 characters and can include only the * following characters: A-Z, a-z, 0-9, and the special characters _-.,+!*',()%/. The forward- * slash character (/) denotes a hierarchy of name pieces, and it cannot be the first character of * the name.This field is the [METRIC_ID] part of a metric resource name in the format * "projects/PROJECT_ID/metrics/METRIC_ID". Example: If the resource name of a metric is * "projects/my-project/metrics/nginx%2Frequests", this field's value is "nginx/requests". * @param name name or {@code null} for none */ public LogMetric setName(java.lang.String name) { this.name = name; return this; } /** * Output only. The resource name of the metric: "projects/[PROJECT_ID]/metrics/[METRIC_ID]" * @return value or {@code null} for none */ public java.lang.String getResourceName() { return resourceName; } /** * Output only. The resource name of the metric: "projects/[PROJECT_ID]/metrics/[METRIC_ID]" * @param resourceName resourceName or {@code null} for none */ public LogMetric setResourceName(java.lang.String resourceName) { this.resourceName = resourceName; return this; } /** * Output only. The last update timestamp of the metric.This field may not be present for older * metrics. * @return value or {@code null} for none */ public String getUpdateTime() { return updateTime; } /** * Output only. The last update timestamp of the metric.This field may not be present for older * metrics. * @param updateTime updateTime or {@code null} for none */ public LogMetric setUpdateTime(String updateTime) { this.updateTime = updateTime; return this; } /** * Optional. A value_extractor is required when using a distribution logs-based metric to extract * the values to record from a log entry. Two functions are supported for value extraction: * EXTRACT(field) or REGEXP_EXTRACT(field, regex). The arguments are: field: The name of the log * entry field from which the value is to be extracted. regex: A regular expression using the * Google RE2 syntax (https://github.com/google/re2/wiki/Syntax) with a single capture group to * extract data from the specified log entry field. The value of the field is converted to a * string before applying the regex. It is an error to specify a regex that does not include * exactly one capture group.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: * REGEXP_EXTRACT(jsonPayload.request, ".*quantity=(\d+).*") * @return value or {@code null} for none */ public java.lang.String getValueExtractor() { return valueExtractor; } /** * Optional. A value_extractor is required when using a distribution logs-based metric to extract * the values to record from a log entry. Two functions are supported for value extraction: * EXTRACT(field) or REGEXP_EXTRACT(field, regex). The arguments are: field: The name of the log * entry field from which the value is to be extracted. regex: A regular expression using the * Google RE2 syntax (https://github.com/google/re2/wiki/Syntax) with a single capture group to * extract data from the specified log entry field. The value of the field is converted to a * string before applying the regex. It is an error to specify a regex that does not include * exactly one capture group.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: * REGEXP_EXTRACT(jsonPayload.request, ".*quantity=(\d+).*") * @param valueExtractor valueExtractor or {@code null} for none */ public LogMetric setValueExtractor(java.lang.String valueExtractor) { this.valueExtractor = valueExtractor; return this; } /** * Deprecated. The API version that created or updated this metric. The v2 format is used by * default and cannot be changed. * @return value or {@code null} for none */ public java.lang.String getVersion() { return version; } /** * Deprecated. The API version that created or updated this metric. The v2 format is used by * default and cannot be changed. * @param version version or {@code null} for none */ public LogMetric setVersion(java.lang.String version) { this.version = version; return this; } @Override public LogMetric set(String fieldName, Object value) { return (LogMetric) super.set(fieldName, value); } @Override public LogMetric clone() { return (LogMetric) super.clone(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy