Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bugs] HTTP PRI method appearing in distributed tracing #564

Open
MA3CIN opened this issue May 5, 2024 · 1 comment
Open

[Bugs] HTTP PRI method appearing in distributed tracing #564

MA3CIN opened this issue May 5, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@MA3CIN
Copy link

MA3CIN commented May 5, 2024

Describe the bug

I'm using the Opentelemetry Operator with the Instrumentation CRD to instrument (get traces from) Free5GC for the registration procedure with UERANSIM. When analysing the traces obtained via Otel, i see (in Jaeger) unusual traces (with long spans of >1second) with the HTTP PRI method:

image

These PRI traces are certainly unexpected to say the least. The HTTP PRI method "is never used by an actual client. This method will appear to be used when an HTTP/1.1 server or intermediary attempts to parse an HTTP/2 connection preface." (based on https://webconcepts.info/concepts/http-method/PRI). So i imagine this means that the HTTP requests are send between a client and a server where there is an HTTP version mismatch?

Otherwise the logs on both otel instrumentation container and the otel operator seem clean:

image

image

To Reproduce

Steps to reproduce the behavior:
Deploy Otel Operator, Go Instrumentation, Free5GC (latest) and Jaeger. (all latest versions)
View logs from the otel sidecar container or traces in Jaeger
Observe unusual traces with HTTP PRI method in Jaeger.

Expected behavior

The HTTP PRI method is definitely unexpected. Other than that, the F5gc works as expected - can see the registered user in the WebUI.

Environment (please complete the following information):

OS: Ubuntu 20.04 LTS Kernel v 5.15.0-105-generic
Go Version: 1.17.8 (Free5gc)
Version: otel operator latest, same with instrumentation

PCAP File

Not available yet. I can reproduce this issue if the PCAP is needed.

@andy89923
Copy link
Collaborator

Src: https://doc.akka.io/docs/akka-http/current/troubleshooting/unsupported-http-method-pri.html

This indicates that an HTTP/2 request was received, but the server was not correctly set up to handle those.

I think this was part of the http2 go library.
The client tries to send requests with HTTP/2, but the server uses HTTP/1.1 as well, which causes PRI to be produced.

@ianchen0119 ianchen0119 added the enhancement New feature or request label May 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants