Documentation
¶
Index ¶
- func CachingDialer(ctx context.Context, network, addr string) (net.Conn, error)
- func ExternalIPAddrs() string
- func GetNumOpenedFile(pid int) (int, error)
- func Hostname() string
- func HostnameForStatshouse() string
- func LogRotate(prevLogFd *os.File, fname string) (newLogFd *os.File, err error)
- func MakeCPUProfile(path string) (io.Closer, error)
- func MakeGorProfile(path string) (io.Closer, error)
- func MakeMemProfile(path string) (io.Closer, error)
- func MaybeResolveAddr(network string, addr string) string
- func NumericHost() (uint64, error)deprecated
- func SetHardRLimitNoFile(maxCount uint64) ([]uint64, error)
- func SetMaxRLimitNoFile() ([]uint64, error)
- func ValidateAddress(address string, defaultPort string) (string, error)
- type CPUInfo
- type GCStats
- type MemStats
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CachingDialer ¶
CachingDialer should be used as DialContext function in http.Transport to speed up DNS resolution dramatically.
func ExternalIPAddrs ¶
func ExternalIPAddrs() string
For now, return only IPv4 addresses. If they are empty, return all.
func GetNumOpenedFile ¶
GetNumOpenedFile вычисляет количество используемых файловых дескрипторов приложением @see man proc по /proc/*/fd/
func HostnameForStatshouse ¶
func HostnameForStatshouse() string
cached, without Kubernetes deployment ID, recommended for use as statshouse keys
func LogRotate ¶
LogRotate переоткрывает указанный файл и подменяем stdout/stderr вывод на этот файл
func MakeCPUProfile ¶
MakeCPUProfile инициализирует запись cpu профиля в файл Файл наполняется все время работы приложения
func MakeGorProfile ¶
MakeGorProfile открывает файл для записи статистике по горутинам Реальная запись в файл происходит при закрытии профилировщика
func MakeMemProfile ¶
MakeMemProfile открывает файл для записи mem профиля Реальная запись в файл происходит при закрытии профилировщика
func MaybeResolveAddr ¶
MaybeResolveAddr quckly resolves hostnames to ip:port if it's TCP or UDP network by keeping etc/hosts cache in memory
func NumericHost
deprecated
func SetHardRLimitNoFile ¶
SetHardMaxRLimitNoFile выставляет максимальный лимит для RLIMIT_NOFILE требует привилегированного доступа. возвращает (cur, max) значений лимита в случае успеха.
func SetMaxRLimitNoFile ¶
SetMaxRLimitNoFile пробует выставить текущие nofile лимиты (ulimit -n) в максимально разрешенные Вернет в случае успеха кортеж (cur, max) значений лимита
Types ¶
type CPUInfo ¶
type CPUInfo struct {
// contains filtered or unexported fields
}
CPUInfo считает статистику по использованию CPU глобально по ОС
func (*CPUInfo) GetSelfCpuUsage ¶
GetSelfCpuUsage возвращает статистику по использованию CPU текущим процессом:
среднее и последнее использование в % (100 - полностью занято 1 ядро, 800 - полностью заняты 8 ядер и т.п.)
type GCStats ¶
type GCStats struct {
// PauseTotalMs это общее время работы GC в миллисекундах
PauseTotalMs uint64
// PauseTotalMcs это общее время работы GC в микросекундах
PauseTotalMcs uint64
// LastPausesMs это длительность всех пауз GC в мс с прошлого вызова GetGCStats (но не более размера циклического буфера)
LastPausesMs []uint64
// LastPausesMcs это длительность всех пауз GC в микросекундах с прошлого вызова GetGCStats (но не более размера циклического буфера)
LastPausesMcs []uint64
// GCCPUFraction это процент времени (real time), потраченного на GC
GCCPUFraction float64
// contains filtered or unexported fields
}
GCStats содержит статистику по работе GC
type MemStats ¶
MemStats содержит статистику по использованию памяти в байтах @see man proc по /proc/*/statm
func GetMemStat ¶
GetMemStat возвращает статистику по использованию памяти
Максимальное значение PID в Linux может доходить до 4 миллионов (см. исходники Linux), поэтому у параметра pid стоит тип int, а не uint16
@see man proc по /proc/*/statm @see https://elixir.bootlin.com/linux/latest/source/include/linux/threads.h#L34