envoyproxy / envoy

Cloud-native high-performance edge/middle/service proxy
https://www.envoyproxy.io
Apache License 2.0
25.04k stars 4.82k forks source link

Enable setting trace operation to http path #31134

Open mchandler-plato opened 11 months ago

mchandler-plato commented 11 months ago

Title: Enable setting trace operation to http path

Description: Currently DataDog APM tracing for envoy is a really useful feature, the one downside though is that the operation name is hard coded in envoy to ether ingress or egress and thus datadog groups all the different request paths together and its hard to tell the different routes apart.

image

Can an option be added that appends the request http path to the operation name thus allowing the datadog trace extension to use that as the resource name and split the requests up for unique stats like the following:

image

Relevant Links: https://docs.datadoghq.com/tracing/services/resource_page/

A resource is a particular action for a given [service](https://docs.datadoghq.com/tracing/glossary/#services) (typically an individual endpoint or query). Read more about resources in [Getting Started with APM](https://docs.datadoghq.com/tracing/glossary/). For each resource, APM automatically generates a dashboard page covering:
yanavlasov commented 11 months ago

Adding datadog tracer owners @cgilmour @dgoffredo @dmehala @mattklein123

mchandler-plato commented 11 months ago

looks like you will need to call the equivalent in c++ of tracer.ResourceName("/my/request/url") in go when start span is called