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

agents: implement data handle ring buffer #69

Merged
merged 1 commit into from
Feb 16, 2024

Conversation

santigimeno
Copy link
Member

Add a basic RingBuffer<T> implementation to nsolid_util.h with accompanying tests.

Use it for ZMQ data channel messages, so we're able to buffer up to MAX_DATA_BUFFER_SIZE messages in case of channel disconnection. Fixes problems observed while load testing the agent, where data messages were generated before the actual data channel connection was established and were actually dropped.

@santigimeno santigimeno self-assigned this Jan 24, 2024
@santigimeno santigimeno force-pushed the santi/zmq_data_buffer_ring branch from 63ebaa6 to 04bf8c7 Compare January 25, 2024 16:44
@trevnorris trevnorris force-pushed the node-v20.x-nsolid-v5.x branch from 65f4cda to 2326725 Compare January 25, 2024 18:27
@santigimeno santigimeno force-pushed the santi/zmq_data_buffer_ring branch 2 times, most recently from 38f7e00 to fe7c616 Compare February 12, 2024 21:20
@trevnorris trevnorris force-pushed the santi/zmq_data_buffer_ring branch from fe7c616 to 2074ce1 Compare February 15, 2024 20:21
trevnorris added a commit that referenced this pull request Feb 16, 2024
Add a basic `RingBuffer<T>` implementation to `nsolid_util.h` with
accompanying tests.

Use it for ZMQ `data` channel messages, so we're able to buffer up to
`MAX_DATA_BUFFER_SIZE` messages in case of channel disconnection. Fixes
problems observed while load testing the agent, where data messages
were generated before the actual `data` channel connection was
established and were actually dropped.

PR-URL: #69
Co-authored-by: Trevor Norris <trev.norris@gmail.com>
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
@trevnorris trevnorris force-pushed the santi/zmq_data_buffer_ring branch from 2074ce1 to 4d726b6 Compare February 16, 2024 20:05
Add a basic `RingBuffer<T>` implementation to `nsolid_util.h` with
accompanying tests.

Use it for ZMQ `data` channel messages, so we're able to buffer up to
`MAX_DATA_BUFFER_SIZE` messages in case of channel disconnection. Fixes
problems observed while load testing the agent, where data messages
were generated before the actual `data` channel connection was
established and were actually dropped.

PR-URL: #69
Co-authored-by: Trevor Norris <trev.norris@gmail.com>
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
@trevnorris trevnorris force-pushed the santi/zmq_data_buffer_ring branch from 4d726b6 to ebd3f8c Compare February 16, 2024 22:19
@trevnorris trevnorris merged commit ebd3f8c into node-v20.x-nsolid-v5.x Feb 16, 2024
13 of 19 checks passed
@trevnorris trevnorris deleted the santi/zmq_data_buffer_ring branch February 16, 2024 23:40
trevnorris added a commit that referenced this pull request Feb 28, 2024
Add a basic `RingBuffer<T>` implementation to `nsolid_util.h` with
accompanying tests.

Use it for ZMQ `data` channel messages, so we're able to buffer up to
`MAX_DATA_BUFFER_SIZE` messages in case of channel disconnection. Fixes
problems observed while load testing the agent, where data messages
were generated before the actual `data` channel connection was
established and were actually dropped.

PR-URL: #69
Co-authored-by: Trevor Norris <trev.norris@gmail.com>
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants