krakend / krakend-otel

KrakenD component for OpenTelemetry
Apache License 2.0
8 stars 10 forks source link

Initial implementation #1

Closed dhontecillas closed 6 months ago

dhontecillas commented 8 months ago

Please, take a look at the README.md for information about how to configure the library, and at implementation details to have an initial explanation of the packages that compose the library.

The provided example is currently working, and easy to check the reported traces, however some work must be done, to create some dashboard, and check the metrics.

Also, there are still pending tests to be written.

But this implementation is ready to start receiving some feedback.

kpacha commented 8 months ago

I'd rather move the skip_path option to the router instead of having it at the backend, so a set of pipes could be ignored

dhontecillas commented 7 months ago

A better format for the exporters would be:

exporters": {
                    "prometheus": [
                        {
                            "name": "remote_prometheus",
                            "port": 9092,
                            "process_metrics": true,
                            "go_metrics": true
                        },
                        {
                            "name": "local_prometheus",
                            "port": 9092,
                            "process_metrics": true,
                            "go_metrics": true
                        }]
                }
Harnoor7 commented 7 months ago

@dhontecillas any reason for not using otel-go net/http standard instrumentation support library?

dhontecillas commented 7 months ago

@dhontecillas any reason for not using otel-go net/http standard instrumentation support library?

@Harnoor7 Main reason is that I was not aware of it. But now that I've taken a first look at it, I think the library is missing some stuff (like metrics for the http client data, or keeping track of the readed bytes from the client). I might be wrong, and I will carefully review the differences there. The focus now is on having this PR in a usable state, then I will review and check we can have the same metrics / traces with the contrib library .. in that case I will use what I can from there, and if I miss something, we might think about trying to make a PR there.

I will keep an eye on it. Thanks for pointing out.

Harnoor7 commented 7 months ago

@dhontecillas Got it. Yes, you are correct client-side metric instrumentation is missing, which will be added probably in the next release. There is an active PR for it: https://github.com/open-telemetry/opentelemetry-go-contrib/pull/4707