mirror of
https://github.com/kubeshark/kubeshark.git
synced 2025-10-21 23:46:45 +00:00
65 lines
1.5 KiB
Go
65 lines
1.5 KiB
Go
package tap
|
|
|
|
import (
|
|
"os"
|
|
"strconv"
|
|
)
|
|
|
|
const (
|
|
MemoryProfilingEnabledEnvVarName = "MEMORY_PROFILING_ENABLED"
|
|
MaxBufferedPagesTotalEnvVarName = "MAX_BUFFERED_PAGES_TOTAL"
|
|
MaxBufferedPagesPerConnectionEnvVarName = "MAX_BUFFERED_PAGES_PER_CONNECTION"
|
|
MaxBufferedPagesTotalDefaultValue = 5000
|
|
MaxBufferedPagesPerConnectionDefaultValue = 5000
|
|
)
|
|
|
|
type globalSettings struct {
|
|
filterPorts []int
|
|
filterAuthorities []string
|
|
}
|
|
|
|
var gSettings = &globalSettings{
|
|
filterPorts: []int{},
|
|
filterAuthorities: []string{},
|
|
}
|
|
|
|
func SetFilterPorts(ports []int) {
|
|
gSettings.filterPorts = ports
|
|
}
|
|
|
|
func GetFilterPorts() []int {
|
|
ports := make([]int, len(gSettings.filterPorts))
|
|
copy(ports, gSettings.filterPorts)
|
|
return ports
|
|
}
|
|
|
|
func SetFilterAuthorities(ipAddresses []string) {
|
|
gSettings.filterAuthorities = ipAddresses
|
|
}
|
|
|
|
func GetFilterIPs() []string {
|
|
addresses := make([]string, len(gSettings.filterAuthorities))
|
|
copy(addresses, gSettings.filterAuthorities)
|
|
return addresses
|
|
}
|
|
|
|
func GetMaxBufferedPagesTotal() int {
|
|
valueFromEnv, err := strconv.Atoi(os.Getenv(MaxBufferedPagesTotalEnvVarName))
|
|
if err != nil {
|
|
return MaxBufferedPagesTotalDefaultValue
|
|
}
|
|
return valueFromEnv
|
|
}
|
|
|
|
func GetMaxBufferedPagesPerConnection() int {
|
|
valueFromEnv, err := strconv.Atoi(os.Getenv(MaxBufferedPagesPerConnectionEnvVarName))
|
|
if err != nil {
|
|
return MaxBufferedPagesPerConnectionDefaultValue
|
|
}
|
|
return valueFromEnv
|
|
}
|
|
|
|
func GetMemoryProfilingEnabled() bool {
|
|
return os.Getenv(MemoryProfilingEnabledEnvVarName) == "1"
|
|
}
|