Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(config)!: Nest batch_* and request_* sink config options #1493

Merged
merged 13 commits into from Jan 12, 2020
4 changes: 0 additions & 4 deletions .meta/env_vars.toml
@@ -1,17 +1,13 @@
[env_vars.LOG]
type = "string"
examples = ["debug"]
null = false
optional = true
description = """\
Sets Vector's log level. See the [log section in the monitoring \
guide][docs.monitoring#level] for more information on the available levels.\
"""

[env_vars.RUST_BACKTRACE]
type = "bool"
null = false
optional = true
description = """\
Enables backtraces when errors are logged. Use this when debugging only since \
it can degrade performance.\
Expand Down
6 changes: 2 additions & 4 deletions .meta/log_fields.toml
@@ -1,7 +1,6 @@
[log_fields.host]
type = "string"
examples = ["my.host.com"]
optional = true
description = """\
Represents the originating host of the log. This is commonly used in \
[sources][docs.sources] but can be overridden via the `host_field` option for \
Expand All @@ -11,15 +10,15 @@ relevant sources.\
[log_fields.message]
type = "string"
examples = ["<13>Feb 13 20:07:26 74794bfb6795 root[8539]: i am foobar"]
optional = false
required = true
description = """\
Represents the log message. This is the key used when ingesting raw string data.\
"""

[log_fields.timestamp]
type = "timestamp"
examples = ["2019-11-01T21:15:47.443232Z"]
optional = false
required = true
description = """\
A normalized [Rust DateTime struct][urls.rust_date_time] in UTC.\
"""
Expand All @@ -29,7 +28,6 @@ type = "*"
examples = [
{my-key = "my-value"}
]
optional = true
description = """\
In addition to the defined fields, you are welcome to add your own fields.\
"""
42 changes: 18 additions & 24 deletions .meta/metric_fields.toml
@@ -1,6 +1,6 @@
[metric_fields.kind]
type = "string"
optional = false
required = true
description = """\
The metric value kind. This determines how the value is merged downstream if \
metrics are aggregated.
Expand All @@ -13,15 +13,15 @@ incremental = "The value is incremental and is used to form a holistic value by
[metric_fields.name]
type = "string"
examples = ["login.count", "response_time"]
optional = false
required = true
description = """\
The metric name.\
"""

[metric_fields.tags]
type = "map"
examples = [{host = "my.host.com"}]
optional = false
required = true
description = """\
Tags that add additional metadata or context to the metric. These are simple \
key/value pairs in `string` format and cannot be nested.\
Expand All @@ -30,39 +30,37 @@ key/value pairs in `string` format and cannot be nested.\
[metric_fields.timestamp]
type = "timestamp"
examples = ["2019-11-01T21:15:47.443232Z"]
optional = false
required = true
description = """\
The metric timestamp, representing when the metric was created/ingested within \
Vector.\
"""

[metric_fields.type]
type = "struct"
optional = false
required = true
description = """\
A metric must be one of 6 types.\
"""


[metric_fields.type.fields.counter]
type = "struct"
optional = true
description = """\
A single value that can _only_ be incremented or reset to zero value, it cannot be incremented.\
"""

[metric_fields.type.fields.counter.fields.value]
type = "double"
examples = [2.6, 5.0]
optional = false
required = true
description = """\
The value to increment the counter by. Can only be positive.\
"""


[metric_fields.type.fields.gauge]
type = "struct"
optional = true
description = """\
A gauge represents a point-in-time value that can increase and decrease. \
Vector's internal gauge type represents changes to that value. Gauges should be \
Expand All @@ -72,55 +70,52 @@ used to track fluctuations in values, like current memory or CPU usage.\
[metric_fields.type.fields.gauge.fields.value]
type = "double"
examples = [554222.0]
optional = false
required = true
description = """\
A specific point-in-time value for the gauge.\
"""


[metric_fields.type.fields.set]
type = "struct"
optional = true
description = """\
A set represents a count of unique values, AKA the cardinality.\
"""

[metric_fields.type.fields.set.fields.values]
type = "[string]"
examples = [["unique item 1", "unique item 2"]]
optional = false
required = true
description = """\
The list of unique values.\
"""


[metric_fields.type.fields.distribution]
type = "struct"
optional = true
description = """\
A dsitribution represents a distribution of sampled values.\
"""

[metric_fields.type.fields.distribution.fields.values]
type = "[double]"
examples = [[12.0, 43.3, 25.2]]
optional = false
required = true
description = """\
The list of values contained within the distribution.\
"""

[metric_fields.type.fields.distribution.fields.sample_rates]
type = "[int]"
examples = [[12, 43, 25]]
optional = false
required = true
description = """\
The rate at which each individual value was sampled.\
"""


[metric_fields.type.fields.aggregated_histogram]
type = "struct"
optional = true
description = """\
Also called a "timer". A `aggregated_histogram` samples observations (usually \
things like request durations or response sizes) and counts them in \
Expand All @@ -130,39 +125,38 @@ configurable buckets. It also provides a sum of all observed values.\
[metric_fields.type.fields.aggregated_histogram.fields.buckets]
type = "[double]"
examples = [[1, 2, 5, 10, 25]]
optional = false
required = true
description = """\
The buckets contained within this histogram.\
"""

[metric_fields.type.fields.aggregated_histogram.fields.counts]
type = "[int]"
examples = [[1, 5, 25, 2, 5]]
optional = false
required = true
description = """\
The number of values contained within each bucket.\
"""

[metric_fields.type.fields.aggregated_histogram.fields.count]
type = "int"
examples = [54]
optional = false
required = true
description = """\
The total number of values contained within the histogram.\
"""

