mirror of
				https://github.com/prometheus/node_exporter.git
				synced 2025-08-20 18:33:52 -07:00 
			
		
		
		
	Update vendored github.com/prometheus/procfs packages
This commit is contained in:
		
							parent
							
								
									7a1a512c8a
								
							
						
					
					
						commit
						a5bd651888
					
				
							
								
								
									
										77
									
								
								vendor/github.com/prometheus/procfs/Makefile
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										77
									
								
								vendor/github.com/prometheus/procfs/Makefile
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,18 +1,71 @@ | ||||||
| ci: fmt lint test | # Copyright 2018 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.
 | ||||||
| 
 | 
 | ||||||
| fmt: | # Ensure GOBIN is not set during build so that promu is installed to the correct path
 | ||||||
| 	! gofmt -l *.go | read nothing | unexport GOBIN | ||||||
| 	go vet |  | ||||||
| 
 | 
 | ||||||
| lint: | GO           ?= go | ||||||
| 	go get github.com/golang/lint/golint | GOFMT        ?= $(GO)fmt | ||||||
| 	golint *.go | FIRST_GOPATH := $(firstword $(subst :, ,$(shell $(GO) env GOPATH))) | ||||||
|  | STATICCHECK  := $(FIRST_GOPATH)/bin/staticcheck | ||||||
|  | pkgs          = $(shell $(GO) list ./... | grep -v /vendor/) | ||||||
| 
 | 
 | ||||||
| test: sysfs/fixtures/.unpacked | PREFIX                  ?= $(shell pwd) | ||||||
| 	go test -v ./... | BIN_DIR                 ?= $(shell pwd) | ||||||
| 
 | 
 | ||||||
| sysfs/fixtures/.unpacked: sysfs/fixtures.ttar | ifdef DEBUG | ||||||
| 	./ttar -C sysfs -x -f sysfs/fixtures.ttar |   bindata_flags = -debug | ||||||
|  | endif | ||||||
|  | 
 | ||||||
|  | STATICCHECK_IGNORE = | ||||||
|  | 
 | ||||||
|  | all: format staticcheck build test | ||||||
|  | 
 | ||||||
|  | style: | ||||||
|  | 	@echo ">> checking code style" | ||||||
|  | 	@! $(GOFMT) -d $(shell find . -path ./vendor -prune -o -name '*.go' -print) | grep '^' | ||||||
|  | 
 | ||||||
|  | check_license: | ||||||
|  | 	@echo ">> checking license header" | ||||||
|  | 	@./scripts/check_license.sh | ||||||
|  | 
 | ||||||
|  | test: fixtures/.unpacked sysfs/fixtures/.unpacked | ||||||
|  | 	@echo ">> running all tests" | ||||||
|  | 	@$(GO) test -race $(shell $(GO) list ./... | grep -v /vendor/ | grep -v examples) | ||||||
|  | 
 | ||||||
|  | format: | ||||||
|  | 	@echo ">> formatting code" | ||||||
|  | 	@$(GO) fmt $(pkgs) | ||||||
|  | 
 | ||||||
|  | vet: | ||||||
|  | 	@echo ">> vetting code" | ||||||
|  | 	@$(GO) vet $(pkgs) | ||||||
|  | 
 | ||||||
|  | staticcheck: $(STATICCHECK) | ||||||
|  | 	@echo ">> running staticcheck" | ||||||
|  | 	@$(STATICCHECK) -ignore "$(STATICCHECK_IGNORE)" $(pkgs) | ||||||
|  | 
 | ||||||
|  | %/.unpacked: %.ttar | ||||||
|  | 	./ttar -C $(dir $*) -x -f $*.ttar | ||||||
| 	touch $@ | 	touch $@ | ||||||
| 
 | 
 | ||||||
| .PHONY: fmt lint test ci | $(FIRST_GOPATH)/bin/staticcheck: | ||||||
|  | 	@GOOS= GOARCH= $(GO) get -u honnef.co/go/tools/cmd/staticcheck | ||||||
|  | 
 | ||||||
|  | .PHONY: all style check_license format test vet staticcheck | ||||||
|  | 
 | ||||||
|  | # Declaring the binaries at their default locations as PHONY targets is a hack
 | ||||||
|  | # to ensure the latest version is downloaded on every make execution.
 | ||||||
|  | # If this is not desired, copy/symlink these binaries to a different path and
 | ||||||
|  | # set the respective environment variables.
 | ||||||
|  | .PHONY: $(GOPATH)/bin/staticcheck | ||||||
|  |  | ||||||
							
								
								
									
										446
									
								
								vendor/github.com/prometheus/procfs/fixtures.ttar
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										446
									
								
								vendor/github.com/prometheus/procfs/fixtures.ttar
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,446 @@ | ||||||
|  | # Archive created by ttar -c -f fixtures.ttar fixtures/ | ||||||
|  | Directory: fixtures | ||||||
|  | Mode: 755 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Directory: fixtures/26231 | ||||||
|  | Mode: 755 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26231/cmdline | ||||||
|  | Lines: 1 | ||||||
|  | vimNULLBYTEtest.goNULLBYTE+10NULLBYTEEOF | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26231/comm | ||||||
|  | Lines: 1 | ||||||
|  | vim | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26231/exe | ||||||
|  | SymlinkTo: /usr/bin/vim | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Directory: fixtures/26231/fd | ||||||
|  | Mode: 755 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26231/fd/0 | ||||||
|  | SymlinkTo: ../../symlinktargets/abc | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26231/fd/1 | ||||||
|  | SymlinkTo: ../../symlinktargets/def | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26231/fd/10 | ||||||
|  | SymlinkTo: ../../symlinktargets/xyz | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26231/fd/2 | ||||||
|  | SymlinkTo: ../../symlinktargets/ghi | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26231/fd/3 | ||||||
|  | SymlinkTo: ../../symlinktargets/uvw | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26231/io | ||||||
|  | Lines: 7 | ||||||
|  | rchar: 750339 | ||||||
|  | wchar: 818609 | ||||||
|  | syscr: 7405 | ||||||
|  | syscw: 5245 | ||||||
|  | read_bytes: 1024 | ||||||
|  | write_bytes: 2048 | ||||||
|  | cancelled_write_bytes: -1024 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26231/limits | ||||||
|  | Lines: 17 | ||||||
|  | Limit                     Soft Limit           Hard Limit           Units | ||||||
|  | Max cpu time              unlimited            unlimited            seconds | ||||||
|  | Max file size             unlimited            unlimited            bytes | ||||||
|  | Max data size             unlimited            unlimited            bytes | ||||||
|  | Max stack size            8388608              unlimited            bytes | ||||||
|  | Max core file size        0                    unlimited            bytes | ||||||
|  | Max resident set          unlimited            unlimited            bytes | ||||||
|  | Max processes             62898                62898                processes | ||||||
|  | Max open files            2048                 4096                 files | ||||||
|  | Max locked memory         65536                65536                bytes | ||||||
|  | Max address space         8589934592           unlimited            bytes | ||||||
|  | Max file locks            unlimited            unlimited            locks | ||||||
|  | Max pending signals       62898                62898                signals | ||||||
|  | Max msgqueue size         819200               819200               bytes | ||||||
|  | Max nice priority         0                    0 | ||||||
|  | Max realtime priority     0                    0 | ||||||
|  | Max realtime timeout      unlimited            unlimited            us | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26231/mountstats | ||||||
|  | Lines: 19 | ||||||
|  | device rootfs mounted on / with fstype rootfs | ||||||
|  | device sysfs mounted on /sys with fstype sysfs | ||||||
|  | device proc mounted on /proc with fstype proc | ||||||
|  | device /dev/sda1 mounted on / with fstype ext4 | ||||||
|  | device 192.168.1.1:/srv/test mounted on /mnt/nfs/test with fstype nfs4 statvers=1.1 | ||||||
|  | 	opts:	rw,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,acregmin=3,acregmax=60,acdirmin=30,acdirmax=60,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.5,local_lock=none | ||||||
|  | 	age:	13968 | ||||||
|  | 	caps:	caps=0xfff7,wtmult=512,dtsize=32768,bsize=0,namlen=255 | ||||||
|  | 	nfsv4:	bm0=0xfdffafff,bm1=0xf9be3e,bm2=0x0,acl=0x0,pnfs=not configured | ||||||
|  | 	sec:	flavor=1,pseudoflavor=1 | ||||||
|  | 	events:	52 226 0 0 1 13 398 0 0 331 0 47 0 0 77 0 0 77 0 0 0 0 0 0 0 0 0 | ||||||
|  | 	bytes:	1207640230 0 0 0 1210214218 0 295483 0 | ||||||
|  | 	RPC iostats version: 1.0  p/v: 100003/4 (nfs) | ||||||
|  | 	xprt:	tcp 832 0 1 0 11 6428 6428 0 12154 0 24 26 5726 | ||||||
|  | 	per-op statistics | ||||||
|  | 	        NULL: 0 0 0 0 0 0 0 0 | ||||||
|  | 	        READ: 1298 1298 0 207680 1210292152 6 79386 79407 | ||||||
|  | 	       WRITE: 0 0 0 0 0 0 0 0 | ||||||
|  | 
 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Directory: fixtures/26231/net | ||||||
|  | Mode: 755 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26231/net/dev | ||||||
|  | Lines: 4 | ||||||
|  | Inter-|   Receive                                                |  Transmit | ||||||
|  |  face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed | ||||||
|  |     lo:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0 | ||||||
|  |   eth0:     438       5    0    0    0     0          0         0      648       8    0    0    0     0       0          0 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Directory: fixtures/26231/ns | ||||||
|  | Mode: 755 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26231/ns/mnt | ||||||
|  | SymlinkTo: mnt:[4026531840] | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26231/ns/net | ||||||
|  | SymlinkTo: net:[4026531993] | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26231/stat | ||||||
|  | Lines: 1 | ||||||
|  | 26231 (vim) R 5392 7446 5392 34835 7446 4218880 32533 309516 26 82 1677 44 158 99 20 0 1 0 82375 56274944 1981 18446744073709551615 4194304 6294284 140736914091744 140736914087944 139965136429984 0 0 12288 1870679807 0 0 0 17 0 0 0 31 0 0 8391624 8481048 16420864 140736914093252 140736914093279 140736914093279 140736914096107 0 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Directory: fixtures/26232 | ||||||
|  | Mode: 755 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26232/cmdline | ||||||
|  | Lines: 0 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26232/comm | ||||||
|  | Lines: 1 | ||||||
|  | ata_sff | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Directory: fixtures/26232/fd | ||||||
|  | Mode: 755 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26232/fd/0 | ||||||
|  | SymlinkTo: ../../symlinktargets/abc | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26232/fd/1 | ||||||
|  | SymlinkTo: ../../symlinktargets/def | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26232/fd/2 | ||||||
|  | SymlinkTo: ../../symlinktargets/ghi | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26232/fd/3 | ||||||
|  | SymlinkTo: ../../symlinktargets/uvw | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26232/fd/4 | ||||||
|  | SymlinkTo: ../../symlinktargets/xyz | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26232/limits | ||||||
|  | Lines: 17 | ||||||
|  | Limit                     Soft Limit           Hard Limit           Units      | ||||||
|  | Max cpu time              unlimited            unlimited            seconds    | ||||||
|  | Max file size             unlimited            unlimited            bytes      | ||||||
|  | Max data size             unlimited            unlimited            bytes      | ||||||
|  | Max stack size            8388608              unlimited            bytes      | ||||||
|  | Max core file size        0                    unlimited            bytes      | ||||||
|  | Max resident set          unlimited            unlimited            bytes      | ||||||
|  | Max processes             29436                29436                processes  | ||||||
|  | Max open files            1024                 4096                 files      | ||||||
|  | Max locked memory         65536                65536                bytes      | ||||||
|  | Max address space         unlimited            unlimited            bytes      | ||||||
|  | Max file locks            unlimited            unlimited            locks      | ||||||
|  | Max pending signals       29436                29436                signals    | ||||||
|  | Max msgqueue size         819200               819200               bytes      | ||||||
|  | Max nice priority         0                    0                     | ||||||
|  | Max realtime priority     0                    0                     | ||||||
|  | Max realtime timeout      unlimited            unlimited            us         | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26232/stat | ||||||
|  | Lines: 1 | ||||||
|  | 33 (ata_sff) S 2 0 0 0 -1 69238880 0 0 0 0 0 0 0 0 0 -20 1 0 5 0 0 18446744073709551615 0 0 0 0 0 0 0 2147483647 0 18446744073709551615 0 0 17 1 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Directory: fixtures/26233 | ||||||
|  | Mode: 755 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/26233/cmdline | ||||||
|  | Lines: 1 | ||||||
|  | com.github.uiautomatorNULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTENULLBYTEEOF | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Directory: fixtures/584 | ||||||
|  | Mode: 755 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/584/stat | ||||||
|  | Lines: 2 | ||||||
|  | 1020 ((a b ) ( c d) ) R 28378 1020 28378 34842 1020 4218880 286 0 0 0 0 0 0 0 20 0 1 0 10839175 10395648 155 18446744073709551615 4194304 4238788 140736466511168 140736466511168 140609271124624 0 0 0 0 0 0 0 17 5 0 0 0 0 0 6336016 6337300 25579520 140736466515030 140736466515061 140736466515061 140736466518002 0 | ||||||
|  | #!/bin/cat /proc/self/stat | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Directory: fixtures/buddyinfo | ||||||
|  | Mode: 755 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Directory: fixtures/buddyinfo/short | ||||||
|  | Mode: 755 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/buddyinfo/short/buddyinfo | ||||||
|  | Lines: 3 | ||||||
|  | Node 0, zone | ||||||
|  | Node 0, zone | ||||||
|  | Node 0, zone | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Directory: fixtures/buddyinfo/sizemismatch | ||||||
|  | Mode: 755 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/buddyinfo/sizemismatch/buddyinfo | ||||||
|  | Lines: 3 | ||||||
|  | Node 0, zone      DMA      1      0      1      0      2      1      1      0      1      1      3  | ||||||
|  | Node 0, zone    DMA32    759    572    791    475    194     45     12      0      0      0      0      0 | ||||||
|  | Node 0, zone   Normal   4381   1093    185   1530    567    102      4      0      0      0 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Directory: fixtures/buddyinfo/valid | ||||||
|  | Mode: 755 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/buddyinfo/valid/buddyinfo | ||||||
|  | Lines: 3 | ||||||
|  | Node 0, zone      DMA      1      0      1      0      2      1      1      0      1      1      3  | ||||||
|  | Node 0, zone    DMA32    759    572    791    475    194     45     12      0      0      0      0  | ||||||
|  | Node 0, zone   Normal   4381   1093    185   1530    567    102      4      0      0      0      0  | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Directory: fixtures/fs | ||||||
|  | Mode: 755 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Directory: fixtures/fs/xfs | ||||||
|  | Mode: 755 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/fs/xfs/stat | ||||||
|  | Lines: 23 | ||||||
|  | extent_alloc 92447 97589 92448 93751 | ||||||
|  | abt 0 0 0 0 | ||||||
|  | blk_map 1767055 188820 184891 92447 92448 2140766 0 | ||||||
|  | bmbt 0 0 0 0 | ||||||
|  | dir 185039 92447 92444 136422 | ||||||
|  | trans 706 944304 0 | ||||||
|  | ig 185045 58807 0 126238 0 33637 22 | ||||||
|  | log 2883 113448 9 17360 739 | ||||||
|  | push_ail 945014 0 134260 15483 0 3940 464 159985 0 40 | ||||||
|  | xstrat 92447 0 | ||||||
|  | rw 107739 94045 | ||||||
|  | attr 4 0 0 0 | ||||||
|  | icluster 8677 7849 135802 | ||||||
|  | vnodes 92601 0 0 0 92444 92444 92444 0 | ||||||
|  | buf 2666287 7122 2659202 3599 2 7085 0 10297 7085 | ||||||
|  | abtb2 184941 1277345 13257 13278 0 0 0 0 0 0 0 0 0 0 2746147 | ||||||
|  | abtc2 345295 2416764 172637 172658 0 0 0 0 0 0 0 0 0 0 21406023 | ||||||
|  | bmbt2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||||||
|  | ibt2 343004 1358467 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||||||
|  | fibt2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||||||
|  | qm 0 0 0 0 0 0 0 0 | ||||||
|  | xpc 399724544 92823103 86219234 | ||||||
|  | debug 0 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/mdstat | ||||||
|  | Lines: 26 | ||||||
|  | Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] | ||||||
|  | md3 : active raid6 sda1[8] sdh1[7] sdg1[6] sdf1[5] sde1[11] sdd1[3] sdc1[10] sdb1[9] | ||||||
|  |       5853468288 blocks super 1.2 level 6, 64k chunk, algorithm 2 [8/8] [UUUUUUUU] | ||||||
|  |        | ||||||
|  | md127 : active raid1 sdi2[0] sdj2[1] | ||||||
|  |       312319552 blocks [2/2] [UU] | ||||||
|  |        | ||||||
|  | md0 : active raid1 sdk[2](S) sdi1[0] sdj1[1] | ||||||
|  |       248896 blocks [2/2] [UU] | ||||||
|  |        | ||||||
|  | md4 : inactive raid1 sda3[0] sdb3[1] | ||||||
|  |       4883648 blocks [2/2] [UU] | ||||||
|  | 
 | ||||||
