Class: Google::Cloud::Logging::Metric

Inherits:
Object
  • Object
show all
Defined in:
lib/google/cloud/logging/metric.rb,
lib/google/cloud/logging/metric/list.rb

Overview

Metric

A logs-based Google Cloud Monitoring metric. A metric is a measured value that can be used to assess a system. The basis of a logs-based metric is the collection of log entries that match a logs filter.

Examples:

require "google/cloud/logging"

logging = Google::Cloud::Logging.new
metric = logging.create_metric "errors", "severity>=ERROR"

See Also:

Defined Under Namespace

Classes: List

Instance Method Summary collapse

Instance Method Details

#deleteBoolean

Permanently deletes the logs-based metric.

Examples:

require "google/cloud/logging"

logging = Google::Cloud::Logging.new
metric = logging.metric "severe_errors"
metric.delete

Returns:

  • (Boolean)

    Returns true if the metric was deleted.



142
143
144
145
146
# File 'lib/google/cloud/logging/metric.rb', line 142

def delete
  ensure_service!
  service.delete_metric name
  true
end

#descriptionObject

The description of this metric, which is used in documentation.



68
69
70
# File 'lib/google/cloud/logging/metric.rb', line 68

def description
  grpc.description
end

#description=(description) ⇒ Object

Updates the description of this metric, which is used in documentation.



75
76
77
# File 'lib/google/cloud/logging/metric.rb', line 75

def description= description
  grpc.description = description
end

#filterObject



82
83
84
# File 'lib/google/cloud/logging/metric.rb', line 82

def filter
  grpc.filter
end

#filter=(filter) ⇒ Object

Updates the advanced logs filter.



89
90
91
# File 'lib/google/cloud/logging/metric.rb', line 89

def filter= filter
  grpc.filter = filter
end

#nameObject

The client-assigned metric identifier. Metric identifiers are limited to 1000 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.



62
63
64
# File 'lib/google/cloud/logging/metric.rb', line 62

def name
  grpc.name
end

#reload!Object Also known as: refresh!

Reloads the logs-based metric with current data from the Logging service.

Examples:

require "google/cloud/logging"

logging = Google::Cloud::Logging.new
metric = logging.metric "severe_errors"
metric.filter = "Unwanted value"
metric.reload!
metric.filter #=> "logName:syslog"


123
124
125
126
127
# File 'lib/google/cloud/logging/metric.rb', line 123

def reload!
  ensure_service!
  @grpc = service.get_metric name
  true
end

#saveObject

Updates the logs-based metric.

Examples:

require "google/cloud/logging"

logging = Google::Cloud::Logging.new
metric = logging.metric "severe_errors"
metric.filter = "logName:syslog AND severity>=ERROR"
metric.save


104
105
106
107
108
# File 'lib/google/cloud/logging/metric.rb', line 104

def save
  ensure_service!
  @grpc = service.update_metric name, description, filter
  true
end