open-consul/agent/proxycfg
Dan Upton 0a0534a094
perf: remove expensive reflection from xDS hot path (#14934)
Replaces the reflection-based implementation of proxycfg's
ConfigSnapshot.Clone with code generated by deep-copy.

While load testing server-based xDS (for consul-dataplane) we discovered
this method is extremely expensive. The ConfigSnapshot struct, directly
or indirectly, contains a copy of many of the structs in the agent/structs
package, which creates a large graph for copystructure.Copy to traverse
at runtime, on every proxy reconfiguration.
2022-10-14 10:26:42 +01:00
..
internal/watch perf: remove expensive reflection from xDS hot path (#14934) 2022-10-14 10:26:42 +01:00
connect_proxy.go Service http checks data source for agentless proxies (#14924) 2022-10-12 07:49:56 -07:00
data_sources.go feat: xDS updates for peerings control plane through mesh gw 2022-10-07 08:46:42 -06:00
data_sources_oss.go
deep-copy.sh perf: remove expensive reflection from xDS hot path (#14934) 2022-10-14 10:26:42 +01:00
ingress_gateway.go feat(ingress gateway: support configuring limits in ingress-gateway c… (#14749) 2022-09-28 14:56:46 -04:00
manager.go proxycfg: terminate stream on irrecoverable errors 2022-08-23 20:17:49 +01:00
manager_test.go perf: remove expensive reflection from xDS hot path (#14934) 2022-10-14 10:26:42 +01:00
mesh_gateway.go Simplify mgw watch mgmt 2022-10-07 08:54:37 -06:00
mesh_gateway_oss.go
naming.go Cluster peering failover disco chain changes (#14296) 2022-08-23 09:13:43 -04:00
naming_oss.go
naming_test.go Cluster peering failover disco chain changes (#14296) 2022-08-23 09:13:43 -04:00
proxycfg.deepcopy.go perf: remove expensive reflection from xDS hot path (#14934) 2022-10-14 10:26:42 +01:00
proxycfg.go perf: remove expensive reflection from xDS hot path (#14934) 2022-10-14 10:26:42 +01:00
snapshot.go perf: remove expensive reflection from xDS hot path (#14934) 2022-10-14 10:26:42 +01:00
snapshot_test.go perf: remove expensive reflection from xDS hot path (#14934) 2022-10-14 10:26:42 +01:00
state.go perf: remove expensive reflection from xDS hot path (#14934) 2022-10-14 10:26:42 +01:00
state_oss_test.go
state_test.go feat: xDS updates for peerings control plane through mesh gw 2022-10-07 08:46:42 -06:00
terminating_gateway.go proxycfg: server-local intentions data source 2022-07-04 10:48:36 +01:00
testing.go feat: xDS updates for peerings control plane through mesh gw 2022-10-07 08:46:42 -06:00
testing_connect_proxy.go proxycfg: server-local intentions data source 2022-07-04 10:48:36 +01:00
testing_ingress_gateway.go Configure Envoy alpn_protocols based on service protocol (#14356) 2022-10-10 13:13:56 -07:00
testing_mesh_gateway.go feat: xDS updates for peerings control plane through mesh gw 2022-10-07 08:46:42 -06:00
testing_oss.go
testing_peering.go Enable outbound peered requests to go through local mesh gateway (#14763) 2022-09-27 09:49:28 -04:00
testing_terminating_gateway.go inject gateway addons to destination clusters (#13951) 2022-07-28 15:17:35 -04:00
testing_tproxy.go Fix explicit tproxy listeners with discovery chains. (#14751) 2022-10-05 14:38:25 -05:00
testing_upstreams.go Make the mesh gateway changes to allow local mode for cluster peering data plane traffic (#14817) 2022-10-06 09:54:14 -04:00
upstreams.go bug: watch local mesh gateways in non-default partitions with agentless (#14799) 2022-09-29 13:19:04 -04:00