summaryrefslogtreecommitdiff
path: root/vendor/github.com/prometheus/procfs/proc_statm.go
diff options
context:
space:
mode:
authorLibravatar Terin Stock <terinjokes@gmail.com>2025-03-09 17:47:56 +0100
committerLibravatar Terin Stock <terinjokes@gmail.com>2025-12-01 22:08:04 +0100
commitb1af8fd87760b34e3ff2fd3bda38f211815a0473 (patch)
tree9317fad1a7ec298d7a8d2678e4e422953bbc6f33 /vendor/github.com/prometheus/procfs/proc_statm.go
parent[chore] update URLs to forked source (diff)
downloadgotosocial-b1af8fd87760b34e3ff2fd3bda38f211815a0473.tar.xz
[chore] remove vendor
Diffstat (limited to 'vendor/github.com/prometheus/procfs/proc_statm.go')
-rw-r--r--vendor/github.com/prometheus/procfs/proc_statm.go116
1 files changed, 0 insertions, 116 deletions
diff --git a/vendor/github.com/prometheus/procfs/proc_statm.go b/vendor/github.com/prometheus/procfs/proc_statm.go
deleted file mode 100644
index ed5798424..000000000
--- a/vendor/github.com/prometheus/procfs/proc_statm.go
+++ /dev/null
@@ -1,116 +0,0 @@
-// Copyright 2025 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.
-
-package procfs
-
-import (
- "os"
- "strconv"
- "strings"
-
- "github.com/prometheus/procfs/internal/util"
-)
-
-// - https://man7.org/linux/man-pages/man5/proc_pid_statm.5.html
-
-// ProcStatm Provides memory usage information for a process, measured in memory pages.
-// Read from /proc/[pid]/statm.
-type ProcStatm struct {
- // The process ID.
- PID int
- // total program size (same as VmSize in status)
- Size uint64
- // resident set size (same as VmRSS in status)
- Resident uint64
- // number of resident shared pages (i.e., backed by a file)
- Shared uint64
- // text (code)
- Text uint64
- // library (unused since Linux 2.6; always 0)
- Lib uint64
- // data + stack
- Data uint64
- // dirty pages (unused since Linux 2.6; always 0)
- Dt uint64
-}
-
-// NewStatm returns the current status information of the process.
-// Deprecated: Use p.Statm() instead.
-func (p Proc) NewStatm() (ProcStatm, error) {
- return p.Statm()
-}
-
-// Statm returns the current memory usage information of the process.
-func (p Proc) Statm() (ProcStatm, error) {
- data, err := util.ReadFileNoStat(p.path("statm"))
- if err != nil {
- return ProcStatm{}, err
- }
-
- statmSlice, err := parseStatm(data)
- if err != nil {
- return ProcStatm{}, err
- }
-
- procStatm := ProcStatm{
- PID: p.PID,
- Size: statmSlice[0],
- Resident: statmSlice[1],
- Shared: statmSlice[2],
- Text: statmSlice[3],
- Lib: statmSlice[4],
- Data: statmSlice[5],
- Dt: statmSlice[6],
- }
-
- return procStatm, nil
-}
-
-// parseStatm return /proc/[pid]/statm data to uint64 slice.
-func parseStatm(data []byte) ([]uint64, error) {
- var statmSlice []uint64
- statmItems := strings.Fields(string(data))
- for i := 0; i < len(statmItems); i++ {
- statmItem, err := strconv.ParseUint(statmItems[i], 10, 64)
- if err != nil {
- return nil, err
- }
- statmSlice = append(statmSlice, statmItem)
- }
- return statmSlice, nil
-}
-
-// SizeBytes returns the process of total program size in bytes.
-func (s ProcStatm) SizeBytes() uint64 {
- return s.Size * uint64(os.Getpagesize())
-}
-
-// ResidentBytes returns the process of resident set size in bytes.
-func (s ProcStatm) ResidentBytes() uint64 {
- return s.Resident * uint64(os.Getpagesize())
-}
-
-// SHRBytes returns the process of share memory size in bytes.
-func (s ProcStatm) SHRBytes() uint64 {
- return s.Shared * uint64(os.Getpagesize())
-}
-
-// TextBytes returns the process of text (code) size in bytes.
-func (s ProcStatm) TextBytes() uint64 {
- return s.Text * uint64(os.Getpagesize())
-}
-
-// DataBytes returns the process of data + stack size in bytes.
-func (s ProcStatm) DataBytes() uint64 {
- return s.Data * uint64(os.Getpagesize())
-}