-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[proposal] servicegraph support virtual/peer node #17196
Comments
Pinging code owners:
See Adding Labels via Comments if you do not have permissions to add labels yourself. |
I already finished it and tested in my fork repo. if the proposal makes sense, I will contribute it upstream. :) |
Hi! Thanks for the proposal, I like the two use-cases described here. They can be a nice addition to the servicegraph processor. We can make the actual implementation a bit more generic, so it doesn't spill to the |
After careful consideration, I found that not every span attribute has a generic tag like for database peer node, it only |
Are there any attributes in the semantic conventions that we can reliably use to extract the data in the use-cases you described? |
Unfortunately, it seems that this does not exist. :-( |
Closed by #17350 |
Previous contributions to servicegraph are as follows: 1. make a proposal and impl [`virtual node` feature](open-telemetry#17196) in [PR](open-telemetry#17350) 2. [fix bugs and enhancements](https://github.com/open-telemetry/opentelemetry-collector-contrib/pulls?q=is%3Apr+author%3AJaredTan95+label%3Aprocessor%2Fservicegraph+is%3Aclosed)
Previous contributions to servicegraph are as follows: 1. make a proposal and impl [`virtual node` feature](#17196) in [PR](#17350) 2. [fix bugs and enhancements](https://github.com/open-telemetry/opentelemetry-collector-contrib/pulls?q=is%3Apr+author%3AJaredTan95+label%3Aprocessor%2Fservicegraph+is%3Aclosed) --------- Signed-off-by: Jared Tan <jian.tan@daocloud.io>
Component(s)
processor/servicegraph
Is your feature request related to a problem? Please describe.
as #9232 (comment) designed, the current processor discards the call relationship when processing the following scenarios:
It is requested by the browser to the backend, but the browser side does not integrate OTEL/sdk, and the backend integrates otel. So, the processor only received backend
server
span and will drop it from the cache when expired.The backend requests a service for an external address(like cloud service), and the backend integrates OTEL/sdk, but the external address does not integrate OTEL.
Describe the solution you'd like
so, I propose to patch edge before the processor discards these spans, depending on the kind of span in the cache:
client
andconsumer
span inopentelemetry-collector-contrib/processor/servicegraphprocessor/processor.go
Line 201 in 0f57f29
edge
.opentelemetry-collector-contrib/processor/servicegraphprocessor/internal/store/store.go
Line 117 in 0f57f29
server
, we can directly patchclient=user
,user
represents all of requert source, maybe browser or curl.etcfinally , the metrics geanerated would be like:
Describe alternatives you've considered
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: