RFC (pdk): standardized tracing api and core instrumentation #7321
Replies: 15 comments
-
Beta Was this translation helpful? Give feedback.
-
|
+1 There have been talks about doing the same with metrics in the PDK, where different implementations such as Prometheus, Datadog, statsD can pull metrics from the core. Is this something you would be willing to contribute? |
Beta Was this translation helpful? Give feedback.
-
|
+1 to further enhanced tracing and latency explanations with core Kong. I have always thought a glaring feature missing is information on how long DB queries were taking on a given tx to help explain if the hits being seen were from lua code execution, nginx, or just waiting for db's to respond to given queries(less relevant for db-less setups but the lua code vs nginx trace exec time would still be ideal for those kinda deployments too). |
Beta Was this translation helpful? Give feedback.
-
|
+1 |
Beta Was this translation helpful? Give feedback.
-
|
@vito-laurenza-zocdoc did you make it works https://github.com/opentracing-contrib/nginx-opentracing in Kong ? |
Beta Was this translation helpful? Give feedback.
-
No, I haven't had time to work on this. |
Beta Was this translation helpful? Give feedback.
-
|
+1!!! |
Beta Was this translation helpful? Give feedback.
-
|
+1 |
Beta Was this translation helpful? Give feedback.
-
|
Related to this discussion #7331, we have pushed this plugin - https://github.com/matthyx/kong-elastic-apm |
Beta Was this translation helpful? Give feedback.
-
|
Has anyone managed to get I've been banging my head trying to get it working with Datadog trying to install the binary as well as using Docker multi-stage builds with no luck, as evidenced here: opentracing-contrib/nginx-opentracing#225 |
Beta Was this translation helpful? Give feedback.
-
|
+1 We are using skywalking-nginx-lua in Kong, but we'd like to migrate to an OpenTelemetry solution. |
Beta Was this translation helpful? Give feedback.
-
|
We have a few use cases where this kind of information would be useful. For example, in the rate limiting plugin we have set the redis connection timeout to a low value (such that if redis fails, we "fail open" faster for clients to still access resources). Knowing when this span in a trace is going above that threshold would be handy. Another use case: we had an issue where the zipkin plugin was unable to talk to the upstream collector, and was consuming all the In both cases, being able to have information generated in one plugin and passed to another (such as spans added to the |
Beta Was this translation helpful? Give feedback.
-
|
I would very much like to see a plugin implemented that leverages https://github.com/opentracing-contrib/nginx-opentracing so users could choose their logging provider among those offered by the plugin. |
Beta Was this translation helpful? Give feedback.
-
|
#8724 is merged, please hold for this new feature and new OpenTelemetry plugin in Kong 3.0 🎉 ! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
Currently, Kong has no tracing instrumentation in its core code. kong-plugin-zipkin exists, and is useful for getting a general sense of the timing of the different Nginx phases, but I'm seeing some unexplained latency that the plugin is not capturing.
I believe it would be hugely beneficial if Kong core took a lead in standardizing a tracing API within the PDK which could then be extended/implemented in plugins like the existing Zipkin one, or perhaps, a future OpenTelemetry plugin.
With a standardized API, Kong core could be instrumented in a concrete and fine-grained way. The API could be written in a way that the default implementation in core is a no-op, and only when a tracing plugin is enabled would the PDK tracing functions actually do anything.
This is mostly just a brain-dump of my thoughts at the moment. I'm happy to discuss further if there is interest in the idea. Thanks!
Beta Was this translation helpful? Give feedback.
All reactions