apache / skywalking

APM, Application Performance Monitoring System
https://skywalking.apache.org/
Apache License 2.0
23.9k stars 6.52k forks source link

[Feature] does skywalking want to support multiple plugins perform multiple enhancements to one method? #11117

Closed jiangyunpeng closed 1 year ago

jiangyunpeng commented 1 year ago

Search before asking

Description

at this moment, skywalking's enhancement rule is that if two independent plugin match same method and define distinct MethodsInterceptor, this last one will overwrite the fist one, it can't perform multiple enhancements to one method.

in our scenario except APM we want to use skywalking for some service govern, like auth、traffic limit and so on. so does skywalking want to support multiple plugins perform multiple enhancements to one method?

Use case

No response

Related issues

No response

Are you willing to submit a PR?

Code of Conduct

lujiajing1126 commented 1 year ago

We are using SW Agent in service government scenarios, e.g. xDS proxyless for traffic routing, alibaba-sentinel integration etc. But we merge several interceptors into a single one.

Besides, for service gov. purpose, PluginDefineV1 or V2 are not sufficient. You need to a customized one. So it is complicated to allow multiple interceptors based on various PluginDefinition versions.

wu-sheng commented 1 year ago

We don't guarantee we do or don't. The cases you mentioned are not our cases.

jiangyunpeng commented 1 year ago

We are using SW Agent in service government scenarios, e.g. xDS proxyless for traffic routing, alibaba-sentinel integration etc. But we merge several interceptors into a single one.

Besides, for service gov. purpose, PluginDefineV1 or V2 are not sufficient. You need to a customized one. So it is complicated to allow multiple interceptors based on various PluginDefinition versions.

Thanks for your reply Was your refer to the project open source?

So far, we use PluginDefineV1 implements some register/discover function, it works well, just the two functions(obverse and service govern) merge into a interceptor has bad smell