-
Notifications
You must be signed in to change notification settings - Fork 4
feat: include rpc calls and outbound http requests from url parts for… #1308
Conversation
… external metircs
@srikanthccv this won't make it work. After detecting the keys like As the set of attributes extracted depends on whether the call is According to the above decision, we will have to change our promql at the frontend api call to |
@ankitnayan good catch. I didn't think about the static queries and labels. Only tested the latency_sum and latency_count. It's probably not good idea to combine everything into one. Then this also requires some new panel in UI for each different category and how they are organized. This turns out to be not as quick as I thought. |
exporter/clickhousetracesexporter/migrations/000012_add_RPC_system_service_method.up.sql
Outdated
Show resolved
Hide resolved
LGTM @ankitnayan |
@ankitnayan please wait for me to check things with latest changes and image before merging. |
Looks like number can't repeat (now this PR has same as |
Yes @srikanthccv numbers can't be same in gomigrate, please update numbers to 13 as exceptions PR is already merged. |
… external metircs
Fixes SigNoz/signoz#1305
Fixes SigNoz/signoz#1300
Part SigNoz/signoz#1301
The HTTP semconv recommend setting the one of the following sets of attributes for the client HTTP requests. The client instrumentation may set any one of them. We should take that into account when deciding if the request is external.
http.url
http.scheme
,http.host
,http.target
http.scheme
,http.peer.name
,net.peer.port
,http.target
http.scheme
,net.peer.ip
,net.peer.port
,http.target
And for the RPC systems there should be
rpc.{system,service,method}
tuple. This is a generic requirement. For instance if you look at the AWS botocore instrumentation which is used for invoking lambdas using it's client these are set along with other FaaS attributes. This covers good number of cases but not the exhaustive list.