mirror of
https://github.com/tailscale/tailscale.git
synced 2024-11-26 03:25:35 +00:00
97b6d3e917
They're not needed for the sockstats logger, and they're somewhat expensive to return (since they involve the creation of a map per label). We now have a separate GetInterfaces() method that returns them instead (which we can still use in the PeerAPI debug endpoint). If changing sockstatlog to sample at 10,000 Hz (instead of the default of 10Hz), the CPU usage would go up to 59% on a iPhone XS. Removing the per-interface stats drops it to 20% (a no-op implementation of Get that returns a fixed value is 16%). Updates tailscale/corp#9230 Updates #3363 Signed-off-by: Mihai Parparita <mihai@tailscale.com>
32 lines
491 B
Go
32 lines
491 B
Go
// Copyright (c) Tailscale Inc & AUTHORS
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
//go:build !tailscale_go || !(darwin || ios || android)
|
|
|
|
package sockstats
|
|
|
|
import (
|
|
"context"
|
|
)
|
|
|
|
const IsAvailable = false
|
|
|
|
func withSockStats(ctx context.Context, label Label) context.Context {
|
|
return ctx
|
|
}
|
|
|
|
func get() *SockStats {
|
|
return nil
|
|
}
|
|
|
|
func getInterfaces() *InterfaceSockStats {
|
|
return nil
|
|
}
|
|
|
|
func getValidation() *ValidationSockStats {
|
|
return nil
|
|
}
|
|
|
|
func setLinkMonitor(lm LinkMonitor) {
|
|
}
|