|  | md6 : active raid1 sdb2[2] sda2[0] | ||||||
|  |       195310144 blocks [2/1] [U_] | ||||||
|  |       [=>...................]  recovery =  8.5% (16775552/195310144) finish=17.0min speed=259783K/sec | ||||||
|  | 
 | ||||||
|  | md8 : active raid1 sdb1[1] sda1[0] | ||||||
|  |       195310144 blocks [2/2] [UU] | ||||||
|  |       [=>...................]  resync =  8.5% (16775552/195310144) finish=17.0min speed=259783K/sec | ||||||
|  | 
 | ||||||
|  | md7 : active raid6 sdb1[0] sde1[3] sdd1[2] sdc1[1] | ||||||
|  |       7813735424 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/3] [U_UU] | ||||||
|  |       bitmap: 0/30 pages [0KB], 65536KB chunk | ||||||
|  | 
 | ||||||
|  | unused devices: <none> | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Directory: fixtures/net | ||||||
|  | Mode: 755 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/net/dev | ||||||
|  | Lines: 6 | ||||||
|  | Inter-|   Receive                                                |  Transmit | ||||||
|  |  face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed | ||||||
|  | vethf345468:     648       8    0    0    0     0          0         0      438       5    0    0    0     0       0          0 | ||||||
|  |     lo: 1664039048 1566805    0    0    0     0          0         0 1664039048 1566805    0    0    0     0       0          0 | ||||||
|  | docker0:    2568      38    0    0    0     0          0         0      438       5    0    0    0     0       0          0 | ||||||
|  |   eth0: 874354587 1036395    0    0    0     0          0         0 563352563  732147    0    0    0     0       0          0 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/net/ip_vs | ||||||
|  | Lines: 21 | ||||||
|  | IP Virtual Server version 1.2.1 (size=4096) | ||||||
|  | Prot LocalAddress:Port Scheduler Flags | ||||||
|  |   -> RemoteAddress:Port Forward Weight ActiveConn InActConn | ||||||
|  | TCP  C0A80016:0CEA wlc | ||||||
|  |   -> C0A85216:0CEA      Tunnel  100    248        2 | ||||||
|  |   -> C0A85318:0CEA      Tunnel  100    248        2 | ||||||
|  |   -> C0A85315:0CEA      Tunnel  100    248        1 | ||||||
|  | TCP  C0A80039:0CEA wlc | ||||||
|  |   -> C0A85416:0CEA      Tunnel  0      0          0 | ||||||
|  |   -> C0A85215:0CEA      Tunnel  100    1499       0 | ||||||
|  |   -> C0A83215:0CEA      Tunnel  100    1498       0 | ||||||
|  | TCP  C0A80037:0CEA wlc | ||||||
|  |   -> C0A8321A:0CEA      Tunnel  0      0          0 | ||||||
|  |   -> C0A83120:0CEA      Tunnel  100    0          0 | ||||||
|  | TCP  [2620:0000:0000:0000:0000:0000:0000:0001]:0050 sh | ||||||
|  |   -> [2620:0000:0000:0000:0000:0000:0000:0002]:0050      Route   1      0          0 | ||||||
|  |   -> [2620:0000:0000:0000:0000:0000:0000:0003]:0050      Route   1      0          0 | ||||||
|  |   -> [2620:0000:0000:0000:0000:0000:0000:0004]:0050      Route   1      1          1 | ||||||
|  | FWM  10001000 wlc | ||||||
|  |   -> C0A8321A:0CEA      Route   0      0          1 | ||||||
|  |   -> C0A83215:0CEA      Route   0      0          2 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/net/ip_vs_stats | ||||||
|  | Lines: 6 | ||||||
|  |    Total Incoming Outgoing         Incoming         Outgoing | ||||||
|  |    Conns  Packets  Packets            Bytes            Bytes | ||||||
|  |  16AA370 E33656E5        0     51D8C8883AB3                0 | ||||||
|  | 
 | ||||||
