grafana / grafana/pyroscope

Pyroscope Java agent compatibility

Open
#2,181 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
11.7k
Forks
802
Avg merge
1d 19h
Merged PRs (30d)
80

Description

It was suggested to me (from here: https://github.com/grafana/website/issues/14520) that I raise this in this repo).

https://grafana.com/docs/phlare/latest/configure-client/language-sdks/java/

People familiar with java agents will often ask about compatibility between agents because they have had direct experience with java agents colliding with one another and causing bizarre application behavior. During a Grafana Day at UHG, when Pyroscope was mentioned, UGH immediately asked if the agent could co-exist with other APM agents. AppDyanmics, for example, will only provide support if their agent is the only BCI agent loaded (see below for the language AppDynamics uses in their documentation).

It would be helpful for users to understand if the there are any compatibility issues between pyroscope.jar and other observability agents. Or, in the event that the user experiences bizarre application behavior after adding pyroscope.jar to their app, advise them to check to see if other java agents are being loaded, temporarily remove them and check to see if the bizarre behavior has been eliminated.

https://docs.appdynamics.com/appd/4.5.x/en/application-monitoring/install-app-server-agents/java-agent/install-the-java-agent

The AppDynamics Java Agent is one type of bytecode injection (BCI) agent. To prevent unforeseen issues with other BCI agents, AppDynamics only supports environments running the Java Agent as the sole BCI agent on the JVM.

You can run multiple BCI Agents on the JVM at your own risk. For Java Agent version 4.5.16 and earlier, you can decrease the chances of conflict with other agents by specifying the following command-line option:

-Dappdynamics.agent.prefer.retransformClasses=true

Java Agent versions 4.5.17 and later automatically enables this option if they detect the presence of other agents.

It would be helpful for users to understand if the there are any compatibility issues between pyroscope.jar and other observability agents. Or, in the event that the user experiences bizarre application behavior after adding pyroscope.jar to their app, advise them to check to see if other java agents are being loaded, temporarily remove them and check to see if the bizarre behavior has been eliminated.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.