github.com/hellobchain/third_party@v0.0.0-20230331131523-deb0478a2e52/prometheus/procfs/doc.go (about)

     1  // Copyright 2014 Prometheus Team
     2  // Licensed under the Apache License, Version 2.0 (the "License");
     3  // you may not use this file except in compliance with the License.
     4  // You may obtain a copy of the License at
     5  //
     6  // http://www.apache.org/licenses/LICENSE-2.0
     7  //
     8  // Unless required by applicable law or agreed to in writing, software
     9  // distributed under the License is distributed on an "AS IS" BASIS,
    10  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    11  // See the License for the specific language governing permissions and
    12  // limitations under the License.
    13  
    14  // Package procfs provides functions to retrieve system, kernel and process
    15  // metrics from the pseudo-filesystem proc.
    16  //
    17  // Example:
    18  //
    19  //    package main
    20  //
    21  //    import (
    22  //    	"fmt"
    23  //    	"log"
    24  //
    25  //    	"github.com/prometheus/procfs"
    26  //    )
    27  //
    28  //    func main() {
    29  //    	p, err := procfs.Self()
    30  //    	if err != nil {
    31  //    		log.Fatalf("could not get process: %s", err)
    32  //    	}
    33  //
    34  //    	stat, err := p.NewStat()
    35  //    	if err != nil {
    36  //    		log.Fatalf("could not get process stat: %s", err)
    37  //    	}
    38  //
    39  //    	fmt.Printf("command:  %s\n", stat.Comm)
    40  //    	fmt.Printf("cpu time: %fs\n", stat.CPUTime())
    41  //    	fmt.Printf("vsize:    %dB\n", stat.VirtualMemory())
    42  //    	fmt.Printf("rss:      %dB\n", stat.ResidentMemory())
    43  //    }
    44  //
    45  package procfs