newrelic / newrelic/newrelic-java-agent

[Spike] Investigate Feasibility of WebSocket Instrumentation

Open
#2,949 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

spike
Dominant language
Java
Stars
240
Forks
170
Avg merge
3d 2h
Merged PRs (30d)
21

Description

Related to: https://new-relic.atlassian.net/browse/NR-308847

Out of the box instrumentation for WebSockets has long been requested but it has proven difficult due to the constraints of the NR Transaction model. We would like to do a spike to determine if there is a workable solution.

This is likely to be a very large and complicated effort. A goal of any solution would be a general approach that is well documented in a new agent spec and is applicable across most, if not all, APM agents.

The goal of this spike is to determine if a working solution can be implemented for the Java agent and, if so, engage with other APM agent teams to determine if a similar approach is workable. Creating a new agent spec would be an ideal outcome but could be a follow-on task.

Some documentation on related efforts:

Contributor guide

Open the contributing guide

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 with the linked New Relic WebSocket Instrumentation Phase 1 and Phase 2 documentation, then review the referenced java-ws-stomp repository and related DataDog issues and pull requests. Determine whether a workable Java agent approach exists, record its constraints and applicability to other APM agents, and document the feasibility findings.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
observability-sre
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.