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

Add async config block & concurrent readers to UDP input operator #27647

Conversation

hovavza
Copy link
Contributor

@hovavza hovavza commented Oct 12, 2023

Description: adding a feature - Adding asynchronous & concurrency mode to the UDP receiver/stanza input operator - goal is to reduce UDP packet loss in high-scale scenarios.
Added 'async' block that holds 'FixedAReaderRoutineCount' field - it determines how many concurrent readers will read from the UDP port, process logs, and send them downstream.

Link to tracking Issue: 27613

Testing: Local stress tests ran all types of config (no 'async', with empty 'async', with 'async' that contains FixedAReaderRoutineCount=2).
In repo, added single test to udp_test, config_test (in stanza udp operator), and udp_test (in udplogreceiver).

Documentation: Updated md file for both udplogreceiver & stanza udp_input operator with the new flags.

pkg/stanza/operator/input/udp/udp.go Outdated Show resolved Hide resolved
receiver/udplogreceiver/README.md Outdated Show resolved Hide resolved
pkg/stanza/operator/input/udp/udp.go Outdated Show resolved Hide resolved
pkg/stanza/operator/input/udp/udp.go Outdated Show resolved Hide resolved
@hovavza
Copy link
Contributor Author

hovavza commented Oct 14, 2023

@djaglowski it seems check-links step fails due to the following missing url (mentioned in the MD):
https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/span-general.md#general-network-connection-attributes%5D
(here: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/49aee3a066a95b9f5fff4dd7c930c554e1a7c1ea/pkg/stanza/docs/operators/udp_input.md)

The removal of many such docs was performed during this PR:
open-telemetry/opentelemetry-specification#3711

I can't find a matching or similar document in the new semantic-conventions repo (https://github.com/open-telemetry/semantic-conventions).
@djaglowski & @jsuereth, what do you suggest we do about it? Should we remove the link altogether from the UDP MD, or can you suggest a new link to put instead?

@djaglowski
Copy link
Member

djaglowski commented Oct 16, 2023

@hovavza, I think the following link is appropriate for the docs update: https://github.com/open-telemetry/semantic-conventions/blob/cee22ec91448808ebcfa53df689c800c7171c9e1/docs/general/attributes.md#other-network-attributes

@djaglowski djaglowski merged commit cf8ea3a into open-telemetry:main Oct 17, 2023
85 checks passed
@github-actions github-actions bot added this to the next release milestone Oct 17, 2023
JaredTan95 pushed a commit to openinsight-proj/opentelemetry-collector-contrib that referenced this pull request Oct 18, 2023
…en-telemetry#27647)

**Description:** adding a feature - Adding asynchronous & concurrency
mode to the UDP receiver/stanza input operator - goal is to reduce UDP
packet loss in high-scale scenarios.
Added 'async' block that holds 'FixedAReaderRoutineCount' field - it
determines how many concurrent readers will read from the UDP port,
process logs, and send them downstream.

**Link to tracking Issue:** 27613

**Testing:** Local stress tests ran all types of config (no 'async',
with empty 'async', with 'async' that contains
FixedAReaderRoutineCount=2).
In repo, added single test to udp_test, config_test (in stanza udp
operator), and udp_test (in udplogreceiver).

**Documentation:** Updated md file for both udplogreceiver & stanza
udp_input operator with the new flags.

---------

Co-authored-by: Daniel Jaglowski <jaglows3@gmail.com>
sigilioso pushed a commit to carlossscastro/opentelemetry-collector-contrib that referenced this pull request Oct 27, 2023
…en-telemetry#27647)

**Description:** adding a feature - Adding asynchronous & concurrency
mode to the UDP receiver/stanza input operator - goal is to reduce UDP
packet loss in high-scale scenarios.
Added 'async' block that holds 'FixedAReaderRoutineCount' field - it
determines how many concurrent readers will read from the UDP port,
process logs, and send them downstream.

**Link to tracking Issue:** 27613

**Testing:** Local stress tests ran all types of config (no 'async',
with empty 'async', with 'async' that contains
FixedAReaderRoutineCount=2).
In repo, added single test to udp_test, config_test (in stanza udp
operator), and udp_test (in udplogreceiver).

**Documentation:** Updated md file for both udplogreceiver & stanza
udp_input operator with the new flags.

---------

Co-authored-by: Daniel Jaglowski <jaglows3@gmail.com>
jmsnll pushed a commit to jmsnll/opentelemetry-collector-contrib that referenced this pull request Nov 12, 2023
…en-telemetry#27647)

**Description:** adding a feature - Adding asynchronous & concurrency
mode to the UDP receiver/stanza input operator - goal is to reduce UDP
packet loss in high-scale scenarios.
Added 'async' block that holds 'FixedAReaderRoutineCount' field - it
determines how many concurrent readers will read from the UDP port,
process logs, and send them downstream.

**Link to tracking Issue:** 27613

**Testing:** Local stress tests ran all types of config (no 'async',
with empty 'async', with 'async' that contains
FixedAReaderRoutineCount=2).
In repo, added single test to udp_test, config_test (in stanza udp
operator), and udp_test (in udplogreceiver).

**Documentation:** Updated md file for both udplogreceiver & stanza
udp_input operator with the new flags.

---------

Co-authored-by: Daniel Jaglowski <jaglows3@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants