newrelic / newrelic/elixir_agent
Connect timeout to the collector should be higher
Nobody has claimed this yet.
- Dominant language
- Elixir
- Stars
- 268
- Forks
- 107
- Avg merge
- 9h 5m
- Merged PRs (30d)
- 2
Description
Other agents have an HTTP connect timeout as high as 2 minutes when they connect to the new relic collector. We should increase the timeout the agent uses for contacting the collector specifically.
Users can get around this by setting custom httpc options but that value is global and there could be cases where it causes a GenServer.call to timeout if another process is waiting a long time on an http connection and doesn't respond quickly enough.
Additional thoughts
- The higher timeout should be specific to the collector code (for now)
- We'll need to analyze how a higher timeout impacts other parts of the application. For example, if it causes a given genserver process to not response to messages while it waits then other parts of the agent may experience timeouts in their own calls to the process. This could lead to some weird bugs. The solution will need to include analyzing what other parts of the system may need to change to account for a higher connect timeout.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the collector's HTTP connection path and reviewing the linked custom httpc options pull request. Determine where the collector-specific connect timeout is configured, then analyze affected GenServer calls and other agent components. Done means the collector uses a higher isolated timeout without introducing related process timeouts.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- elixir
- Domain
- backend, networking
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100