shipper

package
v0.1.0-rc.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 30, 2018 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Package shipper detects directories on the local file system and uploads them to a block storage.

Index

Constants

View Source
const MetaFilename = "thanos.shipper.json"

MetaFilename is the known JSON filename for meta information.

Variables

This section is empty.

Functions

func WriteMetaFile

func WriteMetaFile(dir string, meta *Meta) error

WriteMetaFile writes the given meta into <dir>/thanos.shipper.json.

Types

type Meta

type Meta struct {
	Version  int         `json:"version"`
	Uploaded []ulid.ULID `json:"uploaded"`
}

Meta defines the fomart thanos.shipper.json file that the shipper places in the data directory.

func ReadMetaFile

func ReadMetaFile(dir string) (*Meta, error)

ReadMetaFile reads the given meta from <dir>/thanos.shipper.json.

type Shipper

type Shipper struct {
	// contains filtered or unexported fields
}

Shipper watches a directory for matching files and directories and uploads them to a remote data store.

func New

func New(
	logger log.Logger,
	r prometheus.Registerer,
	dir string,
	bucket objstore.Bucket,
	lbls func() labels.Labels,
) *Shipper

New creates a new shipper that detects new TSDB blocks in dir and uploads them to remote if necessary. It attaches the return value of the labels getter to uploaded data.

func (*Shipper) Sync

func (s *Shipper) Sync(ctx context.Context)

Sync performs a single synchronization, which ensures all local blocks have been uploaded to the object bucket once. It is not concurrency-safe.

func (*Shipper) Timestamps

func (s *Shipper) Timestamps() (minTime, maxSyncTime int64, err error)

Timestamps returns the minimum timestamp for which data is available and the highest timestamp of blocks that were successfully uploaded.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL