Class: Google::Apis::MonitoringV3::TimeInterval

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/monitoring_v3/classes.rb,
lib/google/apis/monitoring_v3/representations.rb,
lib/google/apis/monitoring_v3/representations.rb

Overview

Describes a time interval: Reads: A half-open time interval. It includes the end time but excludes the start time: (startTime, endTime]. The start time must be specified, must be earlier than the end time, and should be no older than the data retention period for the metric. Writes: A closed time interval. It extends from the start time to the end time, and includes both: [startTime, endTime]. Valid time intervals depend on the MetricKind (https://cloud.google. com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors#MetricKind) of the metric value. The end time must not be earlier than the start time, and the end time must not be more than 25 hours in the past or more than five minutes in the future. For GAUGE metrics, the startTime value is technically optional; if no value is specified, the start time defaults to the value of the end time, and the interval represents a single point in time. If both start and end times are specified, they must be identical. Such an interval is valid only for GAUGE metrics, which are point-in-time measurements. The end time of a new interval must be at least a millisecond after the end time of the previous interval. For DELTA metrics, the start time and end time must specify a non-zero interval, with subsequent points specifying contiguous and non-overlapping intervals. For DELTA metrics, the start time of the next interval must be at least a millisecond after the end time of the previous interval. For CUMULATIVE metrics, the start time and end time must specify a non-zero interval, with subsequent points specifying 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. The new start time must be at least a millisecond after the end time of the previous interval. The start time of a new interval must be at least a millisecond after the end time of the previous interval because intervals are closed. If the start time of a new interval is the same as the end time of the previous interval, then data written at the new start time could overwrite data written at the previous end time.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ TimeInterval

Returns a new instance of TimeInterval.



4665
4666
4667
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4665

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#end_timeString

Required. The end of the time interval. Corresponds to the JSON property endTime

Returns:

  • (String)


4657
4658
4659
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4657

def end_time
  @end_time
end

#start_timeString

Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time. Corresponds to the JSON property startTime

Returns:

  • (String)


4663
4664
4665
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4663

def start_time
  @start_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



4670
4671
4672
4673
# File 'lib/google/apis/monitoring_v3/classes.rb', line 4670

def update!(**args)
  @end_time = args[:end_time] if args.key?(:end_time)
  @start_time = args[:start_time] if args.key?(:start_time)
end