1
0
mirror of https://github.com/ceph/ceph-csi.git synced 2025-06-14 18:53:35 +00:00
Files
.github
actions
api
assets
charts
cmd
deploy
docs
e2e
examples
internal
pkg
scripts
tools
troubleshooting
vendor
github.com
Azure
AzureAD
IBM
ansel1
aws
beorn7
blang
cenkalti
ceph
cespare
container-storage-interface
csi-addons
davecgh
emicklei
evanphx
fsnotify
fxamacker
gemalto
ghodss
go-jose
go-logr
go-openapi
gogo
golang
golang-jwt
google
grpc-ecosystem
hashicorp
inconshreveable
jmespath
josharian
json-iterator
klauspost
kubernetes-csi
kylelemons
libopenstorage
mailru
mattn
mgutz
mitchellh
moby
modern-go
munnerz
opencontainers
openshift
pkg
pmezard
prometheus
client_golang
client_model
common
procfs
internal
.gitignore
.golangci.yml
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE
MAINTAINERS.md
Makefile
Makefile.common
NOTICE
README.md
SECURITY.md
arp.go
buddyinfo.go
cmdline.go
cpuinfo.go
cpuinfo_armx.go
cpuinfo_loong64.go
cpuinfo_mipsx.go
cpuinfo_others.go
cpuinfo_ppcx.go
cpuinfo_riscvx.go
cpuinfo_s390x.go
cpuinfo_x86.go
crypto.go
doc.go
fs.go
fs_statfs_notype.go
fs_statfs_type.go
fscache.go
ipvs.go
kernel_random.go
loadavg.go
mdstat.go
meminfo.go
mountinfo.go
mountstats.go
net_conntrackstat.go
net_dev.go
net_ip_socket.go
net_protocols.go
net_route.go
net_sockstat.go
net_softnet.go
net_tcp.go
net_tls_stat.go
net_udp.go
net_unix.go
net_wireless.go
net_xfrm.go
netstat.go
proc.go
proc_cgroup.go
proc_cgroups.go
proc_environ.go
proc_fdinfo.go
proc_interrupts.go
proc_io.go
proc_limits.go
proc_maps.go
proc_netstat.go
proc_ns.go
proc_psi.go
proc_smaps.go
proc_snmp.go
proc_snmp6.go
proc_stat.go
proc_status.go
proc_sys.go
schedstat.go
slab.go
softirqs.go
stat.go
swaps.go
thread.go
ttar
vm.go
zoneinfo.go
ryanuber
sirupsen
spf13
stretchr
x448
go.opentelemetry.io
go.uber.org
golang.org
gomodules.xyz
google.golang.org
gopkg.in
k8s.io
sigs.k8s.io
modules.txt
.commitlintrc.yml
.gitignore
.mergify.yml
.pre-commit-config.yaml
LICENSE
Makefile
PendingReleaseNotes.md
README.md
build.env
deploy.sh
go.mod
go.sum
dependabot[bot] ec242d4cc8 rebase: bump github.com/prometheus/client_golang from 1.12.2 to 1.14.0
Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.12.2 to 1.14.0.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prometheus/client_golang/compare/v1.12.2...v1.14.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-30 16:32:45 +00:00

64 lines
2.1 KiB
Go

// Copyright 2020 The Prometheus Authors
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//go:build !windows
// +build !windows
package procfs
import (
"os"
"github.com/prometheus/procfs/internal/util"
)
// KernelRandom contains information about to the kernel's random number generator.
type KernelRandom struct {
// EntropyAvaliable gives the available entropy, in bits.
EntropyAvaliable *uint64
// PoolSize gives the size of the entropy pool, in bits.
PoolSize *uint64
// URandomMinReseedSeconds is the number of seconds after which the DRNG will be reseeded.
URandomMinReseedSeconds *uint64
// WriteWakeupThreshold the number of bits of entropy below which we wake up processes
// that do a select(2) or poll(2) for write access to /dev/random.
WriteWakeupThreshold *uint64
// ReadWakeupThreshold is the number of bits of entropy required for waking up processes that sleep
// waiting for entropy from /dev/random.
ReadWakeupThreshold *uint64
}
// KernelRandom returns values from /proc/sys/kernel/random.
func (fs FS) KernelRandom() (KernelRandom, error) {
random := KernelRandom{}
for file, p := range map[string]**uint64{
"entropy_avail": &random.EntropyAvaliable,
"poolsize": &random.PoolSize,
"urandom_min_reseed_secs": &random.URandomMinReseedSeconds,
"write_wakeup_threshold": &random.WriteWakeupThreshold,
"read_wakeup_threshold": &random.ReadWakeupThreshold,
} {
val, err := util.ReadUintFromFile(fs.proc.Path("sys", "kernel", "random", file))
if os.IsNotExist(err) {
continue
}
if err != nil {
return random, err
}
*p = &val
}
return random, nil
}