improvement: less scary failed conn logs & metrics

...and adjust the `totalFailedConnections` metric name
and description.

This commit should make the periodic stats log messages
and the relevant metric look less scary to users:
P2P connection failures are relatively frequent and are usually
not indicative of the proxy operator having done something wrong.
So let's tone the wording down.

See the discussion: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/merge_requests/516#note_3173677.
This commit is contained in:
WofWca 2025-03-15 00:15:36 +04:00 committed by Cecylia Bocovich
parent f715c397c2
commit f3e040bbd8
No known key found for this signature in database
GPG key ID: 009DE379FD9B7B90
2 changed files with 4 additions and 4 deletions

View file

@ -108,8 +108,8 @@ type EventOnProxyStats struct {
} }
func (e EventOnProxyStats) String() string { func (e EventOnProxyStats) String() string {
statString := fmt.Sprintf("In the last %v, there were %v completed successful connections. %v connections failed to establish. Traffic Relayed ↓ %v %v (%.2f %v%s), ↑ %v %v (%.2f %v%s).", statString := fmt.Sprintf("In the last %v, there were %v completed successful connections. Traffic Relayed ↓ %v %v (%.2f %v%s), ↑ %v %v (%.2f %v%s).",
e.SummaryInterval.String(), e.ConnectionCount, e.FailedConnectionCount, e.SummaryInterval.String(), e.ConnectionCount,
e.InboundBytes, e.InboundUnit, float64(e.InboundBytes)/e.SummaryInterval.Seconds(), e.InboundUnit, "/s", e.InboundBytes, e.InboundUnit, float64(e.InboundBytes)/e.SummaryInterval.Seconds(), e.InboundUnit, "/s",
e.OutboundBytes, e.OutboundUnit, float64(e.OutboundBytes)/e.SummaryInterval.Seconds(), e.OutboundUnit, "/s") e.OutboundBytes, e.OutboundUnit, float64(e.OutboundBytes)/e.SummaryInterval.Seconds(), e.OutboundUnit, "/s")
return statString return statString

View file

@ -30,8 +30,8 @@ func NewMetrics() *Metrics {
), ),
totalFailedConnections: prometheus.NewCounter(prometheus.CounterOpts{ totalFailedConnections: prometheus.NewCounter(prometheus.CounterOpts{
Namespace: metricNamespace, Namespace: metricNamespace,
Name: "failed_connections_total", Name: "connection_timeouts_total",
Help: "The total number of client connection attempts that failed after successful rendezvous", Help: "The total number of client connection attempts that failed after successful rendezvous. Note that failures can occur for reasons outside of the proxy's control, such as the client's NAT and censorship situation.",
}), }),
totalInBoundTraffic: prometheus.NewCounter(prometheus.CounterOpts{ totalInBoundTraffic: prometheus.NewCounter(prometheus.CounterOpts{
Namespace: metricNamespace, Namespace: metricNamespace,