Documentation
¶
Index ¶
Constants ¶
View Source
const ( EncoderTypeJSON = "json" EncoderTypeRaw = "raw" )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Config ¶
type Config struct {
// > @3@4@5@6
// >
// > The list of HTTP endpoints in the following format: `SCHEMA://HOST:PORT/PATH`
Endpoints []string `json:"endpoints" required:"true"` // *
// > @3@4@5@6
// >
// > Content-Type header for HTTP requests.
ContentType string `json:"content_type" default:"application/json"` // *
// > @3@4@5@6
// >
// > Configure event serialization before sending.
// > Includes:
// > 1) Type - codec to use for serializing events:
// > * `json` - serializes the full event as a JSON object (default).
// > * `raw` - extracts a single field and sends its value as-is.
// > By default `json` is used.
// > 2) Params - Encoder parameters.
Encoding EncodingConfig `json:"encoding" child:"true"` // *
// > @3@4@5@6
// >
// > If set, the plugin will use gzip encoding.
UseGzip bool `json:"use_gzip" default:"false"` // *
// > @3@4@5@6
// >
// > Gzip compression level. Used if `use_gzip=true`.
GzipCompressionLevel string `json:"gzip_compression_level" default:"default" options:"default|no|best-speed|best-compression|huffman-only"` // *
// > @3@4@5@6
// >
// > Username for HTTP Basic Authentication.
Username string `json:"username"` // *
// > @3@4@5@6
// >
// > Password for HTTP Basic Authentication.
Password string `json:"password"` // *
// > @3@4@5@6
// >
// > Base64-encoded token for authorization; if set, overrides username/password.
APIKey string `json:"api_key"` // *
// > @3@4@5@6
// > Path or content of a PEM-encoded CA file.
CACert string `json:"ca_cert"` // *
// > @3@4@5@6
// >
// > Keep-alive config.
// >
// > `KeepAliveConfig` params:
// > * `max_idle_conn_duration` - idle keep-alive connections are closed after this duration.
// > By default idle connections are closed after `10s`.
// > * `max_conn_duration` - keep-alive connections are closed after this duration.
// > If set to `0` - connection duration is unlimited.
// > By default connection duration is `5m`.
KeepAlive KeepAliveConfig `json:"keep_alive" child:"true"` // *
// > @3@4@5@6
// >
// > It defines how much time to wait for the connection.
ConnectionTimeout cfg.Duration `json:"connection_timeout" default:"5s" parse:"duration"` // *
ConnectionTimeout_ time.Duration
// > @3@4@5@6
// >
// > It defines how many workers will be instantiated to send batches.
WorkersCount cfg.Expression `json:"workers_count" default:"gomaxprocs*4" parse:"expression"` // *
WorkersCount_ int
// > @3@4@5@6
// >
// > A maximum quantity of events to pack into one batch.
BatchSize cfg.Expression `json:"batch_size" default:"capacity/4" parse:"expression"` // *
BatchSize_ int
// > @3@4@5@6
// >
// > A minimum size of events in a batch to send.
// > If both batch_size and batch_size_bytes are set, they will work together.
BatchSizeBytes cfg.Expression `json:"batch_size_bytes" default:"0" parse:"expression"` // *
BatchSizeBytes_ int
// > @3@4@5@6
// >
// > After this timeout batch will be sent even if batch isn't full.
BatchFlushTimeout cfg.Duration `json:"batch_flush_timeout" default:"200ms" parse:"duration"` // *
BatchFlushTimeout_ time.Duration
// > @3@4@5@6
// >
// > Retries of insertion. If File.d cannot insert for this number of attempts,
// > File.d will fall with non-zero exit code or skip message (see fatal_on_failed_insert).
Retry int `json:"retry" default:"10"` // *
// > @3@4@5@6
// >
// > After an insert error, fall with a non-zero exit code or not. A configured deadqueue disables fatal exits.
FatalOnFailedInsert bool `json:"fatal_on_failed_insert" default:"false"` // *
// > @3@4@5@6
// >
// > Enable split big batches
SplitBatch bool `json:"split_batch" default:"false"` // *
// > @3@4@5@6
// >
// > Retention milliseconds for retry to DB.
Retention cfg.Duration `json:"retention" default:"1s" parse:"duration"` // *
Retention_ time.Duration
// > @3@4@5@6
// >
// > Multiplier for exponential increase of retention between retries
RetentionExponentMultiplier int `json:"retention_exponentially_multiplier" default:"2"` // *
// > @3@4@5@6
// >
// > After a non-retryable write error, fall with a non-zero exit code or not
Strict bool `json:"strict" default:"false"` // *
// > @3@4@5@6
// >
// > Period for which addresses will be banned in case of unavailability.
// > If set to 0, circuit breaker is disabled.
BanPeriod cfg.Duration `json:"ban_period" default:"10s" parse:"duration"` // *
BanPeriod_ time.Duration
// > @3@4@5@6
// >
// > Interval for checking banned endpoints.
ReconnectInterval cfg.Duration `json:"reconnect_interval" default:"5s" parse:"duration"` // *
ReconnectInterval_ time.Duration
}
! config-params ^ config-params
type Encoder ¶ added in v0.81.2
func NewEncoder ¶ added in v0.81.2
func NewEncoder(cfg EncodingConfig) (Encoder, error)
type EncodingConfig ¶ added in v0.81.2
type EncodingConfig struct {
Type string `json:"type" default:"json" options:"json|raw"`
Params json.RawMessage `json:"params"`
}
type JSONEncoder ¶ added in v0.81.2
type JSONEncoder struct{}
type JSONEncoderParams ¶ added in v0.81.2
type JSONEncoderParams struct{}
type KeepAliveConfig ¶
type KeepAliveConfig struct {
// Idle keep-alive connections are closed after this duration.
MaxIdleConnDuration cfg.Duration `json:"max_idle_conn_duration" parse:"duration" default:"10s"`
MaxIdleConnDuration_ time.Duration
// Keep-alive connections are closed after this duration.
MaxConnDuration cfg.Duration `json:"max_conn_duration" parse:"duration" default:"5m"`
MaxConnDuration_ time.Duration
}
type Plugin ¶
type Plugin struct {
// contains filtered or unexported fields
}
type RawEncoder ¶ added in v0.81.2
type RawEncoder struct {
// contains filtered or unexported fields
}
type RawEncoderParams ¶ added in v0.81.2
type RawEncoderParams struct {
Field string `json:"field" default:"message"`
}
Click to show internal directories.
Click to hide internal directories.