[metric_fields.type.fields.aggregated_histogram.fields.sum]
type = "double"
examples = [524.0]
optional = false
required = true
description = """\
The sum of all values contained within the histogram.\
"""


[metric_fields.type.fields.aggregated_summary]
type = "struct"
optional = true
description = """\
Similar to a histogram, a summary samples observations (usually things like \
request durations and response sizes). While it also provides a total count \
Expand All @@ -173,31 +167,31 @@ quantiles over a sliding time window.
[metric_fields.type.fields.aggregated_summary.fields.quantiles]
type = "[double]"
examples = [[0.1, 0.5, 0.75, 1.0]]
optional = false
required = true
description = """\
The quantiles contained within the summary, where where 0 ≤ quantile ≤ 1.\
"""

[metric_fields.type.fields.aggregated_summary.fields.values]
type = "[double]"
examples = [[2.1, 4.68, 23.02, 120.1]]
optional = false
required = true
description = """\
The values contained within the summary that align with the `quantiles`.\
"""

[metric_fields.type.fields.aggregated_summary.fields.count]
type = "int"
examples = [54]
optional = false
required = true
description = """\
The total number of values contained within the summary.\
"""

[metric_fields.type.fields.aggregated_summary.fields.sum]
type = "double"
examples = [524.0]
optional = false
required = true
description = """\
The sum of all values contained within the summary.\
"""
2 changes: 0 additions & 2 deletions .meta/options.toml
@@ -1,7 +1,6 @@
[options.data_dir]
type = "string"
examples = ["/var/lib/vector"]
null = true
description = """\
The directory used for persisting Vector state, such as on-disk buffers, \
file checkpoints, and more. Please make sure the Vector project has write \
Expand All @@ -11,7 +10,6 @@ permissions to this dir.\
[options.dns_servers]
type = "[string]"
examples = [["0.0.0.0:53"]]
null = true
description = """\
The list of DNS servers Vector will use to resolve DNS requests. When set \
Vector will ignore the system configuration and use only the list of DNS \
Expand Down
12 changes: 5 additions & 7 deletions .meta/sinks/aws_cloudwatch_logs.toml
@@ -1,7 +1,7 @@
[sinks.aws_cloudwatch_logs]
title = "AWS Cloudwatch Logs"
batch_size = 1049000
batch_timeout = 1
batch_max_size = 1049000
batch_timeout_secs = 1
beta = true
buffer = true
common = true
Expand Down Expand Up @@ -29,7 +29,7 @@ examples = [
"ec2/{{ instance_id }}",
"group-name"
]
null = false
required = true
partition_key = true
templateable = true
description = "The [group name][urls.aws_cw_logs_group_name] of the target CloudWatch Logs stream."
Expand All @@ -38,7 +38,7 @@ description = "The [group name][urls.aws_cw_logs_group_name] of the target Cloud
type = "string"
common = true
examples = ["us-east-1"]
null = false
required = true
description = "The [AWS region][urls.aws_cw_logs_regions] of the target CloudWatch Logs stream resides."

[sinks.aws_cloudwatch_logs.options.stream_name]
Expand All @@ -49,7 +49,7 @@ examples = [
"%Y-%m-%d",
"stream-name"
]
null = false
required = true
partition_key = true
templateable = true
description = "The [stream name][urls.aws_cw_logs_stream_name] of the target CloudWatch Logs stream."
Expand All @@ -58,7 +58,6 @@ description = "The [stream name][urls.aws_cw_logs_stream_name] of the target Clo
type = "bool"
common = true
default = true
null = true
description = """\
Dynamically create a [log group][urls.aws_cw_logs_group_name] if it does not already exist. This will ignore \
`create_missing_stream` directly after creating the group and will create the first stream.\
Expand All @@ -68,7 +67,6 @@ Dynamically create a [log group][urls.aws_cw_logs_group_name] if it does not alr
type = "bool"
common = true
default = true
null = true
description = "Dynamically create a [log stream][urls.aws_cw_logs_stream_name] if it does not already exist."

[[sinks.aws_cloudwatch_logs.output.examples]]
Expand Down
4 changes: 2 additions & 2 deletions .meta/sinks/aws_cloudwatch_metrics.toml
Expand Up @@ -16,12 +16,12 @@ write_to_description = "[Amazon Web Service's CloudWatch Metrics service][urls.a
type = "string"
common = true
examples = ["service"]
null = false
required = true
description = "A [namespace](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Namespace) that will isolate different metrics from each other."

[sinks.aws_cloudwatch_metrics.options.region]
type = "string"
common = true
examples = ["us-east-1"]
null = false
required = true
description = "The [AWS region][urls.aws_cw_metrics_regions] of the target CloudWatch stream resides."
8 changes: 4 additions & 4 deletions .meta/sinks/aws_kinesis_firehose.toml
@@ -1,7 +1,7 @@
[sinks.aws_kinesis_firehose]
title = "AWS Kinesis Firehose"
batch_size = 1049000
batch_timeout = 1
batch_max_size = 1049000
batch_timeout_secs = 1
beta = true
buffer = true
common = false
Expand All @@ -25,14 +25,14 @@ write_to_description = "[Amazon Web Service's Kinesis Data Firehose][urls.aws_ki
type = "string"
common = true
examples = ["us-east-1"]
null = false
required = true
description = "The [AWS region][urls.aws_cw_logs_regions] of the target Kinesis Firehose delivery stream resides."

[sinks.aws_kinesis_firehose.options.stream_name]
type = "string"
common = true
examples = ["my-stream"]
null = false
required = true
description = "The [stream name][urls.aws_cw_logs_stream_name] of the target Kinesis Firehose delivery stream."

[[sinks.aws_kinesis_firehose.output.examples]]
Expand Down