types

package module
v0.75.4 Latest Latest
Warning

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

Go to latest
Published: Feb 16, 2026 License: Apache-2.0 Imports: 1 Imported by: 2

Documentation

Overview

Package types provides data structures and types for the logs system.

Index

Constants

View Source
const (
	InvalidFingerprintValue = 0
	// DefaultLinesCount is the default number of lines to use for fingerprinting when fingerprint_strategy is line_checksum
	DefaultLinesCount = 1
	// DefaultBytesCount is the default number of bytes to use for fingerprinting when fingerprint_strategy is byte_checksum
	DefaultBytesCount = 1024
)

InvalidFingerprintValue is the value that is returned when a fingerprint cannot be produced

Variables

This section is empty.

Functions

This section is empty.

Types

type Fingerprint

type Fingerprint struct {
	Value  uint64
	Config *FingerprintConfig
}

Fingerprint struct that stores both the value and config used to derive that value

func (*Fingerprint) Equals

func (f *Fingerprint) Equals(other *Fingerprint) bool

Equals compares two fingerprints and returns true if they are equal

func (*Fingerprint) String

func (f *Fingerprint) String() string

String converts the fingerprint to a string

func (*Fingerprint) ValidFingerprint

func (f *Fingerprint) ValidFingerprint() bool

ValidFingerprint returns true if the fingerprint is valid (non-zero value and non-nil config)

type FingerprintConfig

type FingerprintConfig struct {
	// FingerprintStrategy defines the strategy used for fingerprinting. Options are:
	// - "line_checksum": compute checksum based on line content (default)
	// - "byte_checksum": compute checksum based on byte content
	// - "disabled": disable fingerprinting
	FingerprintStrategy FingerprintStrategy `json:"fingerprint_strategy" mapstructure:"fingerprint_strategy" yaml:"fingerprint_strategy"`

	// Count is the number of lines or bytes to use for fingerprinting, depending on the strategy
	Count int `json:"count" mapstructure:"count" yaml:"count"`

	// CountToSkip is the number of lines or bytes to skip before starting fingerprinting
	CountToSkip int `json:"count_to_skip" mapstructure:"count_to_skip" yaml:"count_to_skip"`

	// MaxBytes is only used for line-based fingerprinting to prevent overloading
	// when reading large files. It's ignored for byte-based fingerprinting.
	MaxBytes int `json:"max_bytes" mapstructure:"max_bytes" yaml:"max_bytes"`

	// Source is the source of the fingerprint config
	// - "per-source": the fingerprint config is set per-source
	// - "global": the fingerprint config is set globally
	// - "none": the fingerprint config is not set
	Source FingerprintConfigSource `json:"source" mapstructure:"source" yaml:"source"`
}

FingerprintConfig defines the options for the fingerprint configuration.

type FingerprintConfigSource added in v0.74.0

type FingerprintConfigSource string

FingerprintConfigSource defines the source of the fingerprint config

const (
	// FingerprintConfigSourcePerSource defines the fingerprint config is set per-source
	FingerprintConfigSourcePerSource FingerprintConfigSource = "per-source"
	// FingerprintConfigSourceGlobal defines the fingerprint config is set globally
	FingerprintConfigSourceGlobal FingerprintConfigSource = "global"
	// FingerprintConfigSourceDefault defines the fingerprint config is the default config
	FingerprintConfigSourceDefault FingerprintConfigSource = "default"
)

type FingerprintStrategy

type FingerprintStrategy string

FingerprintStrategy defines the strategy used for fingerprinting

const (
	// FingerprintStrategyLineChecksum computes a checksum based on line content
	FingerprintStrategyLineChecksum FingerprintStrategy = "line_checksum"
	// FingerprintStrategyByteChecksum computes a checksum based on byte content
	FingerprintStrategyByteChecksum FingerprintStrategy = "byte_checksum"
	// FingerprintStrategyDisabled disables fingerprinting
	FingerprintStrategyDisabled FingerprintStrategy = "disabled"
)

func (FingerprintStrategy) String

func (s FingerprintStrategy) String() string

func (FingerprintStrategy) Validate

func (s FingerprintStrategy) Validate() error

Validate checks if the fingerprint strategy is valid (either line_checksum or byte_checksum)

Jump to

Keyboard shortcuts

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