feat: Added transformer injection#38
Conversation
88744d0 to
9a57f63
Compare
54df63e to
25df512
Compare
The included
I don't follow. |
Who are these people? This library is primarily consumed by the SDKs of APM providers. We are unlikely to want to ship code that allows arbitrary code execution by setting an environment variable, especially when there other options. If you need this specific feature can you not have your own hook wrapper? |
What are the other options?
At the moment, the sole driver of this PR is to solve your woes with publishing new Orchestrion versions. |
I can't really see how this relevant. This PR doesn't contain any breaking changes and could be published under a minor release. |
|
Ah ok, just looked through this again after opening #81 and realised you are likely not talking about the transforms that can be applied per instrumentation?
It seems like this PR allows you to completely swap out the |
25df512 to
5b60a7a
Compare
With this change you do not have to release a new version of this module in order to supply a newer version of Orchestrion. |
I just changed the approach to a DI approach. |
5b60a7a to
11db295
Compare
So instead of releasing a v1 so every feature addition is not a semver breaking change, you're suggesting this as an alternative? This is worse than releasing a v1 in every way:
I knew you were against releasing a v1 but I'm surprised you would suggest this as a viable alternative! |
|
This is required if we are to ever support alternative transformers. The fact that it solves a current headache is a bonus. Issuing a v1 of everything right now introduces high probability of breakage from ongoing development of the overall architecture. The project simply is not ready for a v1. |
Who is asking for this?
This doesn't solve any headaches regarding being pre v1. As I've already said above, your solution is more steps than just bumping the version for every minor release. We would never use this feature because of the numerous reasons I've listed.
If we need to make breaking changes we can just release another major. The only cost to releasing a new major is that downstream consumers will need to manually bump their version and we're already doing that for every single minor release. |
This PR adds the ability to inject your own transformer module. This allows for alternate transformers to be written, or for different versions of the one we maintain, to be used.