apisix icon indicating copy to clipboard operation
apisix copied to clipboard

bug: grpc-transcode cannot be used with opentelemetry

Open Jamel-jun opened this issue 1 year ago • 10 comments

Current Behavior

grpc-transcode cannot be used with opentelemetry. The interface backend is grpc, and the frontend requests through http application/json type, after reaching apisix. The OpenTelemetry plug-in sends the trace to otel, which is normal. But the apisix return parameter is incorrect. image

Expected Behavior

No response

Error Logs

No response

Steps to Reproduce

  1. image
  2. dashboard: 3.0.1

Environment

  • APISIX version (run apisix version):
  • Operating system (run uname -a):
  • OpenResty / Nginx version (run openresty -V or nginx -V):
  • etcd version, if relevant (run curl http://127.0.0.1:9090/v1/server_info):
  • APISIX Dashboard version, if relevant:
  • Plugin runner version, for issues related to plugin runners:
  • LuaRocks version, for installation issues (run luarocks --version):

Jamel-jun avatar Nov 08 '23 10:11 Jamel-jun

could you please provide steps to reproduce?

shreemaan-abhishek avatar Nov 08 '23 14:11 shreemaan-abhishek

could you please provide steps to reproduce?

  1. Deploy apisix.
  2. Import Protocol Buffers.
  3. Open the opentelemetry plug-in. This should definitely happen.

Jamel-jun avatar Nov 09 '23 01:11 Jamel-jun

Can you help with more detailed information, if you do that, anyone wanting to investigate on this issue can quickly get started and find the bug then plan to fix it. You can share the configurations and the commands you used to make the setup where you found this bug.

shreemaan-abhishek avatar Nov 09 '23 01:11 shreemaan-abhishek

What do you mean by but the apisix return parameter is incorrect? The gRPC message suggest the proto method was not found. Does your upstream gRPC server implement this interface? Is proto configured properly on the APISIX side as the gRPC client? Need more info.

kayx23 avatar Nov 09 '23 04:11 kayx23

apisix config.conf image

apisix dashboard settings image

proto image

route image

Jamel-jun avatar Nov 09 '23 04:11 Jamel-jun

What do you mean by but the apisix return parameter is incorrect? The gRPC message suggest the proto method was not found. Does your upstream gRPC server implement this interface? Is proto configured properly on the APISIX side as the gRPC client? Need more info.

I turned off the OpenTelemetry plug -in and returned to normal

Jamel-jun avatar Nov 09 '23 04:11 Jamel-jun

@Jamel-jun please provide more detailed reproduction steps.

shreemaan-abhishek avatar Dec 07 '23 06:12 shreemaan-abhishek

@Jamel-jun any update?

monkeyDluffy6017 avatar Dec 12 '23 10:12 monkeyDluffy6017

apisix config: image opentelemetry: image route: image

response: image

apisix logs: Uploading image.png…

Jamel-jun avatar Feb 05 '24 03:02 Jamel-jun

it is helpful if you share the code/text instead of screenshots.

shreemaan-abhishek avatar Feb 05 '24 15:02 shreemaan-abhishek