opentracing-contrib / nginx-opentracing

NGINX plugin for OpenTracing
Apache License 2.0
500 stars 121 forks source link

Support OpenTelemetry C++ #284

Open levonet opened 2 years ago

levonet commented 2 years ago

jaeger-client-cpp and opentracing-cpp are DEPRECATED. An alternative is opentelemetry-cpp. It also supports other exporters.

miry commented 2 years ago

Good catch.

There is an example how opentelemetry-cpp could be built with nginx: https://github.com/kubernetes/ingress-nginx/pull/8585/files or https://github.com/iquirino/nginx-opentelemetry

Here new question should it be in this repo? If not where the nginx-opentelemetry repo should live?

As I understand it should be under https://github.com/open-telemetry or https://github.com/open-telemetry-contrib

@lucacome What do you think about it?

lucacome commented 2 years ago

I know there's some work being done here https://github.com/open-telemetry/opentelemetry-cpp-contrib/tree/main/instrumentation/nginx

I think nginx-opentelemetry under @open-telemetry-contrib makes sense, but not sure what the plans are

sriemer commented 2 years ago

Speaking for Instana/IBM Observability by Instana APM:

For now, the NGINX OpenTelemetry example is much harder to configure and does not provide huge advantages over the OpenTracing variant. It shares a lot of the same issues like e.g. that subrequests coming from background caching cannot be traced or that the trace continuity requires setting some *propagate* setting. Also response headers aren't supported. We need them for end-user monitoring. We have more custom patches required specific to what we do.

For NGINX OpenTracing we already have to do auto-tracing via a K8s auto-trace mutating webhook controller as our customers aren't able or willing to set up NGINX tracing manually.

IMHO OpenTelemetry needs better integration into NGINX but collaboration with F5 engineering management hasn't been very productive so far for us. Sure, OpenTelemetry lobby work is on our radar but not with very high priority for now.

How do others see that?