diff --git a/go.mod b/go.mod
index f99c0fdb7fa00b1fc2981bb3e04ede3e8dae3a68..ecb3b48e0066be1133230ef689c1d37d8c9dcd33 100644
--- a/go.mod
+++ b/go.mod
@@ -3,7 +3,7 @@ module git.autistici.org/ai3/tools/acmeserver
 go 1.14
 
 require (
-	git.autistici.org/ai3/go-common v0.0.0-20220814151247-39e01d32d5ee
+	git.autistici.org/ai3/go-common v0.0.0-20220816154218-fb6772e38cfa
 	git.autistici.org/ai3/tools/replds v0.0.0-20220814170053-28106a9463f5
 	github.com/miekg/dns v1.1.50
 	github.com/prometheus/client_golang v1.12.2
diff --git a/go.sum b/go.sum
index a049b01e8ee886153cb1216bb14c6caa8ec454e3..b50816dfc5a6cb342e6afe9f80216e2d6cecb345 100644
--- a/go.sum
+++ b/go.sum
@@ -52,6 +52,8 @@ contrib.go.opencensus.io/resource v0.1.1/go.mod h1:F361eGI91LCmW1I/Saf+rX0+OFcig
 dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
 git.autistici.org/ai3/go-common v0.0.0-20220814151247-39e01d32d5ee h1:EPfpfiG3vK9xoMt2sGclSaEXLikOCX1NfqUFRJXV4nk=
 git.autistici.org/ai3/go-common v0.0.0-20220814151247-39e01d32d5ee/go.mod h1:yhMB8VKJBBr+EKMft7MtqHVO73vkwdq/O5sVDTs/CNI=
+git.autistici.org/ai3/go-common v0.0.0-20220816154218-fb6772e38cfa h1:1X70LQp7YF9Qy25o+5H2xjLQirACr7SNOQF34nJkdes=
+git.autistici.org/ai3/go-common v0.0.0-20220816154218-fb6772e38cfa/go.mod h1:nUXvtWUA6arOdvgMiGiDtxpzriZhenMz1KY7zSHK5Kc=
 git.autistici.org/ai3/tools/replds v0.0.0-20220814170053-28106a9463f5 h1:E5enMbOmQkRkLVbYks2Makfg3wd3fOxYDK9ksGOqS7c=
 git.autistici.org/ai3/tools/replds v0.0.0-20220814170053-28106a9463f5/go.mod h1:DDsdq6Fs+uWfzRIuj8JncnTrfy+NRwfGHxk6OViV8T0=
 github.com/Azure/azure-amqp-common-go/v2 v2.1.0/go.mod h1:R8rea+gJRuJR6QxTir/XuEd+YuKoUiazDC/N96FiDEU=
@@ -197,6 +199,7 @@ github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZm
 github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
 github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8=
 github.com/duo-labs/webauthn v0.0.0-20220330035159-03696f3d4499/go.mod h1:UMk1JMDgQDcdI2vQz+WJOIUTSjIq07qSepAVgc93rUc=
+github.com/duo-labs/webauthn v0.0.0-20220815211337-00c9fb5711f5/go.mod h1:Jcj7rFNlTknb18v9jpSA58BveX2LDhXqaoy+6YV1N9g=
 github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
 github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
 github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs=
@@ -519,6 +522,7 @@ github.com/mattn/go-shellwords v1.0.10/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lL
 github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
 github.com/mattn/go-sqlite3 v1.14.7/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
 github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
+github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
 github.com/mattn/go-zglob v0.0.1/go.mod h1:9fxibJccNxU2cnpIKLRRFA7zX7qhkJIQWBb449FYHOo=
 github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
 github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
diff --git a/vendor/git.autistici.org/ai3/go-common/go.mod b/vendor/git.autistici.org/ai3/go-common/go.mod
index 6c3c91afc4bde522c8d0c17ef3765c9686a59772..b26c3ef15920a3e2805773eb70bc598d79c00864 100644
--- a/vendor/git.autistici.org/ai3/go-common/go.mod
+++ b/vendor/git.autistici.org/ai3/go-common/go.mod
@@ -8,7 +8,7 @@ require (
 	github.com/bbrks/wrap/v2 v2.5.0
 	github.com/cenkalti/backoff/v4 v4.1.3
 	github.com/coreos/go-systemd/v22 v22.3.2
-	github.com/duo-labs/webauthn v0.0.0-20220330035159-03696f3d4499
+	github.com/duo-labs/webauthn v0.0.0-20220815211337-00c9fb5711f5
 	github.com/emersion/go-textwrapper v0.0.0-20200911093747-65d896831594
 	github.com/fxamacker/cbor/v2 v2.4.0
 	github.com/go-asn1-ber/asn1-ber v1.5.4
@@ -16,7 +16,7 @@ require (
 	github.com/gofrs/flock v0.8.0 // indirect
 	github.com/google/go-cmp v0.5.8
 	github.com/lunixbochs/struc v0.0.0-20200707160740-784aaebc1d40
-	github.com/mattn/go-sqlite3 v1.14.14
+	github.com/mattn/go-sqlite3 v1.14.15
 	github.com/miscreant/miscreant.go v0.0.0-20200214223636-26d376326b75
 	github.com/prometheus/client_golang v1.12.2
 	github.com/russross/blackfriday/v2 v2.1.0
diff --git a/vendor/git.autistici.org/ai3/go-common/go.sum b/vendor/git.autistici.org/ai3/go-common/go.sum
index 2cc4a8895f29f46e55bf0b02a2ac81325a573bc4..96951092a96625a47086e6923ced9a21d5aaf9e1 100644
--- a/vendor/git.autistici.org/ai3/go-common/go.sum
+++ b/vendor/git.autistici.org/ai3/go-common/go.sum
@@ -208,6 +208,8 @@ github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8
 github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8=
 github.com/duo-labs/webauthn v0.0.0-20220330035159-03696f3d4499 h1:jaQHuGKk9NVcfu9VbA7ygslr/7utxdYs47i4osBhZP8=
 github.com/duo-labs/webauthn v0.0.0-20220330035159-03696f3d4499/go.mod h1:UMk1JMDgQDcdI2vQz+WJOIUTSjIq07qSepAVgc93rUc=
+github.com/duo-labs/webauthn v0.0.0-20220815211337-00c9fb5711f5 h1:BaeJtFDlto/NjX9t730OebRRJf2P+t9YEDz3ur18824=
+github.com/duo-labs/webauthn v0.0.0-20220815211337-00c9fb5711f5/go.mod h1:Jcj7rFNlTknb18v9jpSA58BveX2LDhXqaoy+6YV1N9g=
 github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
 github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
 github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
@@ -556,6 +558,8 @@ github.com/mattn/go-sqlite3 v1.14.7 h1:fxWBnXkxfM6sRiuH3bqJ4CfzZojMOLVc0UTsTglEg
 github.com/mattn/go-sqlite3 v1.14.7/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
 github.com/mattn/go-sqlite3 v1.14.14 h1:qZgc/Rwetq+MtyE18WhzjokPD93dNqLGNT3QJuLvBGw=
 github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
+github.com/mattn/go-sqlite3 v1.14.15 h1:vfoHhTN1af61xCRSWzFIWzx2YskyMTwHLrExkBOjvxI=
+github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
 github.com/mattn/go-zglob v0.0.1/go.mod h1:9fxibJccNxU2cnpIKLRRFA7zX7qhkJIQWBb449FYHOo=
 github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
 github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
diff --git a/vendor/git.autistici.org/ai3/go-common/tracing/tracing.go b/vendor/git.autistici.org/ai3/go-common/tracing/tracing.go
index d4185014b2b58f9308d72e56a247779f1c975641..000ceb5996b2c0d6dabf63063a400637f41435fe 100644
--- a/vendor/git.autistici.org/ai3/go-common/tracing/tracing.go
+++ b/vendor/git.autistici.org/ai3/go-common/tracing/tracing.go
@@ -72,15 +72,18 @@ func getServiceName() string {
 	if s := os.Getenv("TRACING_SERVICE"); s != "" {
 		return s
 	}
-	return filepath.Base(os.Args[0])
+	if s, err := os.Executable(); err == nil {
+		return filepath.Base(s)
+	}
+	return "unknown_service"
 }
 
-func defaultResource() *resource.Resource {
+func defaultResource(serviceName string) *resource.Resource {
 	r, _ := resource.Merge(
 		resource.Default(),
 		resource.NewWithAttributes(
 			semconv.SchemaURL,
-			semconv.ServiceNameKey.String(getServiceName()),
+			semconv.ServiceNameKey.String(serviceName),
 		),
 	)
 	return r
@@ -128,8 +131,8 @@ func initTracing(serviceName string) {
 
 		tp := trace.NewTracerProvider(
 			trace.WithSampler(sampler),
-			trace.WithResource(defaultResource()),
 			trace.WithBatcher(ze),
+			trace.WithResource(defaultResource(serviceName)),
 		)
 
 		otel.SetTracerProvider(tp)
@@ -143,7 +146,7 @@ func initTracing(serviceName string) {
 
 // Init tracing support, if not using WrapHandler.
 func Init() {
-	initTracing("")
+	initTracing(getServiceName())
 }
 
 // WrapTransport optionally wraps a http.RoundTripper with OpenCensus
@@ -152,7 +155,7 @@ func Init() {
 // Must call Init() first.
 func WrapTransport(t http.RoundTripper) http.RoundTripper {
 	if Enabled {
-		t = othttp.NewTransport(t)
+		t = othttp.NewTransport(t, othttp.WithPublicEndpoint())
 	}
 	return t
 }
@@ -165,5 +168,9 @@ func WrapHandler(h http.Handler, endpointAddr string) http.Handler {
 	if !Enabled {
 		return h
 	}
-	return othttp.NewHandler(h, serviceName)
+
+	// Format span names with the request URL path.
+	return othttp.NewHandler(h, serviceName, othttp.WithSpanNameFormatter(func(op string, r *http.Request) string {
+		return r.URL.Path
+	}))
 }
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 6d6944f48451e000d2c88dd90d6436881cc0600c..d44799e0a90884d25cac25fb9dabdbc4060559b0 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -1,4 +1,4 @@
-# git.autistici.org/ai3/go-common v0.0.0-20220814151247-39e01d32d5ee
+# git.autistici.org/ai3/go-common v0.0.0-20220816154218-fb6772e38cfa
 ## explicit
 git.autistici.org/ai3/go-common
 git.autistici.org/ai3/go-common/clientutil