vector
vector copied to clipboard
enhancement(components): Add customizable connection retry options for Pulsar client in Pulsar sink
I want to be able to customize the connection retry options for the Pulsar client. This fixes https://github.com/vectordotdev/vector/issues/21242
Thanks, @jszwedko! I addressed your feedback. While doing so, I realized that I should probably make those new options optional. I converted both the entire option object and each field to be optional. I removed the custom default and am picking the Pulsar defaults where no user-provided value exists.
I'm completely new to Rust, so please let me know if my changes aren't making any sense :)
@jszwedko I had to run cargo fmt to address the formatting issues. I pushed the changes.
Regression Detector Results
Run ID: a3563300-23c8-4ebe-bada-a1cb0d3cbd38 Metrics dashboard
Baseline: f1bdfc09b1c8badff91c3e57438f0c17bc504a84 Comparison: 4c11c4747937b155f32df37eb1baa1acac14299e
Performance changes are noted in the perf column of each table:
- ✅ = significantly better comparison variant performance
- ❌ = significantly worse comparison variant performance
- ➖ = no significant change in performance
No significant changes in experiment optimization goals
Confidence level: 90.00% Effect size tolerance: |Δ mean %| ≥ 5.00%
There were no significant changes in experiment optimization goals at this confidence level and effect size tolerance.
Experiments ignored for regressions
Regressions in experiments with settings containing erratic: true are ignored.
| perf | experiment | goal | Δ mean % | Δ mean % CI | links |
|---|---|---|---|---|---|
| ➖ | file_to_blackhole | egress throughput | +0.31 | [-3.97, +4.59] |
Fine details of change detection per experiment
| perf | experiment | goal | Δ mean % | Δ mean % CI | links |
|---|---|---|---|---|---|
| ➖ | syslog_humio_logs | ingress throughput | +0.92 | [+0.83, +1.00] | |
| ➖ | datadog_agent_remap_blackhole_acks | ingress throughput | +0.74 | [+0.63, +0.86] | |
| ➖ | file_to_blackhole | egress throughput | +0.31 | [-3.97, +4.59] | |
| ➖ | splunk_hec_route_s3 | ingress throughput | +0.21 | [-0.13, +0.55] | |
| ➖ | http_to_s3 | ingress throughput | +0.18 | [+0.01, +0.35] | |
| ➖ | http_to_http_acks | ingress throughput | +0.02 | [-0.47, +0.51] | |
| ➖ | http_to_http_noack | ingress throughput | +0.01 | [-0.05, +0.07] | |
| ➖ | splunk_hec_to_splunk_hec_logs_noack | ingress throughput | +0.00 | [-0.02, +0.02] | |
| ➖ | splunk_hec_to_splunk_hec_logs_acks | ingress throughput | +0.00 | [-0.03, +0.03] | |
| ➖ | splunk_hec_indexer_ack_blackhole | ingress throughput | -0.00 | [-0.02, +0.02] | |
| ➖ | http_to_http_json | ingress throughput | -0.00 | [-0.05, +0.04] | |
| ➖ | socket_to_socket_blackhole | ingress throughput | -0.19 | [-0.25, -0.14] | |
| ➖ | otlp_http_to_blackhole | ingress throughput | -0.20 | [-0.29, -0.11] | |
| ➖ | datadog_agent_remap_blackhole | ingress throughput | -0.75 | [-0.88, -0.61] | |
| ➖ | syslog_log2metric_tag_cardinality_limit_blackhole | ingress throughput | -1.10 | [-1.22, -0.98] | |
| ➖ | syslog_log2metric_humio_metrics | ingress throughput | -1.41 | [-1.61, -1.22] | |
| ➖ | syslog_regex_logs2metric_ddmetrics | ingress throughput | -1.63 | [-1.77, -1.50] | |
| ➖ | datadog_agent_remap_datadog_logs | ingress throughput | -1.69 | [-1.91, -1.48] | |
| ➖ | http_text_to_http_json | ingress throughput | -1.91 | [-2.13, -1.68] | |
| ➖ | syslog_splunk_hec_logs | ingress throughput | -1.92 | [-2.01, -1.82] | |
| ➖ | otlp_grpc_to_blackhole | ingress throughput | -1.98 | [-2.18, -1.78] | |
| ➖ | syslog_log2metric_splunk_hec_metrics | ingress throughput | -2.27 | [-2.50, -2.05] | |
| ➖ | datadog_agent_remap_datadog_logs_acks | ingress throughput | -2.64 | [-2.81, -2.47] | |
| ➖ | http_elasticsearch | ingress throughput | -2.96 | [-3.12, -2.79] | |
| ➖ | fluent_elasticsearch | ingress throughput | -3.52 | [-4.06, -2.97] | |
| ➖ | syslog_loki | ingress throughput | -4.15 | [-4.23, -4.08] |
Explanation
A regression test is an A/B test of target performance in a repeatable rig, where "performance" is measured as "comparison variant minus baseline variant" for an optimization goal (e.g., ingress throughput). Due to intrinsic variability in measuring that goal, we can only estimate its mean value for each experiment; we report uncertainty in that value as a 90.00% confidence interval denoted "Δ mean % CI".
For each experiment, we decide whether a change in performance is a "regression" -- a change worth investigating further -- if all of the following criteria are true:
-
Its estimated |Δ mean %| ≥ 5.00%, indicating the change is big enough to merit a closer look.
-
Its 90.00% confidence interval "Δ mean % CI" does not contain zero, indicating that if our statistical model is accurate, there is at least a 90.00% chance there is a difference in performance between baseline and comparison variants.
-
Its configuration does not mark it "erratic".
Regression Detector Results
Run ID: efab2af0-6a87-4d43-89fa-03813b6df59d Metrics dashboard
Baseline: fc6883fee7c449d4749ea884dde7f9062aa6d2f2 Comparison: baf6a555051ead0890801920fe88b6f86cd972ae
Performance changes are noted in the perf column of each table:
- ✅ = significantly better comparison variant performance
- ❌ = significantly worse comparison variant performance
- ➖ = no significant change in performance
No significant changes in experiment optimization goals
Confidence level: 90.00% Effect size tolerance: |Δ mean %| ≥ 5.00%
There were no significant changes in experiment optimization goals at this confidence level and effect size tolerance.
Experiments ignored for regressions
Regressions in experiments with settings containing erratic: true are ignored.
| perf | experiment | goal | Δ mean % | Δ mean % CI | links |
|---|---|---|---|---|---|
| ➖ | file_to_blackhole | egress throughput | +2.20 | [-2.08, +6.47] |
Fine details of change detection per experiment
| perf | experiment | goal | Δ mean % | Δ mean % CI | links |
|---|---|---|---|---|---|
| ➖ | syslog_log2metric_splunk_hec_metrics | ingress throughput | +3.27 | [+3.15, +3.40] | |
| ➖ | file_to_blackhole | egress throughput | +2.20 | [-2.08, +6.47] | |
| ➖ | splunk_hec_route_s3 | ingress throughput | +0.83 | [+0.54, +1.12] | |
| ➖ | datadog_agent_remap_datadog_logs | ingress throughput | +0.10 | [-0.02, +0.22] | |
| ➖ | http_to_http_noack | ingress throughput | +0.01 | [-0.05, +0.06] | |
| ➖ | splunk_hec_indexer_ack_blackhole | ingress throughput | +0.00 | [-0.01, +0.02] | |
| ➖ | http_to_http_json | ingress throughput | +0.00 | [-0.05, +0.05] | |
| ➖ | splunk_hec_to_splunk_hec_logs_noack | ingress throughput | +0.00 | [-0.02, +0.02] | |
| ➖ | http_to_http_acks | ingress throughput | -0.02 | [-0.52, +0.47] | |
| ➖ | splunk_hec_to_splunk_hec_logs_acks | ingress throughput | -0.23 | [-0.27, -0.19] | |
| ➖ | otlp_http_to_blackhole | ingress throughput | -0.32 | [-0.41, -0.23] | |
| ➖ | http_text_to_http_json | ingress throughput | -0.47 | [-0.62, -0.31] | |
| ➖ | datadog_agent_remap_datadog_logs_acks | ingress throughput | -0.61 | [-0.84, -0.39] | |
| ➖ | http_to_s3 | ingress throughput | -0.84 | [-1.02, -0.67] | |
| ➖ | fluent_elasticsearch | ingress throughput | -1.00 | [-1.54, -0.45] | |
| ➖ | syslog_loki | ingress throughput | -1.05 | [-1.13, -0.96] | |
| ➖ | syslog_log2metric_humio_metrics | ingress throughput | -1.29 | [-1.46, -1.11] | |
| ➖ | socket_to_socket_blackhole | ingress throughput | -1.59 | [-1.66, -1.52] | |
| ➖ | datadog_agent_remap_blackhole | ingress throughput | -1.79 | [-1.91, -1.67] | |
| ➖ | syslog_humio_logs | ingress throughput | -1.84 | [-1.98, -1.70] | |
| ➖ | syslog_splunk_hec_logs | ingress throughput | -1.86 | [-1.99, -1.73] | |
| ➖ | otlp_grpc_to_blackhole | ingress throughput | -1.92 | [-2.12, -1.71] | |
| ➖ | datadog_agent_remap_blackhole_acks | ingress throughput | -1.92 | [-2.02, -1.83] | |
| ➖ | syslog_log2metric_tag_cardinality_limit_blackhole | ingress throughput | -2.68 | [-2.75, -2.61] | |
| ➖ | http_elasticsearch | ingress throughput | -4.60 | [-4.78, -4.43] | |
| ➖ | syslog_regex_logs2metric_ddmetrics | ingress throughput | -4.71 | [-4.88, -4.54] |
Explanation
A regression test is an A/B test of target performance in a repeatable rig, where "performance" is measured as "comparison variant minus baseline variant" for an optimization goal (e.g., ingress throughput). Due to intrinsic variability in measuring that goal, we can only estimate its mean value for each experiment; we report uncertainty in that value as a 90.00% confidence interval denoted "Δ mean % CI".
For each experiment, we decide whether a change in performance is a "regression" -- a change worth investigating further -- if all of the following criteria are true:
-
Its estimated |Δ mean %| ≥ 5.00%, indicating the change is big enough to merit a closer look.
-
Its 90.00% confidence interval "Δ mean % CI" does not contain zero, indicating that if our statistical model is accurate, there is at least a 90.00% chance there is a difference in performance between baseline and comparison variants.
-
Its configuration does not mark it "erratic".
Regression Detector Results
Run ID: c20aad59-575a-43b0-ad74-8bb8d3bcc431 Metrics dashboard
Baseline: dc441a28bb8dda527e79bbc3e8145bcb5ee0cadf Comparison: 178189e692d6a0f6681991bce314c3f74fd2df1b
Performance changes are noted in the perf column of each table:
- ✅ = significantly better comparison variant performance
- ❌ = significantly worse comparison variant performance
- ➖ = no significant change in performance
No significant changes in experiment optimization goals
Confidence level: 90.00% Effect size tolerance: |Δ mean %| ≥ 5.00%
There were no significant changes in experiment optimization goals at this confidence level and effect size tolerance.
Experiments ignored for regressions
Regressions in experiments with settings containing erratic: true are ignored.
| perf | experiment | goal | Δ mean % | Δ mean % CI | links |
|---|---|---|---|---|---|
| ➖ | file_to_blackhole | egress throughput | +4.06 | [-0.22, +8.34] |
Fine details of change detection per experiment
| perf | experiment | goal | Δ mean % | Δ mean % CI | links |
|---|---|---|---|---|---|
| ➖ | file_to_blackhole | egress throughput | +4.06 | [-0.22, +8.34] | |
| ➖ | splunk_hec_route_s3 | ingress throughput | +3.04 | [+2.74, +3.34] | |
| ➖ | syslog_log2metric_tag_cardinality_limit_blackhole | ingress throughput | +2.59 | [+2.41, +2.77] | |
| ➖ | syslog_log2metric_splunk_hec_metrics | ingress throughput | +2.31 | [+2.21, +2.41] | |
| ➖ | syslog_log2metric_humio_metrics | ingress throughput | +1.83 | [+1.68, +1.99] | |
| ➖ | datadog_agent_remap_datadog_logs | ingress throughput | +1.66 | [+1.44, +1.89] | |
| ➖ | otlp_grpc_to_blackhole | ingress throughput | +1.52 | [+1.33, +1.70] | |
| ➖ | syslog_loki | ingress throughput | +0.93 | [+0.85, +1.00] | |
| ➖ | http_elasticsearch | ingress throughput | +0.37 | [+0.24, +0.49] | |
| ➖ | http_to_s3 | ingress throughput | +0.34 | [+0.18, +0.51] | |
| ➖ | http_text_to_http_json | ingress throughput | +0.03 | [-0.10, +0.16] | |
| ➖ | http_to_http_noack | ingress throughput | +0.02 | [-0.04, +0.07] | |
| ➖ | splunk_hec_indexer_ack_blackhole | ingress throughput | +0.00 | [-0.02, +0.02] | |
| ➖ | splunk_hec_to_splunk_hec_logs_noack | ingress throughput | +0.00 | [-0.02, +0.02] | |
| ➖ | http_to_http_acks | ingress throughput | -0.00 | [-0.49, +0.49] | |
| ➖ | splunk_hec_to_splunk_hec_logs_acks | ingress throughput | -0.00 | [-0.03, +0.03] | |
| ➖ | http_to_http_json | ingress throughput | -0.00 | [-0.05, +0.04] | |
| ➖ | datadog_agent_remap_blackhole_acks | ingress throughput | -0.09 | [-0.19, +0.02] | |
| ➖ | datadog_agent_remap_datadog_logs_acks | ingress throughput | -0.38 | [-0.52, -0.24] | |
| ➖ | syslog_humio_logs | ingress throughput | -0.54 | [-0.74, -0.34] | |
| ➖ | syslog_splunk_hec_logs | ingress throughput | -0.61 | [-0.69, -0.52] | |
| ➖ | datadog_agent_remap_blackhole | ingress throughput | -0.70 | [-0.80, -0.61] | |
| ➖ | otlp_http_to_blackhole | ingress throughput | -1.05 | [-1.15, -0.95] | |
| ➖ | fluent_elasticsearch | ingress throughput | -1.84 | [-2.37, -1.30] | |
| ➖ | syslog_regex_logs2metric_ddmetrics | ingress throughput | -2.09 | [-2.24, -1.94] | |
| ➖ | socket_to_socket_blackhole | ingress throughput | -2.39 | [-2.48, -2.30] |
Explanation
A regression test is an A/B test of target performance in a repeatable rig, where "performance" is measured as "comparison variant minus baseline variant" for an optimization goal (e.g., ingress throughput). Due to intrinsic variability in measuring that goal, we can only estimate its mean value for each experiment; we report uncertainty in that value as a 90.00% confidence interval denoted "Δ mean % CI".
For each experiment, we decide whether a change in performance is a "regression" -- a change worth investigating further -- if all of the following criteria are true:
-
Its estimated |Δ mean %| ≥ 5.00%, indicating the change is big enough to merit a closer look.
-
Its 90.00% confidence interval "Δ mean % CI" does not contain zero, indicating that if our statistical model is accurate, there is at least a 90.00% chance there is a difference in performance between baseline and comparison variants.
-
Its configuration does not mark it "erratic".