consul/agent/proxycfg
Dan Upton e6b55d1d81
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
connect_proxy.go
data_sources.go
data_sources_oss.go
deep-copy.sh
ingress_gateway.go
manager.go
manager_test.go
mesh_gateway.go
mesh_gateway_oss.go
naming.go
naming_oss.go
naming_test.go
proxycfg.deepcopy.go
proxycfg.go
snapshot.go
snapshot_test.go
state.go
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
testing.go
testing_connect_proxy.go
testing_ingress_gateway.go
testing_mesh_gateway.go
testing_oss.go
testing_peering.go
testing_terminating_gateway.go
testing_tproxy.go
testing_upstreams.go
upstreams.go