Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConvertLegacyPositionsFile ¶
ConvertLegacyPositionsFile will convert the legacy positions file to the new format if: 1. There is no file at the newpath 2. There is a file at the legacy path and that it is valid yaml
Types ¶
type Config ¶
type Config struct { SyncPeriod time.Duration `mapstructure:"sync_period" yaml:"sync_period"` PositionsFile string `mapstructure:"filename" yaml:"filename"` IgnoreInvalidYaml bool `mapstructure:"ignore_invalid_yaml" yaml:"ignore_invalid_yaml"` ReadOnly bool `mapstructure:"-" yaml:"-"` }
Config describes where to get position information from.
func (*Config) RegisterFlags ¶
RegisterFlags register flags.
type Entry ¶
Entry describes a positions file entry consisting of an absolute file path and the matching label set. An entry expects the string representation of a LabelSet or a Labels slice so that it can be utilized as a YAML key. The caller should make sure that the order and structure of the passed string representation is reproducible, and maintains the same format for both reading and writing from/to the positions file.
type LegacyFile ¶
LegacyFile is the copied struct for the static mode positions file.
type Positions ¶
type Positions interface { // GetString returns how far we've through a file as a string. // JournalTarget writes a journal cursor to the positions file, while // FileTarget writes an integer offset. Use Get to read the integer // offset. GetString(path, labels string) string // Get returns how far we've read through a file. Returns an error // if the value stored for the file is not an integer. Get(path, labels string) (int64, error) // PutString records (asynchronously) how far we've read through a file. // Unlike Put, it records a string offset and is only useful for // JournalTargets which doesn't have integer offsets. PutString(path, labels string, pos string) // Put records (asynchronously) how far we've read through a file. Put(path, labels string, pos int64) // Remove removes the position tracking for a filepath Remove(path, labels string) // SyncPeriod returns how often the positions file gets resynced SyncPeriod() time.Duration // Stop the Position tracker. Stop() }