newrelic / newrelic/elixir_agent

Connect timeout to the collector should be higher

Open
#395 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature request
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.