|  |  Conns/s   Pkts/s   Pkts/s          Bytes/s          Bytes/s | ||||||
|  |        4    1FB3C        0          1282A8F                0 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Directory: fixtures/net/rpc | ||||||
|  | Mode: 755 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/net/rpc/nfs | ||||||
|  | Lines: 5 | ||||||
|  | net 18628 0 18628 6 | ||||||
|  | rpc 4329785 0 4338291 | ||||||
|  | proc2 18 2 69 0 0 4410 0 0 0 0 0 0 0 0 0 0 0 99 2 | ||||||
|  | proc3 22 1 4084749 29200 94754 32580 186 47747 7981 8639 0 6356 0 6962 0 7958 0 0 241 4 4 2 39 | ||||||
|  | proc4 61 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/net/rpc/nfsd | ||||||
|  | Lines: 11 | ||||||
|  | rc 0 6 18622 | ||||||
|  | fh 0 0 0 0 0 | ||||||
|  | io 157286400 0 | ||||||
|  | th 8 0 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 | ||||||
|  | ra 32 0 0 0 0 0 0 0 0 0 0 0 | ||||||
|  | net 18628 0 18628 6 | ||||||
|  | rpc 18628 0 0 0 0 | ||||||
|  | proc2 18 2 69 0 0 4410 0 0 0 0 0 0 0 0 0 0 0 99 2 | ||||||
|  | proc3 22 2 112 0 2719 111 0 0 0 0 0 0 0 0 0 0 0 27 216 0 2 1 0 | ||||||
|  | proc4 2 2 10853 | ||||||
|  | proc4ops 72 0 0 0 1098 2 0 0 0 0 8179 5896 0 0 0 0 5900 0 0 2 0 2 0 9609 0 2 150 1272 0 0 0 1236 0 0 0 0 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/net/xfrm_stat | ||||||
|  | Lines: 28 | ||||||
|  | XfrmInError                     1 | ||||||
|  | XfrmInBufferError               2 | ||||||
|  | XfrmInHdrError                  4 | ||||||
|  | XfrmInNoStates                  3 | ||||||
|  | XfrmInStateProtoError           40 | ||||||
|  | XfrmInStateModeError            100 | ||||||
|  | XfrmInStateSeqError             6000 | ||||||
|  | XfrmInStateExpired              4 | ||||||
|  | XfrmInStateMismatch             23451 | ||||||
|  | XfrmInStateInvalid              55555 | ||||||
|  | XfrmInTmplMismatch              51 | ||||||
|  | XfrmInNoPols                    65432 | ||||||
|  | XfrmInPolBlock                  100 | ||||||
|  | XfrmInPolError                  10000 | ||||||
|  | XfrmOutError                    1000000 | ||||||
|  | XfrmOutBundleGenError           43321 | ||||||
|  | XfrmOutBundleCheckError         555 | ||||||
|  | XfrmOutNoStates                 869 | ||||||
|  | XfrmOutStateProtoError          4542 | ||||||
|  | XfrmOutStateModeError           4 | ||||||
|  | XfrmOutStateSeqError            543 | ||||||
|  | XfrmOutStateExpired             565 | ||||||
|  | XfrmOutPolBlock                 43456 | ||||||
|  | XfrmOutPolDead                  7656 | ||||||
|  | XfrmOutPolError                 1454 | ||||||
|  | XfrmFwdHdrError                 6654 | ||||||
|  | XfrmOutStateInvalid             28765 | ||||||
|  | XfrmAcquireError                24532 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/self | ||||||
|  | SymlinkTo: 26231 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/stat | ||||||
|  | Lines: 16 | ||||||
|  | cpu  301854 612 111922 8979004 3552 2 3944 0 0 0 | ||||||
|  | cpu0 44490 19 21045 1087069 220 1 3410 0 0 0 | ||||||
|  | cpu1 47869 23 16474 1110787 591 0 46 0 0 0 | ||||||
|  | cpu2 46504 36 15916 1112321 441 0 326 0 0 0 | ||||||
|  | cpu3 47054 102 15683 1113230 533 0 60 0 0 0 | ||||||
|  | cpu4 28413 25 10776 1140321 217 0 8 0 0 0 | ||||||
|  | cpu5 29271 101 11586 1136270 672 0 30 0 0 0 | ||||||
|  | cpu6 29152 36 10276 1139721 319 0 29 0 0 0 | ||||||
|  | cpu7 29098 268 10164 1139282 555 0 31 0 0 0 | ||||||
|  | intr 8885917 17 0 0 0 0 0 0 0 1 79281 0 0 0 0 0 0 0 231237 0 0 0 0 250586 103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 223424 190745 13 906 1283803 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||||||
|  | ctxt 38014093 | ||||||
|  | btime 1418183276 | ||||||
|  | processes 26442 | ||||||
|  | procs_running 2 | ||||||
|  | procs_blocked 1 | ||||||
|  | softirq 5057579 250191 1481983 1647 211099 186066 0 1783454 622196 12499 508444 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Directory: fixtures/symlinktargets | ||||||
|  | Mode: 755 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/symlinktargets/README | ||||||
|  | Lines: 2 | ||||||
|  | This directory contains some empty files that are the symlinks the files in the "fd" directory point to. | ||||||
|  | They are otherwise ignored by the tests | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/symlinktargets/abc | ||||||
|  | Lines: 0 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/symlinktargets/def | ||||||
|  | Lines: 0 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/symlinktargets/ghi | ||||||
|  | Lines: 0 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/symlinktargets/uvw | ||||||
|  | Lines: 0 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/symlinktargets/xyz | ||||||
|  | Lines: 0 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
							
								
								
									
										13
									
								
								vendor/github.com/prometheus/procfs/fs.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/github.com/prometheus/procfs/fs.go
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,3 +1,16 @@ | ||||||
|  | // Copyright 2018 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 | package procfs | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
|  |  | ||||||
							
								
								
									
										13
									
								
								vendor/github.com/prometheus/procfs/ipvs.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/github.com/prometheus/procfs/ipvs.go
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,3 +1,16 @@ | ||||||
|  | // Copyright 2018 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 | package procfs | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
|  |  | ||||||
							
								
								
									
										13
									
								
								vendor/github.com/prometheus/procfs/mdstat.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/github.com/prometheus/procfs/mdstat.go
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,3 +1,16 @@ | ||||||
|  | // Copyright 2018 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 | package procfs | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
|  |  | ||||||
							
								
								
									
										13
									
								
								vendor/github.com/prometheus/procfs/mountstats.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/github.com/prometheus/procfs/mountstats.go
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,3 +1,16 @@ | ||||||
|  | // Copyright 2018 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 | package procfs | ||||||
| 
 | 
 | ||||||
| // While implementing parsing of /proc/[pid]/mountstats, this blog was used
 | // While implementing parsing of /proc/[pid]/mountstats, this blog was used
 | ||||||
|  |  | ||||||
							
								
								
									
										13
									
								
								vendor/github.com/prometheus/procfs/net_dev.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/github.com/prometheus/procfs/net_dev.go
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,3 +1,16 @@ | ||||||
|  | // Copyright 2018 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 | package procfs | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
|  |  | ||||||
							
								
								
									
										16
									
								
								vendor/github.com/prometheus/procfs/proc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								vendor/github.com/prometheus/procfs/proc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,6 +1,20 @@ | ||||||
