This project is mirrored from https://gitee.com/cowcomic/pixie.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
- 01 Mar, 2022 8 commits
-
-
Ryan Cheng authored
Summary: When net/http2 is used without grpc, it's possible that only net/http2/hpack is imported. In this case, `golang.org/x/net/http2.(*Framer).WriteHeaders` may not be present, causing vendor inference to be incorrect. Adding `golang.org/x/net/http2/hpack.HeaderField.String` solves this issue. Test Plan: Update demo apps and test cases in `go_tls_trace_bpf_test` Reviewers: #stirling, oazizi Reviewed By: #stirling, oazizi Subscribers: yzhao, oazizi Signed-off-by:
Ryan Cheng <rcheng@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10874 GitOrigin-RevId: e214e6b001d607aa2ea4f2344373d6f0a70c5130
-
Omid Azizi authored
Summary: SocketTraceConnectorTest is a large test that has some protocol specific aspects to it. This diff removes the protocol specific parts to a different file. This also sets the stage to eventually removing those protocol specific parts, since that coverage really belongs in the protocol parser testing. Test Plan: This is test updates. Reviewers: #stirling, yzhao Reviewed By: #stirling, yzhao Signed-off-by:
Omid Azizi <oazizi@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10876 GitOrigin-RevId: ff181de9e13ad82b8e272e44df08da37172fc590
-
Vihang Mehta authored
Summary: TSIA, this should drop some more transitive deps. Test Plan: Existing tests should pass. This is merely cleaning up the generated go.sum Reviewers: zasgar, michelle, #third_party_approvers Reviewed By: michelle, #third_party_approvers Signed-off-by:
Vihang Mehta <vihang@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10872 GitOrigin-RevId: 68ab260ccb993297d488986858220d7a20a7e435
-
Phillip Kuznetsov authored
Summary: Adding the definition of OTelExport plan node, OTelExportSinkOperator. Added subfields for the OTelSpan and OTelMetric definitions. Test Plan: Review the interface to make sure that it makes sense. Reviewers: michelle, vihang, nserrino, jamesbartlett Reviewed By: michelle JIRA Issues: PP-3277 Signed-off-by:
Phillip Kuznetsov <pkuznetsov@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10837 GitOrigin-RevId: 0a582650ef0432e2de0d24456990c269b52a3d63
-
Nick Lanam authored
Summary: Cleanup from a previous diff. These pure utility functions are used for testing, and are complex enough to have tests of their own. They go with unit test stuff, even though Cypress is their main consumer. Also adds input validation and a better algorithm to the utils themselves. Should make for more useful failure messages in tests. Test Plan: Run both Jest and Cypress (`yarn test` and `yarn cypress:open` respectively). Reviewers: michelle, vihang Reviewed By: michelle JIRA Issues: PC-1446 Signed-off-by:
Nick Lanam <nlanam@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10875 GitOrigin-RevId: 1ffdd15d392ed634a8f9323a30ff401dd903defd
-
yzhao1012 authored
Test Plan: Added API is not used yet, tests will be added later. Reviewers: #stirling, oazizi Reviewed By: #stirling, oazizi Subscribers: oazizi Signed-off-by:
yzhao1012 <yzhao@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10860 GitOrigin-RevId: 48735bc353e40767345032b8fe52f110b4e3dc39
-
yzhao1012 authored
Summary: proc_exit_trace needs also to read task_struct.exit_code. By splitting this, I can create another function to read exit_code, and reuse the same task_struct object. Test Plan: No change in logic, existing bpf tests cover this Reviewers: #stirling, oazizi Reviewed By: #stirling, oazizi Signed-off-by:
yzhao1012 <yzhao@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10861 GitOrigin-RevId: 75fe8d1d4c0595aaeef8ed35d5f88de8d3656fc8
-
Hannah Troisi authored
Summary: Update the px-kafka demo to incorporate the following changes: 1. Automatically start the load generator 2. Control invoicing delay with a flag set by USR signals: [[ https://github.com/pixie-labs/microservice-kafka/commit/554568dcaed2e65c34c2bad3b1723a126a848d4c | link ]] 3. Add JVM -XX:PreserveFramePointer option: [[ https://github.com/pixie-labs/microservice-kafka/commit/28944d6652a66dfb5325a11b8b4cd90fd105a8b4 | link ]] New CLI output after running `px demo deploy px-kafka`: {F180175} Test Plan: Built the CLI locally and tested the px demo deploy functionality (using the dev artifacts). Reviewers: michelle Reviewed By: michelle Signed-off-by:
Hannah Troisi <htroisi@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10885 GitOrigin-RevId: f9ebd14f9e69d199a00c882a2f1ac9ba1a023b3b
-
- 28 Feb, 2022 10 commits
-
-
Omid Azizi authored
Summary: Add a parser flag to support early message truncation. This is to save memory. Test Plan: Tests added to the parser. Reviewers: #stirling, jamesbartlett Reviewed By: jamesbartlett Signed-off-by:
Omid Azizi <oazizi@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10574 GitOrigin-RevId: 33e773e2a0d6bde5c2895201f080b33e66f27eed
-
Omid Azizi authored
Summary: Use new utilities like AccessRecordbatch, FindRecordsMatchingPID and RecordBatchSizeIs to improve the readability of the test. Also took out a piece about checking UPID formation, since that is covered elsewhere. Test Plan: This is just an improved test. Reviewers: #stirling, yzhao Reviewed By: #stirling, yzhao Signed-off-by:
Omid Azizi <oazizi@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10865 GitOrigin-RevId: 46af8421589d72f8aee5dceb18a3845b22d8960b
-
Omid Azizi authored
Summary: Add matcher RecordBatchSizeIs to improve readability of the test code. Test Plan: No functional changes, so use existing tests. Reviewers: #stirling, yzhao Reviewed By: #stirling, yzhao Signed-off-by:
Omid Azizi <oazizi@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10864 GitOrigin-RevId: 6427d7d9158fac10625a6ca24a71248997427413
-
yzhao1012 authored
Test Plan: Logging changes, manually run and observe the logging statement Reviewers: #stirling, oazizi Reviewed By: #stirling, oazizi Subscribers: oazizi Signed-off-by:
yzhao1012 <yzhao@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10869 GitOrigin-RevId: cd6fc9738ae83b5828ff56d180681155e59b5c0a
-
yzhao1012 authored
Summary: This reduces possibility of breakage because of version changes in our nats client library. Also we are not interested in other parts of the options anyway. Test Plan: This fixes a broken test Reviewers: #stirling, oazizi Reviewed By: #stirling, oazizi Signed-off-by:
yzhao1012 <yzhao@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10877 GitOrigin-RevId: 667267e350bf5d317ea2ea31ee590931e579261a
-
James Bartlett authored
Summary: Adds a UDTF that lists all "ranges" of memory allocated by tcmalloc. Each "range" represents a chunk of memory tcmalloc has allocated and is now either inuse (used by the application), free (unused by application but still hung onto by tcmalloc), or unmapped (which means its been released back to the OS). This is particularly helpful to understand what the allocation pattern looks like, especially in the presence of a lot of "free" ranges. It would be nice if we could somehow associate these ranges to their allocation sites, but that's currently not possible. Test Plan: Skaffolded to a cluster, was able to see all the agent's allocated ranges. Reviewers: nserrino, oazizi, vihang Reviewed By: oazizi Signed-off-by:
James Bartlett <jamesbartlett@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10863 GitOrigin-RevId: 78a80e77fdeb4f421a75296661d9629b7c6bdb6d
-
James Bartlett authored
Summary: Adds a script (`scripts/download_heap_prof_mapped_files.sh`) that takes as input a heap profile in pprof format, and the node the heap profile was collected on. Then it sshes into the given node, collects all the files that correspond to mapped files in the heap profile, and ships them back to your local machine as a tar archive. The archive is then extracted into a tmp folder that can subsequently be used as the `PPROF_BINARY_PATH`. The script is designed to work even if the workload that was profiled is running in a container, as it looks for files relative to `/proc/$PID/root` where `PID` is found based on mapping entries in the heap profile and the corresponding running processes on the given node. Test Plan: Tested that running the script dumps the expected files into a temp directory. Also tested that the files output, yield valid heap profiles when used for symbolization in pprof. Reviewers: #engineering, zasgar Reviewed By: #engineering, zasgar Signed-off-by:
James Bartlett <jamesbartlett@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10867 GitOrigin-RevId: 37a75abf2624829c3808fc5fded8965973504883
-
yzhao1012 authored
Summary: This is not hooked into Stirling, so this has no effect. This is a skeleton. Later diffs will add BPF code and its supporting code. Test Plan: Test added Reviewers: #stirling, oazizi Reviewed By: #stirling, oazizi Subscribers: oazizi Signed-off-by:
yzhao1012 <yzhao@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10857 GitOrigin-RevId: ca2acee5749d0c33030de82bb7e34bec8633cc5b
-
Michelle Nguyen authored
Summary: This diff adds the initial service protos for the plugin service for managing the data retention plugin. These will mainly be used to populate the plugin UI in the admin view. 1. GetDataRetentionPluginsForOrg gets all available plugins, and the current plugins the org has configured. 2. GetRetentionPluginConfig gets the configuration a user needs to fill out in order to enable a plugin. 3. GetOrgRetentionPluginConfig gets the settings for how a user has configured a plugin. 4. UpdateOrgRetentionPluginConfig is the mechanism for enabling/disabling a plugin and updating its configs. These changes currently do not cover configuring scripts with longterm data retention, just the initial configuration of the plugin values (such as endpoints). Test Plan: Everything builds, this change does not update any functionality/isn't used yet. Reviewers: vihang, nserrino Reviewed By: vihang JIRA Issues: PC-1437 Signed-off-by:
Michelle Nguyen <michellenguyen@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10854 GitOrigin-RevId: b5e1c4c0511a56b479285c2793e63ab53d1a768c
-
Michelle Nguyen authored
Summary: This diff adds the database tables which will be used to track a plugin's configuration. `data_retention_plugin_releases` will track the provider-specified configuration options for their plugin. For example, the preset scripts and config values that need to be filled out when enabling the plugin. This will be populated by a job, similar to artifact tracker. `org_data_retention_plugins` tracks an org's settings for a plugin, for example: their plugin version, what their values for each config setting are. This does not include a table for the longterm retention scripts that a user has yet. That will follow in a separate diff. Test Plan: Skaffold deploy, ensure that the migrations run. These tables are currently unused. Reviewers: vihang, nserrino Reviewed By: vihang JIRA Issues: PC-1437 Signed-off-by:
Michelle Nguyen <michellenguyen@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10855 GitOrigin-RevId: d47f1bdaf1ed30f0511bc8fbaf7e5b753ebafcd0
-
- 27 Feb, 2022 1 commit
-
-
Vihang Mehta authored
Summary: Upgrade to go 1.17 Test Plan: All tests pass on new docker image Reviewers: zasgar, oazizi, #third_party_approvers Reviewed By: zasgar, #third_party_approvers Signed-off-by:
Vihang Mehta <vihang@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10871 GitOrigin-RevId: a947abe327fdb87d016dbd1e20cf2d818a90b6da
-
- 26 Feb, 2022 4 commits
-
-
Vihang Mehta authored
Summary: Upgrade `github.com/nats-io/nats-server/v2` and `github.com/nats-io/nats-streaming-server` to address some CVEs. The rest of the upgrades were a side effect. Should address https://advisories.nats.io/CVE/CVE-2021-3127.txt https://advisories.nats.io/CVE/CVE-2022-24450.txt Test Plan: skaffold deploy of cloud + vizier countinue to work. Existing tests should also cover functionality. Reviewers: michelle, zasgar, #third_party_approvers Reviewed By: michelle, #third_party_approvers Signed-off-by:
Vihang Mehta <vihang@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10870 GitOrigin-RevId: e442ccc2bb54fcbc0c7a900bda62c47232e40566
-
Nick Lanam authored
Summary: I changed a diff before landing it, then landed it and a successor at the same time. I forgot to rebase the latter first, so changes were partially reverted. This fixes the final state. Test Plan: Run Cypress as usual. Reviewers: michelle, vihang Reviewed By: michelle JIRA Issues: PC-1429 Signed-off-by:
Nick Lanam <nlanam@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10868 GitOrigin-RevId: 7df81c43248b232737ddfd24fa9e931e67b06068
-
Nick Lanam authored
Summary: Tests the rest of the sidebar. Also stubs script execution for this test to speed up the test. Further diffs will refine the stubbing approach in general to keep most tests snappy. Test Plan: Run Cypress as normal (see `src/ui/cypress/README.md`). Reviewers: michelle, vihang Reviewed By: michelle JIRA Issues: PC-1428 Signed-off-by:
Nick Lanam <nlanam@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10795 GitOrigin-RevId: 6672278331195e1f8b87169e9dcf316f4793fe95
-
Nick Lanam authored
Summary: Tests that scripts execute, with basic verification of what actually ran. Test Plan: Run Cypress as normal (see `src/ui/cypress/README.md`). Reviewers: michelle, vihang Reviewed By: michelle JIRA Issues: PC-1424 Signed-off-by:
Nick Lanam <nlanam@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10785 GitOrigin-RevId: 48cde2eaffbdc3c6e617d996b2fed9a022b93b3e
-
- 25 Feb, 2022 7 commits
-
-
Omid Azizi authored
Summary: To improve testability, always use the injected clock. This means removing any references to std::chrono::steady_clock::now() inside data_stream.cc. Also, improve the tests by checking for the disabled reason when a tracker is disabled. Finally, restore a disabled test. Test Plan: This is mostly test changes. Any changes in the clock semantics are still covered by the tests. Reviewers: #stirling, yzhao Reviewed By: #stirling, yzhao Subscribers: yzhao Signed-off-by:
Omid Azizi <oazizi@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10848 GitOrigin-RevId: 431bf81d370a10fa96866dbfea0e2785e50da1b5
-
yzhao1012 authored
Test Plan: Tested manually with stirling_wrapper Reviewers: #stirling, oazizi Reviewed By: #stirling, oazizi Signed-off-by:
yzhao1012 <yzhao@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10856 GitOrigin-RevId: abd910ac0a8e9998c32021257cce1bc61fcd49d3
-
Omid Azizi authored
Summary: Augment some of our BPF event CONN_TRACE information to help with tracking. Test Plan: These are debug tools. Tested manually. Reviewers: #stirling, yzhao Reviewed By: #stirling, yzhao Signed-off-by:
Omid Azizi <oazizi@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10859 GitOrigin-RevId: 35f88e8d372f2244110c76387dbeb8bb7ce2e3a7
-
Omid Azizi authored
Summary: Add some documentation to ConnTracker states. Test Plan: None required. This is just documentation. Reviewers: #stirling, jps, yzhao Reviewed By: #stirling, jps, yzhao Subscribers: yzhao Signed-off-by:
Omid Azizi <oazizi@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10851 GitOrigin-RevId: 0b2a6515fa2bb4f4fb249156073a075fe17c151b
-
Omid Azizi authored
Summary: ConnID should be set as soon as the ConnTracker is created to avoid CONN_TRACEs with upid=0. Test Plan: Manually checked the CONN_TRACE logs. Reviewers: #stirling, yzhao Reviewed By: #stirling, yzhao Subscribers: yzhao Signed-off-by:
Omid Azizi <oazizi@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10842 GitOrigin-RevId: d11ace03d65615ddd91d5d3827546d5f3db46717
-
Omid Azizi authored
Summary: Tidying up some of the code for consistency. Also optimize to make fewer calls to std::chrono::now(). Test Plan: No functional changes. Reviewers: #stirling, yzhao Reviewed By: #stirling, yzhao Subscribers: yzhao Signed-off-by:
Omid Azizi <oazizi@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10832 GitOrigin-RevId: 2576c5bd34eecb2ccd55e62876a0e6da75ff7526
-
Omid Azizi authored
Summary: By exposing stirling_sources, we can control stirling sources with an environment variable. Test Plan: Manual Reviewers: #stirling, jps Reviewed By: #stirling, jps Subscribers: nserrino Signed-off-by:
Omid Azizi <oazizi@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10826 GitOrigin-RevId: 53c38fb439e01c0bec2e3b962a44ecfcc4c9c0d4
-
- 24 Feb, 2022 10 commits
-
-
yzhao1012 authored
Test Plan: Tested manually and see the printed logs Reviewers: #stirling, oazizi Reviewed By: #stirling, oazizi Signed-off-by:
yzhao1012 <yzhao@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10835 GitOrigin-RevId: b0055efd43ed692a28d42b95501c52c462b6b534
-
Michelle Nguyen authored
Summary: We will track plugin releases similarly to how we track vizier/CLI releases using artifact tracker. Releases that are published on Github will be used to update the plugin releases table in the plugin service. Test Plan: Skaffold deploy, to ensure that service starts up and migration runs Reviewers: vihang Reviewed By: vihang JIRA Issues: PC-1437 Signed-off-by:
Michelle Nguyen <michellenguyen@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10849 GitOrigin-RevId: bb9ed5960b613bc4ecc4910040450a23874ae8a2
-
Michelle Nguyen authored
Summary: We are adding the plugin service to Pixie cloud. This is just boilerplate for launching the deployment/service on kubernetes. The service does not do anything yet. Test Plan: Skaffold deploy Reviewers: vihang Reviewed By: vihang JIRA Issues: PC-1438 Signed-off-by:
Michelle Nguyen <michellenguyen@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10847 GitOrigin-RevId: 7e900be7476e86d18aee7ad475e2ad665c84435c
-
James Bartlett authored
Summary: Adds a UDTF that calls ReleaseFreeMemory on all the agents. This causes tcmalloc to release spans in the free list to the OS. This is useful for experimenting with memory usage. Test Plan: Checked that px._HeapStats, showed about 600MB of free spans in the page heap, then after running the UDTF, another call to `px._HeapStats` showed that 500MB of that was returned to the OS. Reviewers: oazizi, vihang, nserrino Reviewed By: vihang Signed-off-by:
James Bartlett <jamesbartlett@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10846 GitOrigin-RevId: 7acee822d2514fa562ea1895ab7bcee54e1b5f56
-
Vihang Mehta authored
Summary: `http.Error` sets headers but by the time `ResponseWriter.write` is called, headers are already sent. So we can't really do much with the error at that point. Just drop it instead. Test Plan: The sever shouldn't have logs saying ` http: superfluous response.WriteHeader call` anymore. Reviewers: jamesbartlett Reviewed By: jamesbartlett Signed-off-by:
Vihang Mehta <vihang@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10844 GitOrigin-RevId: 3886ac0ca8088ff7ee8bee85e97648a108df86e7
-
Phillip Kuznetsov authored
Summary: gendoc.py generated python docs with an extra nesting. That meant the python docs wouldn't get generated properly. We must've given up on this earlier which is why we didn't notice the problem. Test Plan: Generated the docs and made sure the python docs render from the data. Reviewers: htroisi, michelle, vihang Reviewed By: vihang JIRA Issues: PP-3156 Signed-off-by:
Phillip Kuznetsov <pkuznetsov@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10840 GitOrigin-RevId: f5018c03aa42aacd349ae4bc3934eef66c30440a
-
Pete Stevenson authored
Summary: The Java symbolization agent responds to a "method unload" callback. Here, we add support on the Stirling side for the same. Essentially, this removes a symbol from our Java symbol index. Test Plan: Existing. Reviewers: #stirling, oazizi Reviewed By: #stirling, oazizi Subscribers: yzhao, oazizi JIRA Issues: PP-2982, PP-3264 Signed-off-by:
Pete Stevenson <jps@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10805 GitOrigin-RevId: 92db82567a1c91e608dbb507f10eafc3a4a53c7f
-
Pete Stevenson authored
Summary: Because of symbol unloading, keeping Java symbols cached is challenging. For now, make the Java symbolizer uncacheable. We do not anticipate significant loss of perf. because the Java symbolizer keeps its own symbol index in memory (i.e. is already like a symbol cache). Test Plan: Existing. Reviewers: #stirling, oazizi Reviewed By: #stirling, oazizi Subscribers: yzhao, oazizi JIRA Issues: PP-2982, PP-3264 Signed-off-by:
Pete Stevenson <jps@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10821 GitOrigin-RevId: 9c6f1160c90357f3f9165003ec883f614c14e88e
-
Omid Azizi authored
Summary: Just a few typos and fixes noticed along the way. Test Plan: None. No functional changes. Reviewers: #stirling, jps Reviewed By: #stirling, jps Signed-off-by:
Omid Azizi <oazizi@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10843 GitOrigin-RevId: 5e868e562cc785c754fa239d9595eddf7c6d5e60
-
James Bartlett authored
Summary: Adds alternative DataStreamBuffer implementation, which maintains events in a sorted map, until a call to `Head()` at which point the first contiguous events are merged into a contiguous buffer. This comes at the expense of an extra copy, but makes `RemovePrefix()` and future eviction work much faster, and also has much better memory properties when there are "gaps" in the data. Note that this diff removes `Get()` as a public API of DataStreamBuffer, and changes all call sites to use `Head()` instead (all call sites were in tests). Also changes Head to be non-const. Also adds a benchmark for the two DataStreamBufferImpl's. Using the socket tracer benchmark, and google/benchmark's compare.py tool, the following are the p values for the null hypothesis that the old and the new implementation are the same. These data suggest that the new implementation is statistically significantly faster on all benchmarks: ``` BM_SocketTraceConnector/http1_no_gaps_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10 BM_SocketTraceConnector/http1_encode_chunked_no_gaps_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10 BM_SocketTraceConnector/mysql_no_gaps_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10 BM_SocketTraceConnector/postgres_no_gaps_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10 BM_SocketTraceConnector/cql_no_gaps_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10 BM_SocketTraceConnector/nats_no_gaps_pvalue 0.0013 0.0013 U Test, Repetitions: 10 vs 10 BM_SocketTraceConnector/http1_inter_iter_gaps_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10 BM_SocketTraceConnector/mysql_inter_iter_gaps_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10 BM_SocketTraceConnector/postgres_inter_iter_gaps_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10 BM_SocketTraceConnector/nats_inter_iter_gaps_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10 BM_SocketTraceConnector/cql_inter_iter_gaps_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10 BM_SocketTraceConnector/http1_intra_iter_gaps_pvalue 0.0002 0.0002 U Test, Repetitions: 10 vs 10 ``` The mean on those benchmarks for the new implementation: ``` BM_SocketTraceConnector/http1_no_gaps_mean 8.90ms 22MB BM_SocketTraceConnector/http1_encode_chunked_no_gaps_mean 23.17ms 23MB BM_SocketTraceConnector/mysql_no_gaps_mean 12.02ms 21MB BM_SocketTraceConnector/postgres_no_gaps_mean 16.25ms 23MB BM_SocketTraceConnector/cql_no_gaps_mean 8.20ms 20MB BM_SocketTraceConnector/nats_no_gaps_mean 45.20ms 23MB BM_SocketTraceConnector/http1_inter_iter_gaps_mean 39.08ms 23MB BM_SocketTraceConnector/mysql_inter_iter_gaps_mean 72.62ms 23MB BM_SocketTraceConnector/postgres_inter_iter_gaps_mean 99.01ms 25MB BM_SocketTraceConnector/nats_inter_iter_gaps_mean 219.77ms 24MB BM_SocketTraceConnector/cql_inter_iter_gaps_mean 37.61ms 22MB BM_SocketTraceConnector/http1_intra_iter_gaps_mean 36.24ms 64MB ``` and for the old implementation: ``` BM_SocketTraceConnector/http1_no_gaps_mean 14.91ms 36MB BM_SocketTraceConnector/http1_encode_chunked_no_gaps_mean 39.66ms 39MB BM_SocketTraceConnector/mysql_no_gaps_mean 19.47ms 38MB BM_SocketTraceConnector/postgres_no_gaps_mean 31.09ms 39MB BM_SocketTraceConnector/cql_no_gaps_mean 19.58ms 36MB BM_SocketTraceConnector/nats_no_gaps_mean 51.89ms 40MB BM_SocketTraceConnector/http1_inter_iter_gaps_mean 90.18ms 63MB BM_SocketTraceConnector/mysql_inter_iter_gaps_mean 124.34ms 62MB BM_SocketTraceConnector/postgres_inter_iter_gaps_mean 160.59ms 64MB BM_SocketTraceConnector/nats_inter_iter_gaps_mean 299.13ms 44MB BM_SocketTraceConnector/cql_inter_iter_gaps_mean 84.91ms 62MB BM_SocketTraceConnector/http1_intra_iter_gaps_mean 312.37ms 527MB ``` Particularly of note is the dramatic improvement in memory usage for the `intra_iter_gaps` case from the new to the old. Test Plan: - Tested performance of new implementation in benchmarks, see above. - Tested correctness by making the data_stream_buffer_test test both the new and the old implementation. - Also tested that a skaffold deploy with the new DataStreamBuffer works on my dev cluster. Reviewers: #stirling, oazizi Reviewed By: #stirling, oazizi Subscribers: oazizi, yzhao JIRA Issues: PP-3223 Signed-off-by:
James Bartlett <jamesbartlett@pixielabs.ai> Differential Revision: https://phab.corp.pixielabs.ai/D10812 GitOrigin-RevId: a755ff6e7f288dece84193382cb9d9e4e1578ba0
-