Skip to content
This repository has been archived by the owner on Feb 20, 2023. It is now read-only.

Instrumentation overhead is high in Docker environment #442

Open
ryanrupp opened this issue Feb 7, 2019 · 0 comments
Open

Instrumentation overhead is high in Docker environment #442

ryanrupp opened this issue Feb 7, 2019 · 0 comments

Comments

@ryanrupp
Copy link
Contributor

ryanrupp commented Feb 7, 2019

See my post here for details. I created an example here where I have some low level method doSomething that i call in a tight loop. Here are the results:

  • Local java + stagemonitor OFF = < 200ms
  • Local java + stagemonitor ON = < 200ms
  • Containerized docker + stagemonitor OFF = < 200ms
  • Containerized docker + stagemonitor ON = ~7 seconds

This can be reproduced by taking the pet clinic example there running it in the openjdk:8u162-jdk docker image (I haven't tested newer versions yet or the non jdk image although I don't think it should matter with jdk vs jre image). Tests were run on both OSX and Ubuntu 16.04 (running on EC2). Unfortunately I did not grab the docker version at the time, can probably verify this still happens with the latest docker + the openjdk image above.

I was thinking maybe something with JIT optimizations so I'll have to circle back and run this test in a loop or something to see if this ever improves. I've noticed this in real code and had to workaround it now by adding an exclude for the given class but this is hard to do as internal refactoring of classes can suddenly make this issue pop-up (maybe some config option to only instrument public methods or something although with the local performance + stagemonitor this was good). This can happen for any methods that are lower level/called in high volume. We generally setup instrumentation to only instrument our own code e.g. com.mycompany.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant