Repository metrics
- Stars
- (27,997 stars)
- PR merge metrics
- (Avg merge 8d) (378 merged PRs in 30d)
Description
I'm experimenting with the new io_uring support. Minimal config provided below.
I'm trying to figure out if its actually enabled/working during runtime?
I have tracing enabled ( io: trace, actually I set everything to trace) but I'm not seeing any io logs from https://github.com/envoyproxy/envoy/blob/9b71b5a27debfc63194c0817adfc466c9c719c19/source/common/io/io_uring_worker_impl.cc To clarify, I do see lots of debug and trace logs, but nothing indicating io_uring.
How can I tell if io_uring is actually in use?
@soulxu @zhxie maybe can help?
References: https://www.envoyproxy.io/docs/envoy/latest/configuration/other_features/io_uring.html https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/network/socket_interface/v3/default_socket_interface.proto.html#envoy-v3-api-msg-extensions-network-socket-interface-v3-iouringoptions
version: '3'
services:
envoy:
image: envoyproxy/envoy:v1.35.1
ports:
- "10000:10000"
- "9901:9901"
volumes:
- ./envoy.yaml:/etc/envoy/envoy.yaml
command: ["-c", "/etc/envoy/envoy.yaml", "-l", "trace"]
admin:
address:
socket_address: { address: 0.0.0.0, port_value: 9901 }
static_resources:
listeners:
- name: listener_0
address:
socket_address: { address: 0.0.0.0, port_value: 10000 }
filter_chains:
- filters:
- name: envoy.filters.network.http_connection_manager
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
stat_prefix: ingress_http
codec_type: AUTO
route_config:
name: local_route
virtual_hosts:
- name: local_service
domains: ["*"]
routes:
- match: { prefix: "/" }
route: { cluster: some_service }
http_filters:
- name: envoy.filters.http.router
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
clusters:
- name: some_service
connect_timeout: 5s
type: STRICT_DNS
lb_policy: ROUND_ROBIN
upstream_http_protocol_options:
auto_sni: true
override_auto_sni_header: set-custom-sni
load_assignment:
cluster_name: some_service
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: httpbin.org
port_value: 443
transport_socket:
name: envoy.transport_sockets.tls
typed_config:
"@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext
bootstrap_extensions:
- name: iouringtest
typed_config:
"@type": type.googleapis.com/envoy.extensions.network.socket_interface.v3.DefaultSocketInterface
io_uring_options:
read_buffer_size: 32000
default_socket_interface: iouringtest