Hi, there are two log traces, can I disable the gRPC log traces?
| Log traces:
| - gRPC: http://0.0.0.0:4317
| - HTTP: http://0.0.0.0:6006/v1/traces
To disable gRPC log traces in Phoenix, you can configure the environment variables to not expose the gRPC port. According to the Phoenix documentation, the default gRPC port is 4317. You can modify the environment variables to prevent the gRPC endpoint from being used.Would you like more detail on how to configure these settings? Sources: - Phoenix documentation
💡 Hint: Mention RunLLM in the thread for followups.
Is setting the endpoint in register the same effect to PHOENIX_COLLECTOR_ENDPOINT?
Hey James S. - we don't have an explicit way of disabling gRPC right now but it's relatively harmless if you don't expose the port. Just wondering if you could help us understand why you might not want to use gRPC for ingest. Also feel free to file an issue or even PR to disable if you have time. Happy to take a look. Thanks for your feedback and using Phoenix!
Mikyo I have a Macmini at office and phoenix is running on it. I expose the service via the Cloudflare Tunnel, which allows to configure public hostname for internal services. I run experiment on my own machine by setting PHOENIX_COLLECTOR_ENDPOINT=https://phoenix.mydomain.name (the domain name is an example), then the gRPC requests are sent to phoenix.mydomain.name:4317, which is not available. And phoenix keeps retrying for 12 times because of the network error: Transient error StatusCode.UNAVAILABLE encountered while exporting traces to phoenix.mydomain.name:4317, retrying in 1s. At the end. the experiment results are logged without the traces.
Hey James S.! I think if you are trying to setup a tunnel, http is probably more ideal. I'm not super familiar with Cloudflare tunnels but I in general have used ngrok to a bit of success. I'm gonna copy my coleage John G. to follow along and help out where needed. But I would try proxying from 80 or 443 to 6006 on your machine
I would try proxying from 80 or 443 to 6006 on your machine
My machine is not running phoenix server. What do you mean by proxying 80 or 443 to 6006? Thanks
James S. - if I'm understanding correctly, you need to modify your phoenix set up a bit to send traces over http instead of grpc. As Mikyo mentioned, we can accept traces by either grpc or http, and will default to grpc. Can you add the following code to specify the endpoint using the register function:
from phoenix.otel import register
tracer_provider = register(endpoint="https://phoenix.mydomain.name/v1/traces")
Specifically the v1/traces there causes us to use http instead of grpc. That said, please still keep your PHOENIX_COLLECTOR_ENDPOINT=https://phoenix.mydomain.name line as well, since that tells us which endpoint to access for experiments and other client operations