|  | // Copyright 2018 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 | package procfs | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
|  | 	"bytes" | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"io/ioutil" | 	"io/ioutil" | ||||||
| 	"os" | 	"os" | ||||||
|  | @ -113,7 +127,7 @@ func (p Proc) CmdLine() ([]string, error) { | ||||||
| 		return []string{}, nil | 		return []string{}, nil | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	return strings.Split(string(data[:len(data)-1]), string(byte(0))), nil | 	return strings.Split(string(bytes.TrimRight(data, string("\x00"))), string(byte(0))), nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Comm returns the command name of a process.
 | // Comm returns the command name of a process.
 | ||||||
|  |  | ||||||
							
								
								
									
										13
									
								
								vendor/github.com/prometheus/procfs/proc_io.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/github.com/prometheus/procfs/proc_io.go
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,3 +1,16 @@ | ||||||
|  | // Copyright 2018 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 | package procfs | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
|  |  | ||||||
							
								
								
									
										13
									
								
								vendor/github.com/prometheus/procfs/proc_limits.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/github.com/prometheus/procfs/proc_limits.go
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,3 +1,16 @@ | ||||||
|  | // Copyright 2018 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 | package procfs | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
|  |  | ||||||
							
								
								
									
										13
									
								
								vendor/github.com/prometheus/procfs/proc_ns.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/github.com/prometheus/procfs/proc_ns.go
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,3 +1,16 @@ | ||||||
|  | // Copyright 2018 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 | package procfs | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
|  |  | ||||||
							
								
								
									
										13
									
								
								vendor/github.com/prometheus/procfs/proc_stat.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/github.com/prometheus/procfs/proc_stat.go
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,3 +1,16 @@ | ||||||
|  | // Copyright 2018 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 | package procfs | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
|  |  | ||||||
							
								
								
									
										13
									
								
								vendor/github.com/prometheus/procfs/stat.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/github.com/prometheus/procfs/stat.go
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,3 +1,16 @@ | ||||||
|  | // Copyright 2018 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 | package procfs | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
|  |  | ||||||
							
								
								
									
										130
									
								
								vendor/github.com/prometheus/procfs/sysfs/fixtures.ttar
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										130
									
								
								vendor/github.com/prometheus/procfs/sysfs/fixtures.ttar
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,3 +1,4 @@ | ||||||
|  | # Archive created by ttar -c -f fixtures.ttar fixtures/ | ||||||
| Directory: fixtures | Directory: fixtures | ||||||
| Mode: 755 | Mode: 755 | ||||||
| # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | @ -719,3 +720,132 @@ Lines: 1 | ||||||
| extent_alloc 2 0 0 0 | extent_alloc 2 0 0 0 | ||||||
| Mode: 644 | Mode: 644 | ||||||
| # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Directory: fixtures/class/net/eth0/ | ||||||
|  | Mode: 755 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/addr_assign_type | ||||||
|  | Lines: 1 | ||||||
|  | 3 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/addr_len | ||||||
|  | Lines: 1 | ||||||
|  | 6 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/address | ||||||
|  | Lines: 1 | ||||||
|  | 01:01:01:01:01:01 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/broadcast | ||||||
|  | Lines: 1 | ||||||
|  | ff:ff:ff:ff:ff:ff | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/carrier | ||||||
|  | Lines: 1 | ||||||
|  | 1 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/carrier_changes | ||||||
|  | Lines: 1 | ||||||
|  | 2 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/carrier_down_count | ||||||
|  | Lines: 1 | ||||||
|  | 1 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/carrier_up_count | ||||||
|  | Lines: 1 | ||||||
|  | 1 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/dev_id | ||||||
|  | Lines: 1 | ||||||
|  | 0x20 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/dormant | ||||||
|  | Lines: 1 | ||||||
|  | 1 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/duplex | ||||||
|  | Lines: 1 | ||||||
|  | full | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/flags | ||||||
|  | Lines: 1 | ||||||
|  | 0x1303 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/ifalias | ||||||
|  | Lines: 0 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/ifindex | ||||||
|  | Lines: 1 | ||||||
|  | 2 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/iflink | ||||||
|  | Lines: 1 | ||||||
|  | 2 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/link_mode | ||||||
|  | Lines: 1 | ||||||
|  | 1 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/mtu | ||||||
|  | Lines: 1 | ||||||
|  | 1500 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/name_assign_type | ||||||
|  | Lines: 1 | ||||||
|  | 2 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/netdev_group | ||||||
|  | Lines: 1 | ||||||
|  | 0 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/operstate | ||||||
|  | Lines: 1 | ||||||
|  | up | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/phys_port_id | ||||||
|  | Lines: 0 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/phys_port_name | ||||||
|  | Lines: 0 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/phys_switch_id | ||||||
|  | Lines: 0 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/speed | ||||||
|  | Lines: 1 | ||||||
|  | 1000 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/tx_queue_len | ||||||
|  | Lines: 1 | ||||||
|  | 1000 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
|  | Path: fixtures/class/net/eth0/type | ||||||
|  | Lines: 1 | ||||||
|  | 1 | ||||||
|  | Mode: 644 | ||||||
|  | # ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||||||
							
								
								
									
										165
									
								
								vendor/github.com/prometheus/procfs/sysfs/net_class.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										165
									
								
								vendor/github.com/prometheus/procfs/sysfs/net_class.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,165 @@ | ||||||
|  | // Copyright 2018 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 sysfs | ||||||
|  | 
 | ||||||
|  | import ( | ||||||
|  | 	"fmt" | ||||||
|  | 	"io/ioutil" | ||||||
|  | 	"os" | ||||||
|  | 	"reflect" | ||||||
|  | 	"strconv" | ||||||
|  | 	"strings" | ||||||
|  | 	"syscall" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | // NetClassIface contains info from files in /sys/class/net/<iface>
 | ||||||
|  | // for single interface (iface).
 | ||||||
|  | type NetClassIface struct { | ||||||
|  | 	Name             string // Interface name
 | ||||||
|  | 	AddrAssignType   int64  `fileName:"addr_assign_type"`   // /sys/class/net/<iface>/addr_assign_type
 | ||||||
|  | 	AddrLen          int64  `fileName:"addr_len"`           // /sys/class/net/<iface>/addr_len
 | ||||||
|  | 	Address          string `fileName:"address"`            // /sys/class/net/<iface>/address
 | ||||||
|  | 	Broadcast        string `fileName:"broadcast"`          // /sys/class/net/<iface>/broadcast
 | ||||||
|  | 	Carrier          int64  `fileName:"carrier"`            // /sys/class/net/<iface>/carrier
 | ||||||
|  | 	CarrierChanges   int64  `fileName:"carrier_changes"`    // /sys/class/net/<iface>/carrier_changes
 | ||||||
|  | 	CarrierUpCount   int64  `fileName:"carrier_up_count"`   // /sys/class/net/<iface>/carrier_up_count
 | ||||||
|  | 	CarrierDownCount int64  `fileName:"carrier_down_count"` // /sys/class/net/<iface>/carrier_down_count
 | ||||||
|  | 	DevID            int64  `fileName:"dev_id"`             // /sys/class/net/<iface>/dev_id
 | ||||||
|  | 	Dormant          int64  `fileName:"dormant"`            // /sys/class/net/<iface>/dormant
 | ||||||
|  | 	Duplex           string `fileName:"duplex"`             // /sys/class/net/<iface>/duplex
 | ||||||
|  | 	Flags            int64  `fileName:"flags"`              // /sys/class/net/<iface>/flags
 | ||||||
|  | 	IfAlias          string `fileName:"ifalias"`            // /sys/class/net/<iface>/ifalias
 | ||||||
|  | 	IfIndex          int64  `fileName:"ifindex"`            // /sys/class/net/<iface>/ifindex
 | ||||||
|  | 	IfLink           int64  `fileName:"iflink"`             // /sys/class/net/<iface>/iflink
 | ||||||
|  | 	LinkMode         int64  `fileName:"link_mode"`          // /sys/class/net/<iface>/link_mode
 | ||||||
|  | 	MTU              int64  `fileName:"mtu"`                // /sys/class/net/<iface>/mtu
 | ||||||
|  | 	NameAssignType   int64  `fileName:"name_assign_type"`   // /sys/class/net/<iface>/name_assign_type
 | ||||||
|  | 	NetDevGroup      int64  `fileName:"netdev_group"`       // /sys/class/net/<iface>/netdev_group
 | ||||||
|  | 	OperState        string `fileName:"operstate"`          // /sys/class/net/<iface>/operstate
 | ||||||
|  | 	PhysPortID       string `fileName:"phys_port_id"`       // /sys/class/net/<iface>/phys_port_id
 | ||||||
|  | 	PhysPortName     string `fileName:"phys_port_name"`     // /sys/class/net/<iface>/phys_port_name
 | ||||||
|  | 	PhysSwitchID     string `fileName:"phys_switch_id"`     // /sys/class/net/<iface>/phys_switch_id
 | ||||||
|  | 	Speed            int64  `fileName:"speed"`              // /sys/class/net/<iface>/speed
 | ||||||
|  | 	TxQueueLen       int64  `fileName:"tx_queue_len"`       // /sys/class/net/<iface>/tx_queue_len
 | ||||||
|  | 	Type             int64  `fileName:"type"`               // /sys/class/net/<iface>/type
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // NetClass is collection of info for every interface (iface) in /sys/class/net. The map keys
 | ||||||
|  | // are interface (iface) names.
 | ||||||
|  | type NetClass map[string]NetClassIface | ||||||
|  | 
 | ||||||
|  | // NewNetClass returns info for all net interfaces (iface) read from /sys/class/net/<iface>.
 | ||||||
|  | func NewNetClass() (NetClass, error) { | ||||||
|  | 	fs, err := NewFS(DefaultMountPoint) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	return fs.NewNetClass() | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // NewNetClass returns info for all net interfaces (iface) read from /sys/class/net/<iface>.
 | ||||||
|  | func (fs FS) NewNetClass() (NetClass, error) { | ||||||
|  | 	path := fs.Path("class/net") | ||||||
|  | 
 | ||||||
|  | 	devices, err := ioutil.ReadDir(path) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return NetClass{}, fmt.Errorf("cannot access %s dir %s", path, err) | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	netClass := NetClass{} | ||||||
|  | 	for _, deviceDir := range devices { | ||||||
|  | 		interfaceClass, err := netClass.parseNetClassIface(path + "/" + deviceDir.Name()) | ||||||
|  | 		if err != nil { | ||||||
|  | 			return nil, err | ||||||
|  | 		} | ||||||
|  | 		interfaceClass.Name = deviceDir.Name() | ||||||
|  | 		netClass[deviceDir.Name()] = *interfaceClass | ||||||
|  | 	} | ||||||
|  | 	return netClass, nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // parseNetClassIface scans predefined files in /sys/class/net/<iface>
 | ||||||
|  | // directory and gets their contents.
 | ||||||
|  | func (nc NetClass) parseNetClassIface(devicePath string) (*NetClassIface, error) { | ||||||
|  | 	interfaceClass := NetClassIface{} | ||||||
|  | 	interfaceElem := reflect.ValueOf(&interfaceClass).Elem() | ||||||
|  | 	interfaceType := reflect.TypeOf(interfaceClass) | ||||||
|  | 
 | ||||||
|  | 	//start from 1 - skip the Name field
 | ||||||
|  | 	for i := 1; i < interfaceElem.NumField(); i++ { | ||||||
|  | 		fieldType := interfaceType.Field(i) | ||||||
|  | 		fieldValue := interfaceElem.Field(i) | ||||||
|  | 
 | ||||||
|  | 		if fieldType.Tag.Get("fileName") == "" { | ||||||
|  | 			panic(fmt.Errorf("field %s does not have a filename tag", fieldType.Name)) | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		fileContents, err := sysReadFile(devicePath + "/" + fieldType.Tag.Get("fileName")) | ||||||
|  | 
 | ||||||
|  | 		if err != nil { | ||||||
|  | 			if os.IsNotExist(err) || err.Error() == "operation not supported" || err.Error() == "invalid argument" { | ||||||
|  | 				continue | ||||||
|  | 			} | ||||||
|  | 			return nil, fmt.Errorf("could not access file %s: %s", fieldType.Tag.Get("fileName"), err) | ||||||
|  | 		} | ||||||
|  | 		value := strings.TrimSpace(string(fileContents)) | ||||||
|  | 
 | ||||||
|  | 		switch fieldValue.Kind() { | ||||||
|  | 		case reflect.Int64: | ||||||
|  | 			if strings.HasPrefix(value, "0x") { | ||||||
|  | 				intValue, err := strconv.ParseInt(value[2:], 16, 64) | ||||||
|  | 				if err != nil { | ||||||
|  | 					return nil, fmt.Errorf("expected hex value for %s, got: %s", fieldType.Name, value) | ||||||
|  | 				} | ||||||
|  | 				fieldValue.SetInt(intValue) | ||||||
|  | 			} else { | ||||||
|  | 				intValue, err := strconv.ParseInt(value, 10, 64) | ||||||
|  | 				if err != nil { | ||||||
|  | 					return nil, fmt.Errorf("expected Uint64 value for %s, got: %s", fieldType.Name, value) | ||||||
|  | 				} | ||||||
|  | 				fieldValue.SetInt(intValue) | ||||||
|  | 			} | ||||||
|  | 		case reflect.String: | ||||||
|  | 			fieldValue.SetString(value) | ||||||
|  | 		default: | ||||||
|  | 			return nil, fmt.Errorf("unhandled type %q", fieldValue.Kind()) | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	return &interfaceClass, nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // sysReadFile is a simplified ioutil.ReadFile that invokes syscall.Read directly.
 | ||||||
|  | // https://github.com/prometheus/node_exporter/pull/728/files
 | ||||||
|  | func sysReadFile(file string) ([]byte, error) { | ||||||
|  | 	f, err := os.Open(file) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	defer f.Close() | ||||||
|  | 
 | ||||||
|  | 	// On some machines, hwmon drivers are broken and return EAGAIN.  This causes
 | ||||||
|  | 	// Go's ioutil.ReadFile implementation to poll forever.
 | ||||||
|  | 	//
 | ||||||
|  | 	// Since we either want to read data or bail immediately, do the simplest
 | ||||||
|  | 	// possible read using syscall directly.
 | ||||||
|  | 	b := make([]byte, 128) | ||||||
|  | 	n, err := syscall.Read(int(f.Fd()), b) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	return b[:n], nil | ||||||
|  | } | ||||||
							
								
								
									
										133
									
								
								vendor/github.com/prometheus/procfs/ttar
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										133
									
								
								vendor/github.com/prometheus/procfs/ttar
									
									
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,11 +1,26 @@ | ||||||
| #!/usr/bin/env bash | #!/usr/bin/env bash | ||||||
|  | 
 | ||||||
| # Purpose: plain text tar format | # Purpose: plain text tar format | ||||||
| # Limitations: - only suitable for text files, directories, and symlinks | # Limitations: - only suitable for text files, directories, and symlinks | ||||||
| #              - stores only filename, content, and mode | #              - stores only filename, content, and mode | ||||||
| #              - not designed for untrusted input | #              - not designed for untrusted input | ||||||
| 
 | # | ||||||
| # Note: must work with bash version 3.2 (macOS) | # Note: must work with bash version 3.2 (macOS) | ||||||
| 
 | 
 | ||||||
|  | # Copyright 2017 Roger Luethi | ||||||
|  | # | ||||||
|  | # 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. | ||||||
|  | 
 | ||||||
| set -o errexit -o nounset | set -o errexit -o nounset | ||||||
| 
 | 
 | ||||||
| # Sanitize environment (for instance, standard sorting of glob matches) | # Sanitize environment (for instance, standard sorting of glob matches) | ||||||
|  | @ -13,6 +28,55 @@ export LC_ALL=C | ||||||
| 
 | 
 | ||||||
| path="" | path="" | ||||||
| CMD="" | CMD="" | ||||||
|  | ARG_STRING="$*" | ||||||
|  | 
 | ||||||
|  | #------------------------------------------------------------------------------ | ||||||
|  | # Not all sed implementations can work on null bytes. In order to make ttar | ||||||
|  | # work out of the box on macOS, use Python as a stream editor. | ||||||
|  | 
 | ||||||
|  | USE_PYTHON=0 | ||||||
|  | 
 | ||||||
|  | PYTHON_CREATE_FILTER=$(cat << 'PCF' | ||||||
|  | #!/usr/bin/env python | ||||||
|  | 
 | ||||||
|  | import re | ||||||
|  | import sys | ||||||
|  | 
 | ||||||
|  | for line in sys.stdin: | ||||||
|  |     line = re.sub(r'EOF', r'\EOF', line) | ||||||
|  |     line = re.sub(r'NULLBYTE', r'\NULLBYTE', line) | ||||||
|  |     line = re.sub('\x00', r'NULLBYTE', line) | ||||||
|  |     sys.stdout.write(line) | ||||||
|  | PCF | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | PYTHON_EXTRACT_FILTER=$(cat << 'PEF' | ||||||
|  | #!/usr/bin/env python | ||||||
|  | 
 | ||||||
|  | import re | ||||||
|  | import sys | ||||||
|  | 
 | ||||||
|  | for line in sys.stdin: | ||||||
|  |     line = re.sub(r'(?<!\\)NULLBYTE', '\x00', line) | ||||||
|  |     line = re.sub(r'\\NULLBYTE', 'NULLBYTE', line) | ||||||
|  |     line = re.sub(r'([^\\])EOF', r'\1', line) | ||||||
|  |     line = re.sub(r'\\EOF', 'EOF', line) | ||||||
|  |     sys.stdout.write(line) | ||||||
|  | PEF | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | function test_environment { | ||||||
|  |     if [[ "$(echo "a" | sed 's/a/\x0/' | wc -c)" -ne 2 ]]; then | ||||||
|  |         echo "WARNING sed unable to handle null bytes, using Python (slow)." | ||||||
|  |         if ! which python >/dev/null; then | ||||||
|  |             echo "ERROR Python not found. Aborting." | ||||||
|  |             exit 2 | ||||||
|  |         fi | ||||||
|  |         USE_PYTHON=1 | ||||||
|  |     fi | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | #------------------------------------------------------------------------------ | ||||||
| 
 | 
 | ||||||
| function usage { | function usage { | ||||||
|     bname=$(basename "$0") |     bname=$(basename "$0") | ||||||
|  | @ -23,6 +87,7 @@ Usage:   $bname [-C <DIR>] -c -f <ARCHIVE> <FILE...> (create archive) | ||||||
| 
 | 
 | ||||||
| Options: | Options: | ||||||
|          -C <DIR>                                    (change directory) |          -C <DIR>                                    (change directory) | ||||||
|  |          -v                                          (verbose) | ||||||
| 
 | 
 | ||||||
| Example: Change to sysfs directory, create ttar file from fixtures directory | Example: Change to sysfs directory, create ttar file from fixtures directory | ||||||
|          $bname -C sysfs -c -f sysfs/fixtures.ttar fixtures/ |          $bname -C sysfs -c -f sysfs/fixtures.ttar fixtures/ | ||||||
|  | @ -45,6 +110,8 @@ function set_cmd { | ||||||
|     CMD=$1 |     CMD=$1 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | unset VERBOSE | ||||||
|  | 
 | ||||||
| while getopts :cf:htxvC: opt; do | while getopts :cf:htxvC: opt; do | ||||||
|     case $opt in |     case $opt in | ||||||
|         c) |         c) | ||||||
|  | @ -142,8 +209,37 @@ function extract { | ||||||
|     fi |     fi | ||||||
|     while IFS= read -r line; do |     while IFS= read -r line; do | ||||||
|         line_no=$(( line_no + 1 )) |         line_no=$(( line_no + 1 )) | ||||||
|  |         local eof_without_newline | ||||||
|         if [ "$size" -gt 0 ]; then |         if [ "$size" -gt 0 ]; then | ||||||
|             echo "$line" >> "$path" |             if [[ "$line" =~ [^\\]EOF ]]; then | ||||||
|  |                 # An EOF not preceeded by a backslash indicates that the line | ||||||
|  |                 # does not end with a newline | ||||||
|  |                 eof_without_newline=1 | ||||||
|  |             else | ||||||
|  |                 eof_without_newline=0 | ||||||
|  |             fi | ||||||
|  |             # Replace NULLBYTE with null byte if at beginning of line | ||||||
|  |             # Replace NULLBYTE with null byte unless preceeded by backslash | ||||||
|  |             # Remove one backslash in front of NULLBYTE (if any) | ||||||
|  |             # Remove EOF unless preceeded by backslash | ||||||
|  |             # Remove one backslash in front of EOF | ||||||
|  |             if [ $USE_PYTHON -eq 1 ]; then | ||||||
|  |                 echo -n "$line" | python -c "$PYTHON_EXTRACT_FILTER" >> "$path" | ||||||
|  |             else | ||||||
|  |                 # The repeated pattern makes up for sed's lack of negative | ||||||
|  |                 # lookbehind assertions (for consecutive null bytes). | ||||||
|  |                 echo -n "$line" | \ | ||||||
|  |                     sed -e 's/^NULLBYTE/\x0/g; | ||||||
|  |                             s/\([^\\]\)NULLBYTE/\1\x0/g; | ||||||
|  |                             s/\([^\\]\)NULLBYTE/\1\x0/g; | ||||||
|  |                             s/\\NULLBYTE/NULLBYTE/g; | ||||||
|  |                             s/\([^\\]\)EOF/\1/g; | ||||||
|  |                             s/\\EOF/EOF/g; | ||||||
|  |                     ' >> "$path" | ||||||
|  |             fi | ||||||
|  |             if [[ "$eof_without_newline" -eq 0 ]]; then | ||||||
|  |                 echo >> "$path" | ||||||
|  |             fi | ||||||
|             size=$(( size - 1 )) |             size=$(( size - 1 )) | ||||||
|             continue |             continue | ||||||
|         fi |         fi | ||||||
|  | @ -187,11 +283,14 @@ function get_mode { | ||||||
|     local mfile=$1 |     local mfile=$1 | ||||||
|     if [ -z "${STAT_OPTION:-}" ]; then |     if [ -z "${STAT_OPTION:-}" ]; then | ||||||
|         if stat -c '%a' "$mfile" >/dev/null 2>&1; then |         if stat -c '%a' "$mfile" >/dev/null 2>&1; then | ||||||
|  |             # GNU stat | ||||||
|             STAT_OPTION='-c' |             STAT_OPTION='-c' | ||||||
|             STAT_FORMAT='%a' |             STAT_FORMAT='%a' | ||||||
|         else |         else | ||||||
|  |             # BSD stat | ||||||
|             STAT_OPTION='-f' |             STAT_OPTION='-f' | ||||||
|             STAT_FORMAT='%A' |             # Octal output, user/group/other (omit file type, sticky bit) | ||||||
|  |             STAT_FORMAT='%OLp' | ||||||
|         fi |         fi | ||||||
|     fi |     fi | ||||||
|     stat "${STAT_OPTION}" "${STAT_FORMAT}" "$mfile" |     stat "${STAT_OPTION}" "${STAT_FORMAT}" "$mfile" | ||||||
|  | @ -200,6 +299,7 @@ function get_mode { | ||||||
| function _create { | function _create { | ||||||
|     shopt -s nullglob |     shopt -s nullglob | ||||||
|     local mode |     local mode | ||||||
|  |     local eof_without_newline | ||||||
|     while (( "$#" )); do |     while (( "$#" )); do | ||||||
|         file=$1 |         file=$1 | ||||||
|         if [ -L "$file" ]; then |         if [ -L "$file" ]; then | ||||||
|  | @ -223,8 +323,30 @@ function _create { | ||||||
|         elif [ -f "$file" ]; then |         elif [ -f "$file" ]; then | ||||||
|             echo "Path: $file" |             echo "Path: $file" | ||||||
|             lines=$(wc -l "$file"|awk '{print $1}') |             lines=$(wc -l "$file"|awk '{print $1}') | ||||||
|  |             eof_without_newline=0 | ||||||
|  |             if [[ "$(wc -c "$file"|awk '{print $1}')" -gt 0 ]] && \ | ||||||
|  |                     [[ "$(tail -c 1 "$file" | wc -l)" -eq 0 ]]; then | ||||||
|  |                 eof_without_newline=1 | ||||||
|  |                 lines=$((lines+1)) | ||||||
|  |             fi | ||||||
|             echo "Lines: $lines" |             echo "Lines: $lines" | ||||||
|             cat "$file" |             # Add backslash in front of EOF | ||||||
|  |             # Add backslash in front of NULLBYTE | ||||||
|  |             # Replace null byte with NULLBYTE | ||||||
|  |             if [ $USE_PYTHON -eq 1 ]; then | ||||||
|  |                 < "$file" python -c "$PYTHON_CREATE_FILTER" | ||||||
|  |             else | ||||||
|  |                 < "$file" \ | ||||||
|  |                     sed 's/EOF/\\EOF/g; | ||||||
|  |                          s/NULLBYTE/\\NULLBYTE/g; | ||||||
|  |                          s/\x0/NULLBYTE/g; | ||||||
|  |                     ' | ||||||
|  |             fi | ||||||
|  |             if [[ "$eof_without_newline" -eq 1 ]]; then | ||||||
|  |                 # Finish line with EOF to indicate that the original line did | ||||||
|  |                 # not end with a linefeed | ||||||
|  |                 echo "EOF" | ||||||
|  |             fi | ||||||
|             mode=$(get_mode "$file") |             mode=$(get_mode "$file") | ||||||
|             echo "Mode: $mode" |             echo "Mode: $mode" | ||||||
|             vecho "$mode $file" |             vecho "$mode $file" | ||||||
|  | @ -249,9 +371,12 @@ function create { | ||||||
|         rm "$ttar_file" |         rm "$ttar_file" | ||||||
|     fi |     fi | ||||||
|     exec > "$ttar_file" |     exec > "$ttar_file" | ||||||
|  |     echo "# Archive created by ttar $ARG_STRING" | ||||||
|     _create "$@" |     _create "$@" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | test_environment | ||||||
|  | 
 | ||||||
| if [ -n "${CDIR:-}" ]; then | if [ -n "${CDIR:-}" ]; then | ||||||
|     if [[ "$ARCHIVE" != /* ]]; then |     if [[ "$ARCHIVE" != /* ]]; then | ||||||
|         # Relative path: preserve the archive's location before changing |         # Relative path: preserve the archive's location before changing | ||||||
|  |  | ||||||
							
								
								
									
										28
									
								
								vendor/vendor.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										28
									
								
								vendor/vendor.json
									
									
									
									
										vendored
									
									
								
							|  | @ -163,40 +163,40 @@ | ||||||
| 			"revisionTime": "2018-01-10T21:49:58Z" | 			"revisionTime": "2018-01-10T21:49:58Z" | ||||||
| 		}, | 		}, | ||||||
| 		{ | 		{ | ||||||
| 			"checksumSHA1": "Qvc01kv3ttHV2P2+J68g9ioU4Qs=", | 			"checksumSHA1": "Etvt6mgzvD7ARf4Ux03LHfgSlzU=", | ||||||
| 			"path": "github.com/prometheus/procfs", | 			"path": "github.com/prometheus/procfs", | ||||||
| 			"revision": "282c8707aa210456a825798969cc27edda34992a", | 			"revision": "54d17b57dd7d4a3aa092476596b3f8a933bde349", | ||||||
| 			"revisionTime": "2018-02-12T14:59:26Z" | 			"revisionTime": "2018-03-10T14:15:09Z" | ||||||
| 		}, | 		}, | ||||||
| 		{ | 		{ | ||||||
| 			"checksumSHA1": "O64FotgWPYIpl3m2gvTEPIem+xg=", | 			"checksumSHA1": "O64FotgWPYIpl3m2gvTEPIem+xg=", | ||||||
| 			"path": "github.com/prometheus/procfs/bcache", | 			"path": "github.com/prometheus/procfs/bcache", | ||||||
| 			"revision": "282c8707aa210456a825798969cc27edda34992a", | 			"revision": "54d17b57dd7d4a3aa092476596b3f8a933bde349", | ||||||
| 			"revisionTime": "2018-02-12T14:59:26Z" | 			"revisionTime": "2018-03-10T14:15:09Z" | ||||||
| 		}, | 		}, | ||||||
| 		{ | 		{ | ||||||
| 			"checksumSHA1": "lv9rIcjbVEGo8AT1UCUZXhXrfQc=", | 			"checksumSHA1": "lv9rIcjbVEGo8AT1UCUZXhXrfQc=", | ||||||
| 			"path": "github.com/prometheus/procfs/internal/util", | 			"path": "github.com/prometheus/procfs/internal/util", | ||||||
| 			"revision": "282c8707aa210456a825798969cc27edda34992a", | 			"revision": "54d17b57dd7d4a3aa092476596b3f8a933bde349", | ||||||
| 			"revisionTime": "2018-02-12T14:59:26Z" | 			"revisionTime": "2018-03-10T14:15:09Z" | ||||||
| 		}, | 		}, | ||||||
| 		{ | 		{ | ||||||
| 			"checksumSHA1": "EekY1iRG9JY74mDD0jsbFCWbAFs=", | 			"checksumSHA1": "EekY1iRG9JY74mDD0jsbFCWbAFs=", | ||||||
| 			"path": "github.com/prometheus/procfs/nfs", | 			"path": "github.com/prometheus/procfs/nfs", | ||||||
| 			"revision": "282c8707aa210456a825798969cc27edda34992a", | 			"revision": "54d17b57dd7d4a3aa092476596b3f8a933bde349", | ||||||
| 			"revisionTime": "2018-02-12T14:59:26Z" | 			"revisionTime": "2018-03-10T14:15:09Z" | ||||||
| 		}, | 		}, | ||||||
| 		{ | 		{ | ||||||
| 			"checksumSHA1": "wMhQkA/xQw3Q8eI+PIAjFmS94Qo=", | 			"checksumSHA1": "pqTCYsAj0qGsfJTkrAVQPUMN2qU=", | ||||||
| 			"path": "github.com/prometheus/procfs/sysfs", | 			"path": "github.com/prometheus/procfs/sysfs", | ||||||
| 			"revision": "282c8707aa210456a825798969cc27edda34992a", | 			"revision": "54d17b57dd7d4a3aa092476596b3f8a933bde349", | ||||||
| 			"revisionTime": "2018-02-12T14:59:26Z" | 			"revisionTime": "2018-03-10T14:15:09Z" | ||||||
| 		}, | 		}, | ||||||
| 		{ | 		{ | ||||||
| 			"checksumSHA1": "yItvTQLUVqm/ArLEbvEhqG0T5a0=", | 			"checksumSHA1": "yItvTQLUVqm/ArLEbvEhqG0T5a0=", | ||||||
| 			"path": "github.com/prometheus/procfs/xfs", | 			"path": "github.com/prometheus/procfs/xfs", | ||||||
| 			"revision": "282c8707aa210456a825798969cc27edda34992a", | 			"revision": "54d17b57dd7d4a3aa092476596b3f8a933bde349", | ||||||
| 			"revisionTime": "2018-02-12T14:59:26Z" | 			"revisionTime": "2018-03-10T14:15:09Z" | ||||||
| 		}, | 		}, | ||||||
| 		{ | 		{ | ||||||
| 			"checksumSHA1": "ySaT8G3I3y4MmnoXOYAAX0rC+p8=", | 			"checksumSHA1": "ySaT8G3I3y4MmnoXOYAAX0rC+p8=", | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue