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

feat(vrl): Adds chunks function #13794

Merged
merged 24 commits into from
Aug 18, 2022

Conversation

briankung
Copy link
Contributor

@briankung briankung commented Aug 1, 2022

Issue: #13329

This adds a chunks method (chunks rather than chunk following the slice naming convention for slice's chunks method). This chunks data based on a given chunk_size in bytes. The result is an array of bytes of chunk_size in length.


👇 The below was true for the initial PR, which attempted to respect unicode code point boundaries. After this comment that is no longer the aim of this PR.


It attempts to respect unicode code point boundaries, but makes no guarantees about grapheme cluster boundaries: https://unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries

A quick overview is that valid UTF-8 code points are up to 4 bytes in length, the length of which is denoted by the first few bits in the first byte. See https://en.wikipedia.org/wiki/UTF-8#Encoding).

However, user-perceived characters can consist of several UTF-8 code points (see above link on Grapheme Cluster Boundaries). There is no simple algorithm for splitting text based on grapheme cluster boundaries because grapheme clusters are of arbitrary lengths.

Therefore, the algorithm used here only attempts to split text based on code point boundaries, which are at most 4 bytes in length, and not on grapheme cluster boundaries.

Additional subtasks that I would like to complete:

  • Basic functionality - splitting bytes by chunk_size
  • Respects unicode code point boundaries
  • Fix fn examples tests
  • Consider refactoring the main loop
  • Add a utf configuration flag to treat it as utf or not (default: true)
  • Add documentation
    • Mention the unicode code points limitation
    • Mention the chunk_size limitation
  • Add tests for data size (i.e. check that a 1MB limit actually does limit it to 1MB chunks) I don't want to add 1MB+ to the repo, that would be silly

@netlify
Copy link

netlify bot commented Aug 1, 2022

Deploy Preview for vector-project ready!

Name Link
🔨 Latest commit 46b92db
🔍 Latest deploy log https://app.netlify.com/sites/vector-project/deploys/62fe35fb2a779f0008585912
😎 Deploy Preview https://deploy-preview-13794--vector-project.netlify.app/reports/lighthouse
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site settings.

@github-actions github-actions bot added the domain: vrl Anything related to the Vector Remap Language label Aug 1, 2022
lib/value/src/value/convert.rs Show resolved Hide resolved
lib/vrl/stdlib/Cargo.toml Show resolved Hide resolved
lib/vrl/stdlib/src/chunks.rs Show resolved Hide resolved
lib/vrl/stdlib/src/chunks.rs Show resolved Hide resolved
lib/vrl/stdlib/src/chunks.rs Show resolved Hide resolved
@github-actions
Copy link

github-actions bot commented Aug 1, 2022

Soak Test Results

Baseline: e5c435f
Comparison: 00ef727
Total Vector CPUs: 4

Explanation

A soak test is an integrated performance test for vector in a repeatable rig, with varying configuration for vector. What follows is a statistical summary of a brief vector run for each configuration across SHAs given above. The goal of these tests are to determine, quickly, if vector performance is changed and to what degree by a pull request. Where appropriate units are scaled per-core.

The table below, if present, lists those experiments that have experienced a statistically significant change in their throughput performance between baseline and comparision SHAs, with 90.0% confidence OR have been detected as newly erratic. Negative values mean that baseline is faster, positive comparison. Results that do not exhibit more than a ±8.87% change in mean throughput are discarded. An experiment is erratic if its coefficient of variation is greater than 0.3. The abbreviated table will be omitted if no interesting changes are observed.

Changes in throughput with confidence ≥ 90.00% and absolute Δ mean >= ±8.87%:

experiment Δ mean Δ mean % confidence
socket_to_socket_blackhole -9.08MiB -40.2 100.00%
Fine details of change detection per experiment.
experiment Δ mean Δ mean % confidence baseline mean baseline stdev baseline stderr baseline outlier % baseline CoV comparison mean comparison stdev comparison stderr comparison outlier % comparison CoV erratic declared erratic
datadog_agent_remap_blackhole_acks 3.23MiB 5.37 100.00% 60.15MiB 3.91MiB 81.4KiB 0 0.0649506 63.38MiB 3.04MiB 63.49KiB 0 0.0479118 False False
syslog_loki 531.97KiB 3.53 100.00% 14.73MiB 413.09KiB 8.45KiB 0 0.0273892 15.25MiB 749.94KiB 15.24KiB 0 0.0480291 False False
splunk_hec_route_s3 651.28KiB 3.39 100.00% 18.76MiB 2.42MiB 50.51KiB 0 0.129241 19.39MiB 2.2MiB 45.92KiB 0 0.113195 False False
syslog_splunk_hec_logs 555.96KiB 3.26 100.00% 16.64MiB 789.27KiB 16.06KiB 0 0.0463076 17.18MiB 699.04KiB 14.26KiB 0 0.0397176 False False
http_to_http_acks 578.62KiB 3.14 98.93% 17.99MiB 8.28MiB 173.12KiB 0 0.460199 18.56MiB 7.0MiB 146.15KiB 0 0.37729 True True
syslog_humio_logs 473.32KiB 2.71 100.00% 17.08MiB 109.31KiB 2.23KiB 0 0.00624882 17.54MiB 113.05KiB 2.31KiB 0 0.00629217 False False
syslog_log2metric_splunk_hec_metrics 475.12KiB 2.5 100.00% 18.58MiB 553.71KiB 11.29KiB 0 0.0290923 19.05MiB 813.57KiB 16.56KiB 0 0.0417043 False False
datadog_agent_remap_blackhole 1.45MiB 2.27 100.00% 63.8MiB 4.23MiB 88.11KiB 0 0.066279 65.24MiB 3.41MiB 71.2KiB 0 0.0523058 False False
syslog_log2metric_humio_metrics 280.57KiB 2.12 100.00% 12.93MiB 283.86KiB 5.79KiB 0 0.0214328 13.2MiB 509.58KiB 10.38KiB 0 0.0376778 False False
syslog_regex_logs2metric_ddmetrics 195.22KiB 1.49 100.00% 12.8MiB 647.1KiB 13.18KiB 0 0.049361 12.99MiB 684.47KiB 13.94KiB 0 0.0514451 False False
datadog_agent_remap_datadog_logs_acks 849.11KiB 1.3 100.00% 63.87MiB 3.23MiB 67.51KiB 0 0.05056 64.7MiB 4.59MiB 95.61KiB 0 0.0709807 False False
http_text_to_http_json 462.85KiB 1.17 100.00% 38.5MiB 1.26MiB 26.35KiB 0 0.0327349 38.96MiB 1.22MiB 25.44KiB 0 0.031226 False False
datadog_agent_remap_datadog_logs 539.51KiB 0.82 100.00% 64.14MiB 343.84KiB 7.04KiB 0 0.00523393 64.67MiB 4.36MiB 90.89KiB 0 0.0674787 False False
http_pipelines_blackhole_acks 7.23KiB 0.6 99.46% 1.18MiB 106.23KiB 2.16KiB 0 0.0881115 1.18MiB 70.48KiB 1.44KiB 0 0.0581083 False False
http_pipelines_blackhole 8.84KiB 0.56 99.38% 1.54MiB 92.92KiB 1.9KiB 0 0.0587217 1.55MiB 128.09KiB 2.61KiB 0 0.0804999 False False
splunk_hec_to_splunk_hec_logs_noack 22.69KiB 0.09 93.08% 23.82MiB 515.47KiB 10.52KiB 0 0.0211329 23.84MiB 329.29KiB 6.72KiB 0 0.0134876 False False
splunk_hec_indexer_ack_blackhole 8.57KiB 0.04 27.23% 23.75MiB 859.88KiB 17.49KiB 0 0.0353482 23.76MiB 850.78KiB 17.31KiB 0 0.0349616 False False
http_pipelines_no_grok_blackhole 3.41KiB 0.03 11.60% 11.06MiB 287.45KiB 5.87KiB 0 0.0253779 11.06MiB 1.09MiB 22.6KiB 0 0.0980991 False False
enterprise_http_to_http 1018.72B 0 11.22% 23.85MiB 243.1KiB 4.96KiB 0 0.00995354 23.85MiB 244.8KiB 5.01KiB 0 0.0100227 False False
splunk_hec_to_splunk_hec_logs_acks -7.74KiB -0.03 24.67% 23.76MiB 850.79KiB 17.31KiB 0 0.0349617 23.75MiB 860.2KiB 17.5KiB 0 0.0353595 False False
file_to_blackhole -44.68KiB -0.05 42.31% 95.34MiB 2.53MiB 52.45KiB 0 0.0265308 95.3MiB 2.91MiB 60.53KiB 0 0.0305187 False False
http_to_http_json -29.09KiB -0.12 97.82% 23.84MiB 362.12KiB 7.39KiB 0 0.0148293 23.81MiB 504.2KiB 10.3KiB 0 0.0206719 False False
fluent_elasticsearch -180.21KiB -0.22 100.00% 79.47MiB 55.49KiB 1.12KiB 0 0.000681688 79.3MiB 1.66MiB 34.07KiB 0 0.0208677 False False
http_to_http_noack -99.96KiB -0.41 100.00% 23.84MiB 262.47KiB 5.37KiB 0 0.0107479 23.75MiB 1.07MiB 22.37KiB 0 0.045164 False False
socket_to_socket_blackhole -9.08MiB -40.2 100.00% 22.58MiB 991.5KiB 20.24KiB 0 0.0428635 13.51MiB 473.31KiB 9.66KiB 0 0.0342152 False False

@github-actions
Copy link

github-actions bot commented Aug 2, 2022

Soak Test Results

Baseline: 3fd0754
Comparison: 4dbdd76
Total Vector CPUs: 4

Explanation

A soak test is an integrated performance test for vector in a repeatable rig, with varying configuration for vector. What follows is a statistical summary of a brief vector run for each configuration across SHAs given above. The goal of these tests are to determine, quickly, if vector performance is changed and to what degree by a pull request. Where appropriate units are scaled per-core.

The table below, if present, lists those experiments that have experienced a statistically significant change in their throughput performance between baseline and comparision SHAs, with 90.0% confidence OR have been detected as newly erratic. Negative values mean that baseline is faster, positive comparison. Results that do not exhibit more than a ±8.87% change in mean throughput are discarded. An experiment is erratic if its coefficient of variation is greater than 0.3. The abbreviated table will be omitted if no interesting changes are observed.

No interesting changes in throughput with confidence ≥ 90.00% and absolute Δ mean >= ±8.87%:

Fine details of change detection per experiment.
experiment Δ mean Δ mean % confidence baseline mean baseline stdev baseline stderr baseline outlier % baseline CoV comparison mean comparison stdev comparison stderr comparison outlier % comparison CoV erratic declared erratic
syslog_loki 210.39KiB 1.42 100.00% 14.43MiB 374.65KiB 7.68KiB 0 0.0253463 14.64MiB 791.33KiB 16.09KiB 0 0.0527845 False False
datadog_agent_remap_blackhole 855.21KiB 1.3 100.00% 64.36MiB 4.15MiB 86.59KiB 0 0.0645241 65.2MiB 2.65MiB 55.29KiB 0 0.040615 False False
socket_to_socket_blackhole 287.75KiB 1.22 100.00% 23.04MiB 242.4KiB 4.95KiB 0 0.0102729 23.32MiB 237.8KiB 4.86KiB 0 0.00995685 False False
http_pipelines_blackhole_acks 12.96KiB 1.12 100.00% 1.13MiB 110.39KiB 2.25KiB 0 0.0950636 1.15MiB 76.75KiB 1.56KiB 0 0.0653662 False False
datadog_agent_remap_blackhole_acks 591.96KiB 0.93 100.00% 61.89MiB 4.71MiB 98.04KiB 0 0.0760796 62.47MiB 3.6MiB 75.21KiB 0 0.0575975 False False
http_to_http_acks 165.94KiB 0.89 51.84% 18.22MiB 8.1MiB 169.34KiB 0 0.444383 18.39MiB 7.86MiB 164.05KiB 0 0.427678 True True
splunk_hec_route_s3 119.97KiB 0.65 92.34% 18.11MiB 2.35MiB 48.96KiB 0 0.129752 18.23MiB 2.24MiB 46.8KiB 0 0.122731 False False
http_text_to_http_json 257.38KiB 0.64 100.00% 39.51MiB 741.21KiB 15.13KiB 0 0.0183189 39.76MiB 1.23MiB 25.74KiB 0 0.0309526 False False
syslog_splunk_hec_logs 93.77KiB 0.54 100.00% 16.93MiB 773.39KiB 15.74KiB 0 0.0445992 17.02MiB 680.64KiB 13.86KiB 0 0.0390398 False False
syslog_humio_logs 29.45KiB 0.17 99.99% 16.45MiB 263.59KiB 5.38KiB 0 0.0156488 16.47MiB 243.95KiB 4.99KiB 0 0.0144578 False False
splunk_hec_to_splunk_hec_logs_noack 4.54KiB 0.02 33.99% 23.83MiB 377.36KiB 7.71KiB 0 0.0154594 23.84MiB 337.15KiB 6.88KiB 0 0.0138095 False False
splunk_hec_to_splunk_hec_logs_acks 2.88KiB 0.01 10.24% 23.77MiB 781.18KiB 15.9KiB 0 0.0320913 23.77MiB 772.53KiB 15.73KiB 0 0.0317323 False False
enterprise_http_to_http -2.31KiB -0.01 24.86% 23.85MiB 245.65KiB 5.01KiB 0 0.0100576 23.84MiB 257.92KiB 5.28KiB 0 0.010561 False False
splunk_hec_indexer_ack_blackhole -8.05KiB -0.03 24.05% 23.75MiB 892.03KiB 18.14KiB 0 0.0366722 23.74MiB 934.69KiB 19.01KiB 0 0.0384387 False False
file_to_blackhole -57.0KiB -0.06 41.49% 95.34MiB 3.37MiB 69.84KiB 0 0.0353279 95.28MiB 3.73MiB 77.62KiB 0 0.0391568 False False
http_to_http_json -29.65KiB -0.12 98.38% 23.85MiB 338.71KiB 6.91KiB 0 0.0138681 23.82MiB 499.32KiB 10.2KiB 0 0.0204685 False False
syslog_regex_logs2metric_ddmetrics -25.88KiB -0.2 84.35% 12.49MiB 661.09KiB 13.47KiB 0 0.0516578 12.47MiB 605.04KiB 12.33KiB 0 0.0473735 False False
fluent_elasticsearch -185.01KiB -0.23 100.00% 79.47MiB 53.38KiB 1.08KiB 0 0.000655758 79.29MiB 1.93MiB 39.72KiB 0 0.0243204 False False
http_pipelines_blackhole -6.2KiB -0.37 99.72% 1.62MiB 40.4KiB 844.57B 0 0.0242924 1.62MiB 93.33KiB 1.9KiB 0 0.0563361 False False
datadog_agent_remap_datadog_logs_acks -241.71KiB -0.38 96.35% 61.51MiB 3.46MiB 72.36KiB 0 0.0563221 61.27MiB 4.33MiB 90.09KiB 0 0.0706265 False False
syslog_log2metric_splunk_hec_metrics -77.92KiB -0.41 100.00% 18.51MiB 476.02KiB 9.71KiB 0 0.0251023 18.44MiB 761.52KiB 15.51KiB 0 0.0403237 False False
http_to_http_noack -128.7KiB -0.53 100.00% 23.85MiB 247.96KiB 5.08KiB 0 0.0101526 23.72MiB 1.21MiB 25.15KiB 0 0.0508651 False False
datadog_agent_remap_datadog_logs -426.89KiB -0.65 100.00% 64.42MiB 314.2KiB 6.43KiB 0 0.00476193 64.0MiB 4.06MiB 84.5KiB 0 0.0633604 False False
http_pipelines_no_grok_blackhole -72.22KiB -0.73 99.87% 9.61MiB 602.99KiB 12.32KiB 0 0.0612562 9.54MiB 925.98KiB 18.83KiB 0 0.0947639 False False
syslog_log2metric_humio_metrics -93.77KiB -0.73 100.00% 12.61MiB 519.2KiB 10.6KiB 0 0.0401872 12.52MiB 642.36KiB 13.08KiB 0 0.0500841 False False

@briankung
Copy link
Contributor Author

Soak Test Results

Baseline: e5c435f Comparison: 00ef727 Total Vector CPUs: 4
Explanation

Changes in throughput with confidence ≥ 90.00% and absolute Δ mean >= ±8.87%:
experiment Δ mean Δ mean % confidence
socket_to_socket_blackhole -9.08MiB -40.2 100.00%
Fine details of change detection per experiment.

Looks like I just had to rebase.


  • ❓ How can I run the fn examples code in the Function trait impl locally? I tried to run make test-vrl but it looked like it hung while trying to update a git submodule.

@tobz
Copy link
Contributor

tobz commented Aug 3, 2022

❓ How can I run the fn examples code in the Function trait impl locally? I tried to run make test-vrl but it looked like it hung while trying to update a git submodule.

That would indeed be the way to do it, but it's surprising that building Vector itself didn't already get you all of the dependencies needed to build the test-vrl binary. We can try and help if you can show us the output where it's hanging.

@briankung
Copy link
Contributor Author

@tobz seems like it's working now, whatever it was! Maybe I just had a connectivity issue. Being able to run the tests helps a lot ^_^

@github-actions
Copy link

github-actions bot commented Aug 4, 2022

Soak Test Results

Baseline: 4b3fe0a
Comparison: 84d348c
Total Vector CPUs: 4

Explanation

A soak test is an integrated performance test for vector in a repeatable rig, with varying configuration for vector. What follows is a statistical summary of a brief vector run for each configuration across SHAs given above. The goal of these tests are to determine, quickly, if vector performance is changed and to what degree by a pull request. Where appropriate units are scaled per-core.

The table below, if present, lists those experiments that have experienced a statistically significant change in their throughput performance between baseline and comparision SHAs, with 90.0% confidence OR have been detected as newly erratic. Negative values mean that baseline is faster, positive comparison. Results that do not exhibit more than a ±8.87% change in mean throughput are discarded. An experiment is erratic if its coefficient of variation is greater than 0.3. The abbreviated table will be omitted if no interesting changes are observed.

No interesting changes in throughput with confidence ≥ 90.00% and absolute Δ mean >= ±8.87%:

Fine details of change detection per experiment.
experiment Δ mean Δ mean % confidence baseline mean baseline stdev baseline stderr baseline outlier % baseline CoV comparison mean comparison stdev comparison stderr comparison outlier % comparison CoV erratic declared erratic
http_text_to_http_json 1.76MiB 4.63 100.00% 37.95MiB 815.83KiB 16.65KiB 0 0.0209872 39.71MiB 738.63KiB 15.08KiB 0 0.0181606 False False
syslog_loki 611.34KiB 4.2 100.00% 14.21MiB 516.31KiB 10.58KiB 0 0.0354809 14.8MiB 826.62KiB 16.8KiB 0 0.0545149 False False
splunk_hec_route_s3 406.82KiB 2.15 100.00% 18.52MiB 2.27MiB 47.29KiB 0 0.122578 18.91MiB 2.22MiB 46.37KiB 0 0.11726 False False
syslog_log2metric_humio_metrics 229.76KiB 1.8 100.00% 12.5MiB 721.61KiB 14.71KiB 0 0.056372 12.72MiB 787.47KiB 16.04KiB 0 0.0604319 False False
datadog_agent_remap_blackhole_acks 1011.97KiB 1.62 100.00% 60.94MiB 5.17MiB 107.64KiB 0 0.0848251 61.93MiB 3.71MiB 77.74KiB 0 0.0599304 False False
socket_to_socket_blackhole 308.02KiB 1.34 100.00% 22.47MiB 472.44KiB 9.64KiB 0 0.0205271 22.77MiB 414.07KiB 8.45KiB 0 0.0177532 False False
datadog_agent_remap_blackhole 352.24KiB 0.54 99.95% 63.91MiB 3.97MiB 82.85KiB 0 0.062164 64.25MiB 2.73MiB 57.07KiB 0 0.0425426 False False
splunk_hec_to_splunk_hec_logs_noack 4.88KiB 0.02 36.04% 23.83MiB 387.15KiB 7.9KiB 0 0.0158593 23.84MiB 332.86KiB 6.79KiB 0 0.0136327 False False
splunk_hec_to_splunk_hec_logs_acks -19.13B -0 0.06% 23.75MiB 861.97KiB 17.53KiB 0 0.0354364 23.75MiB 860.34KiB 17.5KiB 0 0.0353695 False False
splunk_hec_indexer_ack_blackhole -155.44B -0 0.47% 23.75MiB 898.84KiB 18.28KiB 0 0.0369584 23.75MiB 888.39KiB 18.07KiB 0 0.0365289 False False
enterprise_http_to_http -4.12KiB -0.02 42.10% 23.85MiB 258.78KiB 5.28KiB 0 0.0105957 23.84MiB 255.46KiB 5.23KiB 0 0.0104614 False False
file_to_blackhole -18.02KiB -0.02 15.08% 95.35MiB 3.36MiB 69.61KiB 0 0.0352293 95.34MiB 3.09MiB 64.28KiB 0 0.0323835 False False
http_to_http_acks -25.36KiB -0.14 8.08% 18.13MiB 8.51MiB 177.79KiB 0 0.469088 18.1MiB 8.42MiB 175.67KiB 0 0.464819 True True
http_to_http_json -38.86KiB -0.16 99.69% 23.85MiB 345.3KiB 7.05KiB 0 0.0141372 23.81MiB 542.98KiB 11.09KiB 0 0.0222664 False False
http_pipelines_no_grok_blackhole -19.27KiB -0.17 53.56% 10.89MiB 617.74KiB 12.61KiB 0 0.0553591 10.88MiB 1.11MiB 23.12KiB 0 0.101999 False False
fluent_elasticsearch -264.47KiB -0.32 100.00% 79.47MiB 51.82KiB 1.05KiB 0 0.000636585 79.22MiB 2.73MiB 56.21KiB 0 0.0344935 False False
http_pipelines_blackhole_acks -3.99KiB -0.35 82.10% 1.12MiB 121.14KiB 2.47KiB 0 0.105467 1.12MiB 80.92KiB 1.65KiB 0 0.0706989 False False
datadog_agent_remap_datadog_logs_acks -238.16KiB -0.37 93.68% 62.43MiB 3.41MiB 71.52KiB 0 0.0546832 62.2MiB 5.11MiB 106.34KiB 0 0.082121 False False
http_to_http_noack -102.29KiB -0.42 100.00% 23.84MiB 246.92KiB 5.05KiB 0 0.010111 23.74MiB 1.11MiB 23.11KiB 0 0.0466703 False False
syslog_splunk_hec_logs -102.79KiB -0.61 100.00% 16.4MiB 749.8KiB 15.27KiB 0 0.0446319 16.3MiB 659.77KiB 13.46KiB 0 0.0395145 False False
datadog_agent_remap_datadog_logs -518.72KiB -0.8 100.00% 62.94MiB 1.96MiB 41.17KiB 0 0.0311981 62.43MiB 4.31MiB 89.74KiB 0 0.0689652 False False
syslog_humio_logs -225.21KiB -1.31 100.00% 16.73MiB 529.59KiB 10.81KiB 0 0.0309072 16.51MiB 532.86KiB 10.91KiB 0 0.0315124 False False
http_pipelines_blackhole -29.15KiB -1.8 100.00% 1.58MiB 84.28KiB 1.72KiB 0 0.051922 1.56MiB 140.18KiB 2.86KiB 0 0.0879412 False False
syslog_regex_logs2metric_ddmetrics -242.47KiB -1.84 100.00% 12.85MiB 664.86KiB 13.55KiB 0 0.0505259 12.61MiB 686.48KiB 13.99KiB 0 0.0531482 False False
syslog_log2metric_splunk_hec_metrics -545.2KiB -2.98 100.00% 17.84MiB 1.0MiB 20.89KiB 0 0.0561043 17.31MiB 1008.73KiB 20.53KiB 0 0.0568905 False False

@jszwedko jszwedko requested review from JeanMertz and fuchsnj and removed request for JeanMertz August 8, 2022 19:13
Copy link
Member

@jszwedko jszwedko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this contribution @briankung !

It prompted some discussion on the team about the inconsistencies with how VRL deals with bytes and UTF-8 strings (some of which are described in https://github.com/vectordotdev/vector/issues/12369). We think the best plan is to follow up with an RFC document to lay out a direction in the future, but, in absence of that, we think the simplest thing to do for this function would actually be to just have chunks operate on the number of bytes without any specific UTF-8 handling (that is, remove the utf8 flag). Then we can follow up later once we have defined some guidelines for how functions in VRL deal with UTF-8 strings and bytes to make sure all VRL functions handle them in a consistent fashion.

Other than that, what you have here generally looks good to me. I left one comment below about adding benchmarks.

lib/vrl/stdlib/src/chunks.rs Show resolved Hide resolved
lib/vrl/stdlib/src/chunks.rs Show resolved Hide resolved
@github-actions
Copy link

github-actions bot commented Aug 8, 2022

Soak Test Results

Baseline: 44cfd90
Comparison: f6f793f
Total Vector CPUs: 4

Explanation

A soak test is an integrated performance test for vector in a repeatable rig, with varying configuration for vector. What follows is a statistical summary of a brief vector run for each configuration across SHAs given above. The goal of these tests are to determine, quickly, if vector performance is changed and to what degree by a pull request. Where appropriate units are scaled per-core.

The table below, if present, lists those experiments that have experienced a statistically significant change in their throughput performance between baseline and comparision SHAs, with 90.0% confidence OR have been detected as newly erratic. Negative values mean that baseline is faster, positive comparison. Results that do not exhibit more than a ±8.87% change in mean throughput are discarded. An experiment is erratic if its coefficient of variation is greater than 0.3. The abbreviated table will be omitted if no interesting changes are observed.

Changes in throughput with confidence ≥ 90.00% and absolute Δ mean >= ±8.87%:

experiment Δ mean Δ mean % confidence
datadog_agent_remap_blackhole -6.45MiB -10.6 100.00%
Fine details of change detection per experiment.
experiment Δ mean Δ mean % confidence baseline mean baseline stdev baseline stderr baseline outlier % baseline CoV comparison mean comparison stdev comparison stderr comparison outlier % comparison CoV erratic declared erratic
http_to_http_acks 823.41KiB 4.61 99.94% 17.43MiB 8.11MiB 169.62KiB 0 0.465293 18.24MiB 8.09MiB 168.79KiB 0 0.443605 True True
syslog_splunk_hec_logs 503.79KiB 3.19 100.00% 15.43MiB 631.83KiB 12.86KiB 0 0.0399857 15.92MiB 632.91KiB 12.9KiB 0 0.0388163 False False
syslog_humio_logs 521.18KiB 3.12 100.00% 16.3MiB 197.8KiB 4.04KiB 0 0.0118463 16.81MiB 197.7KiB 4.05KiB 0 0.0114818 False False
syslog_log2metric_splunk_hec_metrics 528.64KiB 2.96 100.00% 17.45MiB 699.01KiB 14.25KiB 0 0.0391101 17.97MiB 978.02KiB 19.9KiB 0 0.0531489 False False
splunk_hec_route_s3 432.33KiB 2.36 100.00% 17.87MiB 2.33MiB 48.5KiB 0 0.130289 18.3MiB 2.28MiB 47.73KiB 0 0.124855 False False
syslog_regex_logs2metric_ddmetrics 276.83KiB 2.22 100.00% 12.16MiB 583.81KiB 11.9KiB 0 0.0468868 12.43MiB 652.2KiB 13.29KiB 0 0.0512399 False False
syslog_loki 298.29KiB 2.06 100.00% 14.17MiB 501.12KiB 10.27KiB 0 0.0345253 14.46MiB 866.41KiB 17.61KiB 0 0.0584902 False False
datadog_agent_remap_blackhole_acks 291.5KiB 0.45 94.42% 62.59MiB 6.05MiB 125.9KiB 0 0.0966178 62.87MiB 4.1MiB 85.84KiB 0 0.0651455 False False
datadog_agent_remap_datadog_logs_acks 94.24KiB 0.15 60.37% 62.87MiB 2.9MiB 60.73KiB 0 0.0461716 62.96MiB 4.47MiB 93.0KiB 0 0.0709522 False False
splunk_hec_to_splunk_hec_logs_noack 11.2KiB 0.05 68.60% 23.83MiB 431.8KiB 8.82KiB 0 0.017694 23.84MiB 332.19KiB 6.78KiB 0 0.0136062 False False
datadog_agent_remap_datadog_logs -11.92KiB -0.02 8.67% 61.73MiB 2.52MiB 52.79KiB 0 0.0407879 61.72MiB 4.6MiB 95.84KiB 0 0.0745188 False False
enterprise_http_to_http -4.93KiB -0.02 48.29% 23.85MiB 267.59KiB 5.46KiB 0 0.0109549 23.84MiB 258.49KiB 5.29KiB 0 0.0105844 False False
file_to_blackhole -47.35KiB -0.05 35.37% 95.34MiB 3.41MiB 70.76KiB 0 0.0357974 95.29MiB 3.61MiB 75.09KiB 0 0.0378816 False False
splunk_hec_to_splunk_hec_logs_acks -17.21KiB -0.07 52.88% 23.76MiB 794.51KiB 16.17KiB 0 0.0326452 23.75MiB 864.07KiB 17.57KiB 0 0.0355284 False False
splunk_hec_indexer_ack_blackhole -31.44KiB -0.13 76.50% 23.76MiB 853.5KiB 17.37KiB 0 0.0350662 23.73MiB 982.29KiB 19.97KiB 0 0.0404096 False False
http_to_http_json -36.38KiB -0.15 99.50% 23.85MiB 341.58KiB 6.97KiB 0 0.0139856 23.81MiB 535.03KiB 10.92KiB 0 0.0219388 False False
http_pipelines_no_grok_blackhole -17.09KiB -0.15 56.89% 10.86MiB 143.24KiB 2.93KiB 0 0.0128772 10.84MiB 1.03MiB 21.51KiB 0 0.0951951 False False
http_pipelines_blackhole_acks -2.17KiB -0.19 58.40% 1.13MiB 103.56KiB 2.11KiB 0 0.0894515 1.13MiB 80.4KiB 1.64KiB 0 0.0695808 False False
fluent_elasticsearch -169.16KiB -0.21 100.00% 79.47MiB 52.84KiB 1.07KiB 0 0.00064922 79.31MiB 1.59MiB 32.68KiB 0 0.0199922 False False
http_to_http_noack -114.23KiB -0.47 100.00% 23.85MiB 248.2KiB 5.08KiB 0 0.0101628 23.73MiB 1.15MiB 24.02KiB 0 0.0485391 False False
socket_to_socket_blackhole -127.43KiB -0.53 100.00% 23.47MiB 313.62KiB 6.4KiB 0 0.0130476 23.34MiB 211.09KiB 4.31KiB 0 0.00882901 False False
http_pipelines_blackhole -14.66KiB -0.91 100.00% 1.58MiB 76.67KiB 1.57KiB 0 0.0474397 1.56MiB 122.97KiB 2.51KiB 0 0.0767843 False False
http_text_to_http_json -443.14KiB -1.11 100.00% 39.04MiB 1.05MiB 21.89KiB 0 0.0268277 38.6MiB 1.16MiB 24.25KiB 0 0.0300453 False False
syslog_log2metric_humio_metrics -175.57KiB -1.34 100.00% 12.8MiB 331.91KiB 6.77KiB 0 0.0253111 12.63MiB 574.05KiB 11.68KiB 0 0.0443707 False False
datadog_agent_remap_blackhole -6.45MiB -10.6 100.00% 60.83MiB 5.96MiB 124.15KiB 0 0.0980293 54.38MiB 6.76MiB 141.05KiB 0 0.124242 False False

@github-actions
Copy link

Soak Test Results

Baseline: 33625e7
Comparison: e308084
Total Vector CPUs: 4

Explanation

A soak test is an integrated performance test for vector in a repeatable rig, with varying configuration for vector. What follows is a statistical summary of a brief vector run for each configuration across SHAs given above. The goal of these tests are to determine, quickly, if vector performance is changed and to what degree by a pull request. Where appropriate units are scaled per-core.

The table below, if present, lists those experiments that have experienced a statistically significant change in their throughput performance between baseline and comparision SHAs, with 90.0% confidence OR have been detected as newly erratic. Negative values mean that baseline is faster, positive comparison. Results that do not exhibit more than a ±8.87% change in mean throughput are discarded. An experiment is erratic if its coefficient of variation is greater than 0.3. The abbreviated table will be omitted if no interesting changes are observed.

No interesting changes in throughput with confidence ≥ 90.00% and absolute Δ mean >= ±8.87%:

Fine details of change detection per experiment.
experiment Δ mean Δ mean % confidence baseline mean baseline stdev baseline stderr baseline outlier % baseline CoV comparison mean comparison stdev comparison stderr comparison outlier % comparison CoV erratic declared erratic
syslog_splunk_hec_logs 532.88KiB 3.17 100.00% 16.43MiB 794.54KiB 16.15KiB 0 0.0472177 16.95MiB 516.42KiB 10.55KiB 0 0.0297474 False False
syslog_regex_logs2metric_ddmetrics 387.62KiB 3.04 100.00% 12.44MiB 538.91KiB 10.98KiB 0 0.0422893 12.82MiB 587.18KiB 11.97KiB 0 0.0447162 False False
syslog_humio_logs 493.83KiB 2.96 100.00% 16.28MiB 306.07KiB 6.25KiB 0 0.0183607 16.76MiB 368.32KiB 7.54KiB 0 0.0214592 False False
http_text_to_http_json 1.01MiB 2.6 100.00% 38.78MiB 782.76KiB 15.98KiB 0 0.0197096 39.78MiB 716.8KiB 14.63KiB 0 0.0175915 False False
syslog_log2metric_splunk_hec_metrics 465.95KiB 2.54 100.00% 17.92MiB 613.95KiB 12.51KiB 0 0.0334485 18.38MiB 807.16KiB 16.42KiB 0 0.0428857 False False
http_to_http_acks 435.05KiB 2.43 92.79% 17.46MiB 8.03MiB 167.77KiB 0 0.459494 17.89MiB 8.35MiB 174.18KiB 0 0.466391 True True
splunk_hec_route_s3 306.42KiB 1.63 100.00% 18.36MiB 2.31MiB 48.13KiB 0 0.12585 18.66MiB 2.21MiB 46.29KiB 0 0.118589 False False
syslog_loki 167.42KiB 1.11 100.00% 14.8MiB 458.49KiB 9.37KiB 0 0.0302554 14.96MiB 755.25KiB 15.35KiB 0 0.0492936 False False
datadog_agent_remap_blackhole 588.07KiB 0.93 100.00% 61.86MiB 4.28MiB 89.16KiB 0 0.0691561 62.43MiB 3.68MiB 76.81KiB 0 0.0589912 False False
syslog_log2metric_humio_metrics 112.36KiB 0.89 100.00% 12.39MiB 484.68KiB 9.89KiB 0 0.0381966 12.5MiB 672.78KiB 13.69KiB 0 0.0525545 False False
datadog_agent_remap_blackhole_acks 545.38KiB 0.86 99.99% 62.28MiB 5.07MiB 105.58KiB 0 0.0814064 62.81MiB 4.16MiB 86.93KiB 0 0.066181 False False
socket_to_socket_blackhole 184.68KiB 0.79 100.00% 22.79MiB 393.85KiB 8.04KiB 0 0.0168704 22.97MiB 246.75KiB 5.04KiB 0 0.0104864 False False
datadog_agent_remap_datadog_logs_acks 279.72KiB 0.45 97.13% 60.69MiB 3.73MiB 78.03KiB 0 0.0614978 60.96MiB 4.86MiB 101.22KiB 0 0.0797508 False False
datadog_agent_remap_datadog_logs 164.43KiB 0.26 92.02% 62.95MiB 1.11MiB 23.36KiB 0 0.0177085 63.11MiB 4.36MiB 90.86KiB 0 0.0691383 False False
splunk_hec_to_splunk_hec_logs_noack 20.3KiB 0.08 90.44% 23.82MiB 493.97KiB 10.08KiB 0 0.0202503 23.84MiB 334.51KiB 6.83KiB 0 0.0137018 False False
splunk_hec_to_splunk_hec_logs_acks -956.34B -0 3.16% 23.76MiB 820.77KiB 16.69KiB 0 0.0337329 23.76MiB 818.65KiB 16.65KiB 0 0.033647 False False
enterprise_http_to_http -1.63KiB -0.01 18.07% 23.85MiB 247.55KiB 5.05KiB 0 0.0101351 23.85MiB 246.81KiB 5.05KiB 0 0.0101057 False False
http_pipelines_blackhole_acks -481.91B -0.04 13.40% 1.15MiB 107.54KiB 2.19KiB 0 0.0913729 1.15MiB 84.72KiB 1.73KiB 0 0.0720105 False False
file_to_blackhole -42.0KiB -0.04 32.92% 95.37MiB 3.35MiB 69.45KiB 0 0.0351293 95.33MiB 3.38MiB 70.24KiB 0 0.0353975 False False
splunk_hec_indexer_ack_blackhole -17.23KiB -0.07 50.73% 23.77MiB 840.7KiB 17.11KiB 0 0.0345329 23.75MiB 903.67KiB 18.38KiB 0 0.037146 False False
http_to_http_json -26.24KiB -0.11 96.89% 23.85MiB 348.35KiB 7.11KiB 0 0.0142625 23.82MiB 482.87KiB 9.87KiB 0 0.0197916 False False
fluent_elasticsearch -162.86KiB -0.2 100.00% 79.47MiB 54.27KiB 1.1KiB 0 0.000666713 79.31MiB 1.44MiB 29.64KiB 0 0.0181541 False False
http_pipelines_blackhole -5.27KiB -0.33 90.12% 1.56MiB 79.97KiB 1.63KiB 0 0.0499861 1.56MiB 134.71KiB 2.74KiB 0 0.0844753 False False
http_to_http_noack -84.47KiB -0.35 99.99% 23.84MiB 257.44KiB 5.27KiB 0 0.0105419 23.76MiB 1.0MiB 20.9KiB 0 0.0421589 False False
http_pipelines_no_grok_blackhole -126.31KiB -1.12 100.00% 11.0MiB 299.45KiB 6.11KiB 0 0.0265864 10.87MiB 1.08MiB 22.53KiB 0 0.0994962 False False

@github-actions github-actions bot added the domain: external docs Anything related to Vector's external, public documentation label Aug 12, 2022
@briankung briankung changed the title WIP: feat(vrl): Adds chunks function feat(vrl): Adds chunks function Aug 12, 2022
@briankung
Copy link
Contributor Author

briankung commented Aug 12, 2022

I think this is ready for final review. I have two minor questions regarding testing:

  1. Should I write tests for cases where chunks is fallible? e.g. when it's been supplied with an expression for chunk_size or when chunk_size doesn't fit into a usize
  2. If so, is there a way to write a test to be run on a particular architecture? On 32-bit architectures, it's possible for the upper bound of the chunk_size parameter to be constrained by the platform's usize::MAX (instead of Value::Integer's i64).

There are currently no test cases covering these edge cases.

@jszwedko jszwedko requested a review from fuchsnj August 15, 2022 19:57
Copy link
Member

@fuchsnj fuchsnj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few small things / merge conflicts. Just need to resolve those and fix some of the CI issues and this should be good to go.

lib/vrl/stdlib/src/chunks.rs Show resolved Hide resolved
lib/vrl/stdlib/src/chunks.rs Outdated Show resolved Hide resolved
lib/vrl/stdlib/src/chunks.rs Outdated Show resolved Hide resolved
lib/vrl/stdlib/src/chunks.rs Outdated Show resolved Hide resolved
lib/vrl/stdlib/src/chunks.rs Outdated Show resolved Hide resolved
@briankung
Copy link
Contributor Author

Rebased and updated!

@github-actions
Copy link

Soak Test Results

Baseline: 90c99a6
Comparison: 71ad389
Total Vector CPUs: 4

Explanation

A soak test is an integrated performance test for vector in a repeatable rig, with varying configuration for vector. What follows is a statistical summary of a brief vector run for each configuration across SHAs given above. The goal of these tests are to determine, quickly, if vector performance is changed and to what degree by a pull request. Where appropriate units are scaled per-core.

The table below, if present, lists those experiments that have experienced a statistically significant change in their throughput performance between baseline and comparision SHAs, with 90.0% confidence OR have been detected as newly erratic. Negative values mean that baseline is faster, positive comparison. Results that do not exhibit more than a ±8.87% change in mean throughput are discarded. An experiment is erratic if its coefficient of variation is greater than 0.3. The abbreviated table will be omitted if no interesting changes are observed.

No interesting changes in throughput with confidence ≥ 90.00% and absolute Δ mean >= ±8.87%:

Fine details of change detection per experiment.
experiment Δ mean Δ mean % confidence baseline mean baseline stdev baseline stderr baseline outlier % baseline CoV comparison mean comparison stdev comparison stderr comparison outlier % comparison CoV erratic declared erratic
http_to_http_acks 173.82KiB 0.99 57.21% 17.11MiB 7.02MiB 146.73KiB 0 0.410133 17.28MiB 7.81MiB 162.91KiB 0 0.452124 True True
splunk_hec_route_s3 108.92KiB 0.57 89.13% 18.52MiB 2.34MiB 48.65KiB 0 0.126051 18.63MiB 2.26MiB 47.34KiB 0 0.121529 False False
splunk_hec_to_splunk_hec_logs_noack 10.54KiB 0.04 65.55% 23.83MiB 431.78KiB 8.81KiB 0 0.0176938 23.84MiB 334.55KiB 6.83KiB 0 0.0137037 False False
enterprise_http_to_http -1.4KiB -0.01 15.60% 23.85MiB 244.21KiB 4.98KiB 0 0.0099988 23.85MiB 246.46KiB 5.04KiB 0 0.0100914 False False
splunk_hec_to_splunk_hec_logs_acks -5.06KiB -0.02 17.54% 23.77MiB 782.86KiB 15.93KiB 0 0.0321599 23.76MiB 803.92KiB 16.36KiB 0 0.0330318 False False
splunk_hec_indexer_ack_blackhole -4.72KiB -0.02 14.32% 23.75MiB 907.31KiB 18.46KiB 0 0.0372967 23.75MiB 909.45KiB 18.5KiB 0 0.0373917 False False
file_to_blackhole -41.58KiB -0.04 29.13% 95.33MiB 3.62MiB 74.94KiB 0 0.0379136 95.29MiB 3.95MiB 82.28KiB 0 0.0414718 False False
http_pipelines_blackhole_acks -620.31B -0.05 17.69% 1.22MiB 110.74KiB 2.25KiB 0 0.0885856 1.22MiB 73.69KiB 1.5KiB 0 0.0589777 False False
http_to_http_json -41.55KiB -0.17 99.82% 23.84MiB 336.81KiB 6.88KiB 0 0.0137916 23.8MiB 558.49KiB 11.4KiB 0 0.0229077 False False
fluent_elasticsearch -201.02KiB -0.25 100.00% 79.47MiB 54.77KiB 1.11KiB 0 0.000672933 79.28MiB 1.7MiB 35.03KiB 0 0.0214809 False False
http_to_http_noack -104.62KiB -0.43 100.00% 23.85MiB 248.21KiB 5.08KiB 0 0.0101632 23.74MiB 1.11MiB 23.13KiB 0 0.0467129 False False
datadog_agent_remap_blackhole_acks -319.99KiB -0.51 95.62% 61.61MiB 5.67MiB 118.11KiB 0 0.0919612 61.3MiB 5.06MiB 105.95KiB 0 0.0825855 False False
http_pipelines_blackhole -8.55KiB -0.51 99.93% 1.65MiB 49.25KiB 1.01KiB 0 0.0292162 1.64MiB 113.51KiB 2.31KiB 0 0.0676724 False False
syslog_regex_logs2metric_ddmetrics -98.9KiB -0.78 100.00% 12.31MiB 807.5KiB 16.45KiB 0 0.06403 12.22MiB 755.04KiB 15.39KiB 0 0.0603434 False False
datadog_agent_remap_datadog_logs_acks -584.06KiB -0.9 100.00% 63.32MiB 2.28MiB 47.73KiB 0 0.0359803 62.75MiB 4.43MiB 92.23KiB 0 0.0705906 False False
datadog_agent_remap_blackhole -735.87KiB -1.14 100.00% 63.28MiB 4.31MiB 89.83KiB 0 0.068145 62.56MiB 3.29MiB 68.68KiB 0 0.05262 False False
datadog_agent_remap_datadog_logs -748.27KiB -1.15 100.00% 63.52MiB 452.31KiB 9.26KiB 0 0.00695224 62.79MiB 4.23MiB 87.99KiB 0 0.0672777 False False
http_pipelines_no_grok_blackhole -148.32KiB -1.31 100.00% 11.08MiB 264.67KiB 5.4KiB 0 0.0233261 10.93MiB 1.09MiB 22.62KiB 0 0.0993464 False False
syslog_splunk_hec_logs -227.43KiB -1.37 100.00% 16.19MiB 1.0MiB 20.85KiB 0 0.0618041 15.97MiB 954.34KiB 19.44KiB 0 0.0583524 False False
syslog_humio_logs -257.44KiB -1.51 100.00% 16.64MiB 152.37KiB 3.11KiB 0 0.00894084 16.39MiB 136.96KiB 2.8KiB 0 0.0081601 False False
syslog_log2metric_humio_metrics -243.39KiB -1.89 100.00% 12.56MiB 442.56KiB 9.03KiB 0 0.0344023 12.32MiB 594.15KiB 12.1KiB 0 0.0470765 False False
syslog_log2metric_splunk_hec_metrics -374.57KiB -2.02 100.00% 18.14MiB 635.84KiB 12.95KiB 0 0.0342293 17.77MiB 696.52KiB 14.19KiB 0 0.0382674 False False
socket_to_socket_blackhole -529.65KiB -2.15 100.00% 24.05MiB 199.31KiB 4.07KiB 0 0.00809255 23.53MiB 204.7KiB 4.18KiB 0 0.00849419 False False
http_text_to_http_json -934.62KiB -2.22 100.00% 41.04MiB 712.36KiB 14.54KiB 0 0.0169456 40.13MiB 699.65KiB 14.28KiB 0 0.0170218 False False
syslog_loki -378.52KiB -2.58 100.00% 14.33MiB 786.28KiB 16.08KiB 0 0.0535902 13.96MiB 963.16KiB 19.58KiB 0 0.067385 False False

@briankung
Copy link
Contributor Author

I can't tell why the cue docs are failing in CI. Locally, I get:

$ CI=true make check-docs
./scripts/check-docs.sh
Validating cue files formatting...
Validating cue files correctness...
Success! The contents of the sources in the "./website/cue" directory are valid

@github-actions
Copy link

Soak Test Results

Baseline: 27663f3
Comparison: 46b92db
Total Vector CPUs: 4

Explanation

A soak test is an integrated performance test for vector in a repeatable rig, with varying configuration for vector. What follows is a statistical summary of a brief vector run for each configuration across SHAs given above. The goal of these tests are to determine, quickly, if vector performance is changed and to what degree by a pull request. Where appropriate units are scaled per-core.

The table below, if present, lists those experiments that have experienced a statistically significant change in their throughput performance between baseline and comparision SHAs, with 90.0% confidence OR have been detected as newly erratic. Negative values mean that baseline is faster, positive comparison. Results that do not exhibit more than a ±8.87% change in mean throughput are discarded. An experiment is erratic if its coefficient of variation is greater than 0.3. The abbreviated table will be omitted if no interesting changes are observed.

No interesting changes in throughput with confidence ≥ 90.00% and absolute Δ mean >= ±8.87%:

Fine details of change detection per experiment.
experiment Δ mean Δ mean % confidence baseline mean baseline stdev baseline stderr baseline outlier % baseline CoV comparison mean comparison stdev comparison stderr comparison outlier % comparison CoV erratic declared erratic
datadog_agent_remap_blackhole 2.89MiB 4.81 100.00% 60.08MiB 5.43MiB 113.18KiB 0 0.0904288 62.96MiB 2.08MiB 43.4KiB 0 0.0329985 False False
syslog_splunk_hec_logs 414.46KiB 2.61 100.00% 15.51MiB 898.58KiB 18.29KiB 0 0.056563 15.92MiB 851.3KiB 17.37KiB 0 0.0522236 False False
syslog_regex_logs2metric_ddmetrics 277.21KiB 2.2 100.00% 12.31MiB 621.05KiB 12.66KiB 0 0.0492674 12.58MiB 557.04KiB 11.35KiB 0 0.0432385 False False
datadog_agent_remap_blackhole_acks 1018.99KiB 1.62 100.00% 61.56MiB 5.59MiB 116.38KiB 0 0.0907807 62.56MiB 4.61MiB 96.25KiB 0 0.0736256 False False
http_to_http_acks 181.36KiB 1.04 57.66% 17.03MiB 7.62MiB 159.28KiB 0 0.447383 17.21MiB 7.72MiB 161.07KiB 0 0.448385 True True
http_pipelines_blackhole_acks 5.06KiB 0.42 90.03% 1.17MiB 113.27KiB 2.31KiB 0 0.0946838 1.17MiB 99.83KiB 2.03KiB 0 0.0830939 False False
splunk_hec_route_s3 45.54KiB 0.24 50.05% 18.78MiB 2.32MiB 48.43KiB 0 0.123719 18.82MiB 2.24MiB 46.92KiB 0 0.119227 False False
splunk_hec_to_splunk_hec_logs_acks 13.43KiB 0.06 41.66% 23.75MiB 879.79KiB 17.89KiB 0 0.0361672 23.76MiB 821.39KiB 16.71KiB 0 0.0337479 False False
splunk_hec_to_splunk_hec_logs_noack 10.58KiB 0.04 65.71% 23.83MiB 430.29KiB 8.79KiB 0 0.0176319 23.84MiB 336.47KiB 6.87KiB 0 0.0137814 False False
enterprise_http_to_http -2.81KiB -0.01 28.39% 23.85MiB 268.34KiB 5.48KiB 0 0.0109856 23.85MiB 266.33KiB 5.45KiB 0 0.0109048 False False
splunk_hec_indexer_ack_blackhole -7.24KiB -0.03 22.07% 23.75MiB 872.34KiB 17.74KiB 0 0.0358614 23.74MiB 924.62KiB 18.8KiB 0 0.0380221 False False
file_to_blackhole -47.68KiB -0.05 41.08% 95.35MiB 2.7MiB 56.03KiB 0 0.0283392 95.3MiB 3.28MiB 68.23KiB 0 0.0344163 False False
fluent_elasticsearch -88.78KiB -0.11 100.00% 79.47MiB 54.58KiB 1.1KiB 0 0.000670544 79.39MiB 1004.97KiB 20.2KiB 0 0.0123601 False False
http_to_http_json -36.98KiB -0.15 99.62% 23.85MiB 332.19KiB 6.78KiB 0 0.0136013 23.81MiB 529.65KiB 10.82KiB 0 0.0217187 False False
http_pipelines_blackhole -4.69KiB -0.28 90.66% 1.63MiB 85.85KiB 1.75KiB 0 0.0512925 1.63MiB 106.77KiB 2.18KiB 0 0.0639718 False False
datadog_agent_remap_datadog_logs_acks -223.03KiB -0.35 95.90% 61.52MiB 2.71MiB 56.8KiB 0 0.0440891 61.3MiB 4.48MiB 93.16KiB 0 0.0729976 False False
http_to_http_noack -92.1KiB -0.38 100.00% 23.84MiB 255.4KiB 5.23KiB 0 0.0104586 23.75MiB 1.05MiB 21.81KiB 0 0.0440158 False False
syslog_humio_logs -73.39KiB -0.43 100.00% 16.49MiB 207.57KiB 4.24KiB 0 0.0122915 16.42MiB 169.86KiB 3.47KiB 0 0.0101027 False False
datadog_agent_remap_datadog_logs -347.98KiB -0.55 100.00% 62.0MiB 656.65KiB 13.44KiB 0 0.0103401 61.66MiB 3.77MiB 78.65KiB 0 0.0611964 False False
http_text_to_http_json -306.69KiB -0.74 100.00% 40.55MiB 730.37KiB 14.91KiB 0 0.0175879 40.25MiB 752.68KiB 15.37KiB 0 0.01826 False False
socket_to_socket_blackhole -207.01KiB -0.88 100.00% 23.05MiB 716.78KiB 14.63KiB 0 0.0303558 22.85MiB 809.41KiB 16.53KiB 0 0.0345823 False False
syslog_loki -190.23KiB -1.27 100.00% 14.57MiB 688.15KiB 14.09KiB 0 0.0461014 14.39MiB 1020.29KiB 20.74KiB 0 0.0692359 False False
http_pipelines_no_grok_blackhole -159.26KiB -1.44 100.00% 10.83MiB 260.0KiB 5.31KiB 0 0.023436 10.68MiB 1.1MiB 22.86KiB 0 0.102807 False False
syslog_log2metric_humio_metrics -317.98KiB -2.45 100.00% 12.65MiB 757.43KiB 15.45KiB 0 0.058442 12.34MiB 909.61KiB 18.51KiB 0 0.0719494 False False
syslog_log2metric_splunk_hec_metrics -548.77KiB -3.2 100.00% 16.74MiB 993.04KiB 20.24KiB 0 0.0579259 16.2MiB 939.29KiB 19.14KiB 0 0.0566031 False False

@fuchsnj
Copy link
Member

fuchsnj commented Aug 18, 2022

@briankung Thanks for the contribution!

@fuchsnj fuchsnj merged commit 2967ebd into vectordotdev:master Aug 18, 2022
@briankung briankung deleted the 13329/add-chunk-function branch August 18, 2022 15:22
@briankung
Copy link
Contributor Author

Thanks for the multiple rounds of reviews! Excited to see this in a new release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain: external docs Anything related to Vector's external, public documentation domain: vrl Anything related to the Vector Remap Language
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants