|
|
|
|
|
by Diggsey
2666 days ago
|
|
That sounds horrific for whoever is going to be supporting that system... The last thing I would want in a production environment is to have some 3rd party software monkey-patching the code at runtime. What happens when:
- a bug only occurs (due to timing or some other extremely subtle issue) when this monkey-patching is applied.
- there's a bug in the monkey-patching itself (sounds like a fun debugging session!)
- a library is accidentally monkey-patched with a slightly different version, or falsely detected as a known library (maybe it is a fork) Give me statically compiled, reproducible, dependency free, bit-for-bit identical with what has been thoroughly tested in CI, musl binaries any day. That's how you avoid getting woken up at 4am. This kind of magic should happen at compile time, if at all. |
|
It's OK that you're not, but I hope you can agree that engineering observability isn't cheap nor easy - and if you're using standard libraries, frameworks, and tooling (and not going way off the rails) we have observed that, for the most part, our agent works as intended.
We always recommend our customers run the agent in their test and integration environments, but you are correct, there are always risks involved. Other than the automation how is this any different then putting a New Relic jar into your Java app, or including a Datadog library? We simply figured out how to do it automatically at runtime.