Replies: 8 comments 9 replies
-
I am transferring this to the discussion, the |
Beta Was this translation helpful? Give feedback.
-
I am a little confused about your case. First of all, the peer is a very important concept in the SkyWalking agent.
Peer like this is super wrong, peer is a network identifier to define a server or a cluster. |
Beta Was this translation helpful? Give feedback.
-
I will read through the provided link and come back with more 'skywalking-centric' feature. |
Beta Was this translation helpful? Give feedback.
-
@wu-sheng I went through some Java agent plugins + the STAM paper In the case of async queues, added to the fact that RabbitMQ itself isn't instrumented with Skywalking, it creates a problem. Using standard Skywalking STAM implementation, the result is that all containers are linked to the RabbitMQ server, regardless of which Queue is being used. I hope this explains more clearly the issue I'm trying to resolve. |
Beta Was this translation helpful? Give feedback.
-
Thank you for your time, this is appreciated. Currently, traces & endpoint dependencies only link 1 exitspan with 1 entryspan, then it cuts. I have looked at traces and endpoint dependencies + debugged the agent a little |
Beta Was this translation helpful? Give feedback.
-
@wu-sheng Entry (deliver):
Run code on message (outside of an Entry span) Exit (publish):
|
Beta Was this translation helpful? Give feedback.
-
@wu-sheng But when looking at Service 3 Endpoint Dependency:
Do you agree I can create a 'bug' issue for the problem I will describe below?
There is a small bug in server-oap for endpoint "getEndpointDependencies":
Idea#1 for a solution:
Idea#2
|
Beta Was this translation helpful? Give feedback.
-
@wu-sheng The second point was 'sw_requests' Is there a preferred way to do that? I could disable the plugin, but then I would be missing the Exit call with it's 'op' (URI) Thank you! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Search before asking
Description
I would like to add options on how to name 'op' and 'peer' when using some of the plugins.
I have already written some code to address this feature and would like to make them part of the product for anyone to use.
Default would still be exactly the same as it is right now, but it would be possible to change the reporting behavior of the plugins for specific needs/services.
Right now, sw_rabbitmq uses:
I would like to add 2 env. variables to enable this change ( 1 bool + 1 label (Default RabbitMQ)):
Same goes for sw_requests:
With 3 env. var (1 peer bool, 1 peer label (Default Web Request), 1 op bool):
Use case
RabbitMQ:
container 1 -> queue 1 -> container 2 -> queue 2 -> container 3
instead of:
service 1 <-> RabbitMQ
service 2 <-> RabbitMQ
service 3 <- RabbitMQ
Requests:
One of our containers calls different urls on the web to get additional information on the data being processed.
This creates a crazy topology pointing to each and every webpage being read (tons of them)
We'd rather see:
Instead of a storm like this:
Plus, in traces, we prefer seeing which websites are slow (netloc) than their precise path.
Related issues
There could be more of this coming in later as we start using Skywalking for all our services.
Just a question, I know this could be a big endeavor / change:
Are you willing to submit a PR?
Code of Conduct
Beta Was this translation helpful? Give feedback.
All reactions