package interval
import "github.com/influxdata/flux/interval"
Index ¶
- Constants
- Variables
- type Bounds
- func NewBounds(start, stop values.Time) Bounds
- func (b Bounds) Contains(t values.Time) bool
- func (b Bounds) Equal(o Bounds) bool
- func (b Bounds) Intersect(o Bounds) Bounds
- func (b Bounds) IsEmpty() bool
- func (b Bounds) IsZero() bool
- func (b Bounds) Length() values.Duration
- func (b Bounds) Overlaps(o Bounds) bool
- func (b Bounds) Start() values.Time
- func (b Bounds) Stop() values.Time
- func (b Bounds) String() string
- func (b Bounds) Union(o Bounds) Bounds
- type Location
- type Window
- func NewWindow(every, period, offset values.Duration) (Window, error)
- func NewWindowInLocation(every, period, offset values.Duration, loc Location) (Window, error)
- func (w Window) Every() values.Duration
- func (w Window) GetLatestBounds(t values.Time) Bounds
- func (w Window) GetOverlappingBounds(start, stop values.Time) []Bounds
- func (w Window) IsZero() bool
- func (w Window) NextBounds(b Bounds) Bounds
- func (w Window) Period() values.Duration
- func (w Window) PrevBounds(b Bounds) Bounds
Constants ¶
Variables ¶
var UTC = Location{}
UTC is the UTC zone with no additional offset.
Types ¶
type Bounds ¶
type Bounds struct {
// contains filtered or unexported fields
}
func NewBounds ¶
NewBounds create a new Bounds given start and stop values
func (Bounds) Contains ¶
func (Bounds) Equal ¶
func (Bounds) Intersect ¶
Intersect returns the intersection of two bounds. It returns empty bounds if one of the input bounds are empty. TODO: there are several places that implement bounds and related utilities.
consider a central place for them?
func (Bounds) IsEmpty ¶
func (Bounds) IsZero ¶
IsZero returns true if the start and stop values are both zero.
func (Bounds) Length ¶
func (Bounds) Overlaps ¶
func (Bounds) Start ¶
func (Bounds) Stop ¶
func (Bounds) String ¶
func (Bounds) Union ¶
Union returns the smallest bounds which contain both input bounds. It returns empty bounds if one of the input bounds are empty.
type Location ¶
type Location struct { // Offset declares an additional offset that will be applied. Offset values.Duration // contains filtered or unexported fields }
Location is a Location that can be passed to Window to make the window timezone-aware.
func LoadLocation ¶
func (Location) Equal ¶
type Window ¶
type Window struct {
// contains filtered or unexported fields
}
TODO(nathanielc): Make the epoch a parameter to the window See https://github.com/influxdata/flux/issues/2093
Window is a description of an infinite set of boundaries in time.
Note the properties of this struct should remain private. Furthermore they should not be exposed via public getter methods. There should never be any need to access a window's properties in order to perform window calculations. The public interface should be sufficient.
func NewWindow ¶
NewWindow creates a window which can be used to determine the boundaries for a given point. Window boundaries start at the epoch plus the offset. Each subsequent window starts at a multiple of the every duration. Each window's length is the start boundary plus the period. Every must not be a mix of months and nanoseconds in order to preserve constant time bounds lookup.
func NewWindowInLocation ¶
NewWindowInLocation creates a window the same as NewWindow within the given location. Windows that are location-aware will take into account zone offset changes such as daylight savings time and other changes that occur to the location's clock time.
func (Window) Every ¶
func (Window) GetLatestBounds ¶
GetLatestBounds returns the bounds for the latest window bounds that contains the given time t. For underlapping windows that do not contain time t, the window directly before time t will be returned.
func (Window) GetOverlappingBounds ¶
GetOverlappingBounds returns a slice of bounds that overlaps the input bounds. The returned set of bounds are ordered by decreasing time.
func (Window) IsZero ¶
IsZero checks if the window's every duration is zero
func (Window) NextBounds ¶
NextBounds returns the next boundary in sequence from the given boundary.
func (Window) Period ¶
func (Window) PrevBounds ¶
PrevBounds returns the previous boundary in sequence from the given boundary.
Source Files ¶
- Version
- v0.196.1 (latest)
- Published
- Feb 19, 2025
- Platform
- linux/amd64
- Imports
- 6 packages
- Last checked
- 1 day ago –
Tools for package owners.