sync.Once.Do
standard libraryThe 213th most-called standard-library method by production calls. Called 9,710 times across 686 modules; 4,628 of those run outside tests and generated code.
- prod calls
- 4,628
- non-test, non-generated
- all calls
- 9,710
- total callsites
- modules
- 686
- distinct callers
- in loop
- 3%
- of prod calls
- in tests
- 11%
- 1,077 calls
- resolved
- 100%
- to a known target
resolution mix
How each call resolves
How each call was attributed. Only resolved kinds, where the target function is known, count toward the ranking. Interface dispatch and unresolved receivers are reported separately and never guessed. Read the taxonomy →
- Concrete method99%A method on a value whose type is known exactly.
- Embedded method<1%Reached through an embedded type.
estimate
Estimated relative cost
Roughly 0.00× the estimated relative cost of fmt.Sprintf . Benchmarked at 1.98 ns/op × 4,628 production calls, normalized so fmt.Sprintf = 1.0.
This is not dollars and not a verdict. Per-op time depends heavily on inputs (argument sizes, contention, patterns), the benchmark ran on a single machine (darwin/arm64 (Apple Silicon), go1.26.0), and static call counts are not runtime frequency. How this is estimated →
who calls this
Notable callers
Production calls into Once.Do from notable Go projects. Open one on the map to see what else it hammers.
- Kubernetes 471 10%
- Docker 168 4%
- Grafana 134 3%
- Tailscale 107 2%
- VictoriaMetrics 93 2%
where it's called
Callsites in the wild
12 representative callsites of 9,710, prioritizing in-loop and non-test usage. We link to source, never display it.
-
caddyserver/caddy @v1.0.5
in loop -
go/storage @v1.64.0
pcu.go:531
in loop -
cockroachdb/cockroach @v19.2.12+incompatible
in loop -
miekg/dns @v0.6.90
server_recvmmsg.go:69
in loop -
hashicorp/consul @v1.22.7
in loop -
containerd/containerd @v1.7.34
in loop -
docker/docker @v28.5.2+incompatible
in loop -
encr.dev @v1.57.13
v2/internals/pkginfo/names.go:765
in loop -
etcd-io/etcd @v2.3.8+incompatible
in loop - in loop
-
gitea.dev @v1.27.1
modules/globallock/memory_locker.go:42
in loop - in loop
top callers
The modules that reach for it
The modules that call Once.Do most in this snapshot.
- github.com/yandex-cloud/go-genproto93210%
- google.golang.org/genproto6607%
- github.com/envoyproxy/go-control-plane/envoy5996%
- github.com/kubernetes/kubernetes2743%
- github.com/slack-go/slack1742%
siblings
More from sync
The other most-called members in this package. See all →