aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gier <pgier@redhat.com>2019-08-27 02:26:19 -0500
committerBen Kochie <superq@gmail.com>2019-08-27 09:26:19 +0200
commit0b7ac85acb7d3497c57d6971a31a06ffe45547ba (patch)
tree3451db1fd77d68551acdd0a65d8e96213140f267
parent154d59dee72b894f7245d8d78c9344d1211d521f (diff)
downloadprometheus_node_collector-0b7ac85acb7d3497c57d6971a31a06ffe45547ba.tar.bz2
prometheus_node_collector-0b7ac85acb7d3497c57d6971a31a06ffe45547ba.tar.xz
prometheus_node_collector-0b7ac85acb7d3497c57d6971a31a06ffe45547ba.zip
update procfs to v0.0.4 (#1457)
Signed-off-by: Paul Gier <pgier@redhat.com>
-rw-r--r--go.mod2
-rw-r--r--go.sum4
-rw-r--r--vendor/github.com/prometheus/procfs/fixtures.ttar1022
-rw-r--r--vendor/github.com/prometheus/procfs/sysfs/net_class.go163
-rw-r--r--vendor/github.com/prometheus/procfs/vm.go174
-rw-r--r--vendor/github.com/prometheus/procfs/xfs/parse.go200
-rw-r--r--vendor/github.com/prometheus/procfs/xfs/xfs.go121
-rw-r--r--vendor/modules.txt2
8 files changed, 1514 insertions, 174 deletions
diff --git a/go.mod b/go.mod
index bea0ae3..a9ad1d3 100644
--- a/go.mod
+++ b/go.mod
@@ -15,7 +15,7 @@ require (
15 github.com/prometheus/client_golang v1.0.0 15 github.com/prometheus/client_golang v1.0.0
16 github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90 16 github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90
17 github.com/prometheus/common v0.4.1 17 github.com/prometheus/common v0.4.1
18 github.com/prometheus/procfs v0.0.4-0.20190731153504-5da962fa40f1 18 github.com/prometheus/procfs v0.0.4
19 github.com/siebenmann/go-kstat v0.0.0-20160321171754-d34789b79745 19 github.com/siebenmann/go-kstat v0.0.0-20160321171754-d34789b79745
20 github.com/sirupsen/logrus v1.4.2 // indirect 20 github.com/sirupsen/logrus v1.4.2 // indirect
21 github.com/soundcloud/go-runit v0.0.0-20150630195641-06ad41a06c4a 21 github.com/soundcloud/go-runit v0.0.0-20150630195641-06ad41a06c4a
diff --git a/go.sum b/go.sum
index 3189742..9a5f762 100644
--- a/go.sum
+++ b/go.sum
@@ -68,8 +68,8 @@ github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y8
68github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= 68github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
69github.com/prometheus/procfs v0.0.2 h1:6LJUbpNm42llc4HRCuvApCSWB/WfhuNo9K98Q9sNGfs= 69github.com/prometheus/procfs v0.0.2 h1:6LJUbpNm42llc4HRCuvApCSWB/WfhuNo9K98Q9sNGfs=
70github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= 70github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
71github.com/prometheus/procfs v0.0.4-0.20190731153504-5da962fa40f1 h1:uqK/YnaVFq1uofHlzj+IR4HhCYA/nbrvJ431l7cm7Vs= 71github.com/prometheus/procfs v0.0.4 h1:w8DjqFMJDjuVwdZBQoOozr4MVWOnwF7RcL/7uxBjY78=
72github.com/prometheus/procfs v0.0.4-0.20190731153504-5da962fa40f1/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= 72github.com/prometheus/procfs v0.0.4/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ=
73github.com/siebenmann/go-kstat v0.0.0-20160321171754-d34789b79745 h1:IuH7WumZNax0D+rEqmy2TyhKCzrtMGqbZO0b8rO00JA= 73github.com/siebenmann/go-kstat v0.0.0-20160321171754-d34789b79745 h1:IuH7WumZNax0D+rEqmy2TyhKCzrtMGqbZO0b8rO00JA=
74github.com/siebenmann/go-kstat v0.0.0-20160321171754-d34789b79745/go.mod h1:G81aIFAMS9ECrwBYR9YxhlPjWgrItd+Kje78O6+uqm8= 74github.com/siebenmann/go-kstat v0.0.0-20160321171754-d34789b79745/go.mod h1:G81aIFAMS9ECrwBYR9YxhlPjWgrItd+Kje78O6+uqm8=
75github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= 75github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
diff --git a/vendor/github.com/prometheus/procfs/fixtures.ttar b/vendor/github.com/prometheus/procfs/fixtures.ttar
index 75dd29d..8591c27 100644
--- a/vendor/github.com/prometheus/procfs/fixtures.ttar
+++ b/vendor/github.com/prometheus/procfs/fixtures.ttar
@@ -333,6 +333,981 @@ Node 0, zone DMA32 759 572 791 475 194 45 12 0
333Node 0, zone Normal 4381 1093 185 1530 567 102 4 0 0 0 0 333Node 0, zone Normal 4381 1093 185 1530 567 102 4 0 0 0 0
334Mode: 644 334Mode: 644
335# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 335# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
336Path: fixtures/proc/crypto
337Lines: 971
338name : ccm(aes)
339driver : ccm_base(ctr(aes-aesni),cbcmac(aes-aesni))
340module : ccm
341priority : 300
342refcnt : 4
343selftest : passed
344internal : no
345type : aead
346async : no
347blocksize : 1
348ivsize : 16
349maxauthsize : 16
350geniv : <none>
351
352name : cbcmac(aes)
353driver : cbcmac(aes-aesni)
354module : ccm
355priority : 300
356refcnt : 7
357selftest : passed
358internal : no
359type : shash
360blocksize : 1
361digestsize : 16
362
363name : ecdh
364driver : ecdh-generic
365module : ecdh_generic
366priority : 100
367refcnt : 1
368selftest : passed
369internal : no
370type : kpp
371
372name : ecb(arc4)
373driver : ecb(arc4)-generic
374module : arc4
375priority : 100
376refcnt : 1
377selftest : passed
378internal : no
379type : skcipher
380async : no
381blocksize : 1
382min keysize : 1
383max keysize : 256
384ivsize : 0
385chunksize : 1
386walksize : 1
387
388name : arc4
389driver : arc4-generic
390module : arc4
391priority : 0
392refcnt : 3
393selftest : passed
394internal : no
395type : cipher
396blocksize : 1
397min keysize : 1
398max keysize : 256
399
400name : crct10dif
401driver : crct10dif-pclmul
402module : crct10dif_pclmul
403priority : 200
404refcnt : 2
405selftest : passed
406internal : no
407type : shash
408blocksize : 1
409digestsize : 2
410
411name : crc32
412driver : crc32-pclmul
413module : crc32_pclmul
414priority : 200
415refcnt : 1
416selftest : passed
417internal : no
418type : shash
419blocksize : 1
420digestsize : 4
421
422name : __ghash
423driver : cryptd(__ghash-pclmulqdqni)
424module : kernel
425priority : 50
426refcnt : 1
427selftest : passed
428internal : yes
429type : ahash
430async : yes
431blocksize : 16
432digestsize : 16
433
434name : ghash
435driver : ghash-clmulni
436module : ghash_clmulni_intel
437priority : 400
438refcnt : 1
439selftest : passed
440internal : no
441type : ahash
442async : yes
443blocksize : 16
444digestsize : 16
445
446name : __ghash
447driver : __ghash-pclmulqdqni
448module : ghash_clmulni_intel
449priority : 0
450refcnt : 1
451selftest : passed
452internal : yes
453type : shash
454blocksize : 16
455digestsize : 16
456
457name : crc32c
458driver : crc32c-intel
459module : crc32c_intel
460priority : 200
461refcnt : 5
462selftest : passed
463internal : no
464type : shash
465blocksize : 1
466digestsize : 4
467
468name : cbc(aes)
469driver : cbc(aes-aesni)
470module : kernel
471priority : 300
472refcnt : 1
473selftest : passed
474internal : no
475type : skcipher
476async : no
477blocksize : 16
478min keysize : 16
479max keysize : 32
480ivsize : 16
481chunksize : 16
482walksize : 16
483
484name : ctr(aes)
485driver : ctr(aes-aesni)
486module : kernel
487priority : 300
488refcnt : 5
489selftest : passed
490internal : no
491type : skcipher
492async : no
493blocksize : 1
494min keysize : 16
495max keysize : 32
496ivsize : 16
497chunksize : 16
498walksize : 16
499
500name : pkcs1pad(rsa,sha256)
501driver : pkcs1pad(rsa-generic,sha256)
502module : kernel
503priority : 100
504refcnt : 1
505selftest : passed
506internal : no
507type : akcipher
508
509name : __xts(aes)
510driver : cryptd(__xts-aes-aesni)
511module : kernel
512priority : 451
513refcnt : 1
514selftest : passed
515internal : yes
516type : skcipher
517async : yes
518blocksize : 16
519min keysize : 32
520max keysize : 64
521ivsize : 16
522chunksize : 16
523walksize : 16
524
525name : xts(aes)
526driver : xts-aes-aesni
527module : kernel
528priority : 401
529refcnt : 1
530selftest : passed
531internal : no
532type : skcipher
533async : yes
534blocksize : 16
535min keysize : 32
536max keysize : 64
537ivsize : 16
538chunksize : 16
539walksize : 16
540
541name : __ctr(aes)
542driver : cryptd(__ctr-aes-aesni)
543module : kernel
544priority : 450
545refcnt : 1
546selftest : passed
547internal : yes
548type : skcipher
549async : yes
550blocksize : 1
551min keysize : 16
552max keysize : 32
553ivsize : 16
554chunksize : 16
555walksize : 16
556
557name : ctr(aes)
558driver : ctr-aes-aesni
559module : kernel
560priority : 400
561refcnt : 1
562selftest : passed
563internal : no
564type : skcipher
565async : yes
566blocksize : 1
567min keysize : 16
568max keysize : 32
569ivsize : 16
570chunksize : 16
571walksize : 16
572
573name : __cbc(aes)
574driver : cryptd(__cbc-aes-aesni)
575module : kernel
576priority : 450
577refcnt : 1
578selftest : passed
579internal : yes
580type : skcipher
581async : yes
582blocksize : 16
583min keysize : 16
584max keysize : 32
585ivsize : 16
586chunksize : 16
587walksize : 16
588
589name : cbc(aes)
590driver : cbc-aes-aesni
591module : kernel
592priority : 400
593refcnt : 1
594selftest : passed
595internal : no
596type : skcipher
597async : yes
598blocksize : 16
599min keysize : 16
600max keysize : 32
601ivsize : 16
602chunksize : 16
603walksize : 16
604
605name : __ecb(aes)
606driver : cryptd(__ecb-aes-aesni)
607module : kernel
608priority : 450
609refcnt : 1
610selftest : passed
611internal : yes
612type : skcipher
613async : yes
614blocksize : 16
615min keysize : 16
616max keysize : 32
617ivsize : 0
618chunksize : 16
619walksize : 16
620
621name : ecb(aes)
622driver : ecb-aes-aesni
623module : kernel
624priority : 400
625refcnt : 1
626selftest : passed
627internal : no
628type : skcipher
629async : yes
630blocksize : 16
631min keysize : 16
632max keysize : 32
633ivsize : 0
634chunksize : 16
635walksize : 16
636
637name : __generic-gcm-aes-aesni
638driver : cryptd(__driver-generic-gcm-aes-aesni)
639module : kernel
640priority : 50
641refcnt : 1
642selftest : passed
643internal : yes
644type : aead
645async : yes
646blocksize : 1
647ivsize : 12
648maxauthsize : 16
649geniv : <none>
650
651name : gcm(aes)
652driver : generic-gcm-aesni
653module : kernel
654priority : 400
655refcnt : 1
656selftest : passed
657internal : no
658type : aead
659async : yes
660blocksize : 1
661ivsize : 12
662maxauthsize : 16
663geniv : <none>
664
665name : __generic-gcm-aes-aesni
666driver : __driver-generic-gcm-aes-aesni
667module : kernel
668priority : 0
669refcnt : 1
670selftest : passed
671internal : yes
672type : aead
673async : no
674blocksize : 1
675ivsize : 12
676maxauthsize : 16
677geniv : <none>
678
679name : __gcm-aes-aesni
680driver : cryptd(__driver-gcm-aes-aesni)
681module : kernel
682priority : 50
683refcnt : 1
684selftest : passed
685internal : yes
686type : aead
687async : yes
688blocksize : 1
689ivsize : 8
690maxauthsize : 16
691geniv : <none>
692
693name : rfc4106(gcm(aes))
694driver : rfc4106-gcm-aesni
695module : kernel
696priority : 400
697refcnt : 1
698selftest : passed
699internal : no
700type : aead
701async : yes
702blocksize : 1
703ivsize : 8
704maxauthsize : 16
705geniv : <none>
706
707name : __gcm-aes-aesni
708driver : __driver-gcm-aes-aesni
709module : kernel
710priority : 0
711refcnt : 1
712selftest : passed
713internal : yes
714type : aead
715async : no
716blocksize : 1
717ivsize : 8
718maxauthsize : 16
719geniv : <none>
720
721name : __xts(aes)
722driver : __xts-aes-aesni
723module : kernel
724priority : 401
725refcnt : 1
726selftest : passed
727internal : yes
728type : skcipher
729async : no
730blocksize : 16
731min keysize : 32
732max keysize : 64
733ivsize : 16
734chunksize : 16
735walksize : 16
736
737name : __ctr(aes)
738driver : __ctr-aes-aesni
739module : kernel
740priority : 400
741refcnt : 1
742selftest : passed
743internal : yes
744type : skcipher
745async : no
746blocksize : 1
747min keysize : 16
748max keysize : 32
749ivsize : 16
750chunksize : 16
751walksize : 16
752
753name : __cbc(aes)
754driver : __cbc-aes-aesni
755module : kernel
756priority : 400
757refcnt : 1
758selftest : passed
759internal : yes
760type : skcipher
761async : no
762blocksize : 16
763min keysize : 16
764max keysize : 32
765ivsize : 16
766chunksize : 16
767walksize : 16
768
769name : __ecb(aes)
770driver : __ecb-aes-aesni
771module : kernel
772priority : 400
773refcnt : 1
774selftest : passed
775internal : yes
776type : skcipher
777async : no
778blocksize : 16
779min keysize : 16
780max keysize : 32
781ivsize : 0
782chunksize : 16
783walksize : 16
784
785name : __aes
786driver : __aes-aesni
787module : kernel
788priority : 300
789refcnt : 1
790selftest : passed
791internal : yes
792type : cipher
793blocksize : 16
794min keysize : 16
795max keysize : 32
796
797name : aes
798driver : aes-aesni
799module : kernel
800priority : 300
801refcnt : 8
802selftest : passed
803internal : no
804type : cipher
805blocksize : 16
806min keysize : 16
807max keysize : 32
808
809name : hmac(sha1)
810driver : hmac(sha1-generic)
811module : kernel
812priority : 100
813refcnt : 9
814selftest : passed
815internal : no
816type : shash
817blocksize : 64
818digestsize : 20
819
820name : ghash
821driver : ghash-generic
822module : kernel
823priority : 100
824refcnt : 3
825selftest : passed
826internal : no
827type : shash
828blocksize : 16
829digestsize : 16
830
831name : jitterentropy_rng
832driver : jitterentropy_rng
833module : kernel
834priority : 100
835refcnt : 1
836selftest : passed
837internal : no
838type : rng
839seedsize : 0
840
841name : stdrng
842driver : drbg_nopr_hmac_sha256
843module : kernel
844priority : 221
845refcnt : 2
846selftest : passed
847internal : no
848type : rng
849seedsize : 0
850
851name : stdrng
852driver : drbg_nopr_hmac_sha512
853module : kernel
854priority : 220
855refcnt : 1
856selftest : passed
857internal : no
858type : rng
859seedsize : 0
860
861name : stdrng
862driver : drbg_nopr_hmac_sha384
863module : kernel
864priority : 219
865refcnt : 1
866selftest : passed
867internal : no
868type : rng
869seedsize : 0
870
871name : stdrng
872driver : drbg_nopr_hmac_sha1
873module : kernel
874priority : 218
875refcnt : 1
876selftest : passed
877internal : no
878type : rng
879seedsize : 0
880
881name : stdrng
882driver : drbg_nopr_sha256
883module : kernel
884priority : 217
885refcnt : 1
886selftest : passed
887internal : no
888type : rng
889seedsize : 0
890
891name : stdrng
892driver : drbg_nopr_sha512
893module : kernel
894priority : 216
895refcnt : 1
896selftest : passed
897internal : no
898type : rng
899seedsize : 0
900
901name : stdrng
902driver : drbg_nopr_sha384
903module : kernel
904priority : 215
905refcnt : 1
906selftest : passed
907internal : no
908type : rng
909seedsize : 0
910
911name : stdrng
912driver : drbg_nopr_sha1
913module : kernel
914priority : 214
915refcnt : 1
916selftest : passed
917internal : no
918type : rng
919seedsize : 0
920
921name : stdrng
922driver : drbg_nopr_ctr_aes256
923module : kernel
924priority : 213
925refcnt : 1
926selftest : passed
927internal : no
928type : rng
929seedsize : 0
930
931name : stdrng
932driver : drbg_nopr_ctr_aes192
933module : kernel
934priority : 212
935refcnt : 1
936selftest : passed
937internal : no
938type : rng
939seedsize : 0
940
941name : stdrng
942driver : drbg_nopr_ctr_aes128
943module : kernel
944priority : 211
945refcnt : 1
946selftest : passed
947internal : no
948type : rng
949seedsize : 0
950
951name : hmac(sha256)
952driver : hmac(sha256-generic)
953module : kernel
954priority : 100
955refcnt : 10
956selftest : passed
957internal : no
958type : shash
959blocksize : 64
960digestsize : 32
961
962name : stdrng
963driver : drbg_pr_hmac_sha256
964module : kernel
965priority : 210
966refcnt : 1
967selftest : passed
968internal : no
969type : rng
970seedsize : 0
971
972name : stdrng
973driver : drbg_pr_hmac_sha512
974module : kernel
975priority : 209
976refcnt : 1
977selftest : passed
978internal : no
979type : rng
980seedsize : 0
981
982name : stdrng
983driver : drbg_pr_hmac_sha384
984module : kernel
985priority : 208
986refcnt : 1
987selftest : passed
988internal : no
989type : rng
990seedsize : 0
991
992name : stdrng
993driver : drbg_pr_hmac_sha1
994module : kernel
995priority : 207
996refcnt : 1
997selftest : passed
998internal : no
999type : rng
1000seedsize : 0
1001
1002name : stdrng
1003driver : drbg_pr_sha256
1004module : kernel
1005priority : 206
1006refcnt : 1
1007selftest : passed
1008internal : no
1009type : rng
1010seedsize : 0
1011
1012name : stdrng
1013driver : drbg_pr_sha512
1014module : kernel
1015priority : 205
1016refcnt : 1
1017selftest : passed
1018internal : no
1019type : rng
1020seedsize : 0
1021
1022name : stdrng
1023driver : drbg_pr_sha384
1024module : kernel
1025priority : 204
1026refcnt : 1
1027selftest : passed
1028internal : no
1029type : rng
1030seedsize : 0
1031
1032name : stdrng
1033driver : drbg_pr_sha1
1034module : kernel
1035priority : 203
1036refcnt : 1
1037selftest : passed
1038internal : no
1039type : rng
1040seedsize : 0
1041
1042name : stdrng
1043driver : drbg_pr_ctr_aes256
1044module : kernel
1045priority : 202
1046refcnt : 1
1047selftest : passed
1048internal : no
1049type : rng
1050seedsize : 0
1051
1052name : stdrng
1053driver : drbg_pr_ctr_aes192
1054module : kernel
1055priority : 201
1056refcnt : 1
1057selftest : passed
1058internal : no
1059type : rng
1060seedsize : 0
1061
1062name : stdrng
1063driver : drbg_pr_ctr_aes128
1064module : kernel
1065priority : 200
1066refcnt : 1
1067selftest : passed
1068internal : no
1069type : rng
1070seedsize : 0
1071
1072name : 842
1073driver : 842-scomp
1074module : kernel
1075priority : 100
1076refcnt : 1
1077selftest : passed
1078internal : no
1079type : scomp
1080
1081name : 842
1082driver : 842-generic
1083module : kernel
1084priority : 100
1085refcnt : 1
1086selftest : passed
1087internal : no
1088type : compression
1089
1090name : lzo-rle
1091driver : lzo-rle-scomp
1092module : kernel
1093priority : 0
1094refcnt : 1
1095selftest : passed
1096internal : no
1097type : scomp
1098
1099name : lzo-rle
1100driver : lzo-rle-generic
1101module : kernel
1102priority : 0
1103refcnt : 1
1104selftest : passed
1105internal : no
1106type : compression
1107
1108name : lzo
1109driver : lzo-scomp
1110module : kernel
1111priority : 0
1112refcnt : 1
1113selftest : passed
1114internal : no
1115type : scomp
1116
1117name : lzo
1118driver : lzo-generic
1119module : kernel
1120priority : 0
1121refcnt : 9
1122selftest : passed
1123internal : no
1124type : compression
1125
1126name : crct10dif
1127driver : crct10dif-generic
1128module : kernel
1129priority : 100
1130refcnt : 1
1131selftest : passed
1132internal : no
1133type : shash
1134blocksize : 1
1135digestsize : 2
1136
1137name : crc32c
1138driver : crc32c-generic
1139module : kernel
1140priority : 100
1141refcnt : 1
1142selftest : passed
1143internal : no
1144type : shash
1145blocksize : 1
1146digestsize : 4
1147
1148name : zlib-deflate
1149driver : zlib-deflate-scomp
1150module : kernel
1151priority : 0
1152refcnt : 1
1153selftest : passed
1154internal : no
1155type : scomp
1156
1157name : deflate
1158driver : deflate-scomp
1159module : kernel
1160priority : 0
1161refcnt : 1
1162selftest : passed
1163internal : no
1164type : scomp
1165
1166name : deflate
1167driver : deflate-generic
1168module : kernel
1169priority : 0
1170refcnt : 1
1171selftest : passed
1172internal : no
1173type : compression
1174
1175name : aes
1176driver : aes-generic
1177module : kernel
1178priority : 100
1179refcnt : 1
1180selftest : passed
1181internal : no
1182type : cipher
1183blocksize : 16
1184min keysize : 16
1185max keysize : 32
1186
1187name : sha224
1188driver : sha224-generic
1189module : kernel
1190priority : 100
1191refcnt : 1
1192selftest : passed
1193internal : no
1194type : shash
1195blocksize : 64
1196digestsize : 28
1197
1198name : sha256
1199driver : sha256-generic
1200module : kernel
1201priority : 100
1202refcnt : 11
1203selftest : passed
1204internal : no
1205type : shash
1206blocksize : 64
1207digestsize : 32
1208
1209name : sha1
1210driver : sha1-generic
1211module : kernel
1212priority : 100
1213refcnt : 11
1214selftest : passed
1215internal : no
1216type : shash
1217blocksize : 64
1218digestsize : 20
1219
1220name : md5
1221driver : md5-generic
1222module : kernel
1223priority : 0
1224refcnt : 1
1225selftest : passed
1226internal : no
1227type : shash
1228blocksize : 64
1229digestsize : 16
1230
1231name : ecb(cipher_null)
1232driver : ecb-cipher_null
1233module : kernel
1234priority : 100
1235refcnt : 1
1236selftest : passed
1237internal : no
1238type : skcipher
1239async : no
1240blocksize : 1
1241min keysize : 0
1242max keysize : 0
1243ivsize : 0
1244chunksize : 1
1245walksize : 1
1246
1247name : digest_null
1248driver : digest_null-generic
1249module : kernel
1250priority : 0
1251refcnt : 1
1252selftest : passed
1253internal : no
1254type : shash
1255blocksize : 1
1256digestsize : 0
1257
1258name : compress_null
1259driver : compress_null-generic
1260module : kernel
1261priority : 0
1262refcnt : 1
1263selftest : passed
1264internal : no
1265type : compression
1266
1267name : cipher_null
1268driver : cipher_null-generic
1269module : kernel
1270priority : 0
1271refcnt : 1
1272selftest : passed
1273internal : no
1274type : cipher
1275blocksize : 1
1276min keysize : 0
1277max keysize : 0
1278
1279name : rsa
1280driver : rsa-generic
1281module : kernel
1282priority : 100
1283refcnt : 1
1284selftest : passed
1285internal : no
1286type : akcipher
1287
1288name : dh
1289driver : dh-generic
1290module : kernel
1291priority : 100
1292refcnt : 1
1293selftest : passed
1294internal : no
1295type : kpp
1296
1297name : aes
1298driver : aes-asm
1299module : kernel
1300priority : 200
1301refcnt : 1
1302selftest : passed
1303internal : no
1304type : cipher
1305blocksize : 16
1306min keysize : 16
1307max keysize : 32
1308
1309Mode: 444
1310# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
336Path: fixtures/proc/diskstats 1311Path: fixtures/proc/diskstats
337Lines: 49 1312Lines: 49
338 1 0 ram0 0 0 0 0 0 0 0 0 0 0 0 1313 1 0 ram0 0 0 0 0 0 0 0 0 0 0 0
@@ -482,6 +1457,12 @@ Mode: 644
482Directory: fixtures/proc/net 1457Directory: fixtures/proc/net
483Mode: 755 1458Mode: 755
484# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1459# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1460Path: fixtures/proc/net/arp
1461Lines: 2
1462IP address HW type Flags HW address Mask Device
1463192.168.224.1 0x1 0x2 00:50:56:c0:00:08 * ens33
1464Mode: 664
1465# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
485Path: fixtures/proc/net/dev 1466Path: fixtures/proc/net/dev
486Lines: 6 1467Lines: 6
487Inter-| Receive | Transmit 1468Inter-| Receive | Transmit
@@ -554,6 +1535,11 @@ proc4 2 2 10853
554proc4ops 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 1535proc4ops 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
555Mode: 644 1536Mode: 644
556# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1537# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1538Path: fixtures/proc/net/softnet_stat
1539Lines: 1
154000015c73 00020e76 F0000769 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1541Mode: 644
1542# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
557Path: fixtures/proc/net/unix 1543Path: fixtures/proc/net/unix
558Lines: 6 1544Lines: 6
559Num RefCount Protocol Flags Type St Inode Path 1545Num RefCount Protocol Flags Type St Inode Path
@@ -1701,6 +2687,42 @@ Mode: 444
1701Directory: fixtures/sys/class/thermal 2687Directory: fixtures/sys/class/thermal
1702Mode: 775 2688Mode: 775
1703# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2689# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2690Directory: fixtures/sys/class/thermal/cooling_device0
2691Mode: 755
2692# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2693Path: fixtures/sys/class/thermal/cooling_device0/cur_state
2694Lines: 1
26950
2696Mode: 644
2697# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2698Path: fixtures/sys/class/thermal/cooling_device0/max_state
2699Lines: 1
270050
2701Mode: 644
2702# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2703Path: fixtures/sys/class/thermal/cooling_device0/type
2704Lines: 1
2705Processor
2706Mode: 644
2707# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2708Directory: fixtures/sys/class/thermal/cooling_device1
2709Mode: 755
2710# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2711Path: fixtures/sys/class/thermal/cooling_device1/cur_state
2712Lines: 1
2713-1
2714Mode: 644
2715# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2716Path: fixtures/sys/class/thermal/cooling_device1/max_state
2717Lines: 1
271827
2719Mode: 644
2720# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2721Path: fixtures/sys/class/thermal/cooling_device1/type
2722Lines: 1
2723intel_powerclamp
2724Mode: 644
2725# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1704Directory: fixtures/sys/class/thermal/thermal_zone0 2726Directory: fixtures/sys/class/thermal/thermal_zone0
1705Mode: 775 2727Mode: 775
1706# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2728# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
diff --git a/vendor/github.com/prometheus/procfs/sysfs/net_class.go b/vendor/github.com/prometheus/procfs/sysfs/net_class.go
index 909f7fb..d5c0d6a 100644
--- a/vendor/github.com/prometheus/procfs/sysfs/net_class.go
+++ b/vendor/github.com/prometheus/procfs/sysfs/net_class.go
@@ -18,11 +18,7 @@ package sysfs
18import ( 18import (
19 "fmt" 19 "fmt"
20 "io/ioutil" 20 "io/ioutil"
21 "os"
22 "path/filepath" 21 "path/filepath"
23 "reflect"
24 "strconv"
25 "strings"
26 22
27 "github.com/prometheus/procfs/internal/util" 23 "github.com/prometheus/procfs/internal/util"
28) 24)
@@ -33,32 +29,32 @@ const netclassPath = "class/net"
33// for single interface (iface). 29// for single interface (iface).
34type NetClassIface struct { 30type NetClassIface struct {
35 Name string // Interface name 31 Name string // Interface name
36 AddrAssignType *int64 `fileName:"addr_assign_type"` // /sys/class/net/<iface>/addr_assign_type 32 AddrAssignType *int64 // /sys/class/net/<iface>/addr_assign_type
37 AddrLen *int64 `fileName:"addr_len"` // /sys/class/net/<iface>/addr_len 33 AddrLen *int64 // /sys/class/net/<iface>/addr_len
38 Address string `fileName:"address"` // /sys/class/net/<iface>/address 34 Address string // /sys/class/net/<iface>/address
39 Broadcast string `fileName:"broadcast"` // /sys/class/net/<iface>/broadcast 35 Broadcast string // /sys/class/net/<iface>/broadcast
40 Carrier *int64 `fileName:"carrier"` // /sys/class/net/<iface>/carrier 36 Carrier *int64 // /sys/class/net/<iface>/carrier
41 CarrierChanges *int64 `fileName:"carrier_changes"` // /sys/class/net/<iface>/carrier_changes 37 CarrierChanges *int64 // /sys/class/net/<iface>/carrier_changes
42 CarrierUpCount *int64 `fileName:"carrier_up_count"` // /sys/class/net/<iface>/carrier_up_count 38 CarrierUpCount *int64 // /sys/class/net/<iface>/carrier_up_count
43 CarrierDownCount *int64 `fileName:"carrier_down_count"` // /sys/class/net/<iface>/carrier_down_count 39 CarrierDownCount *int64 // /sys/class/net/<iface>/carrier_down_count
44 DevID *int64 `fileName:"dev_id"` // /sys/class/net/<iface>/dev_id 40 DevID *int64 // /sys/class/net/<iface>/dev_id
45 Dormant *int64 `fileName:"dormant"` // /sys/class/net/<iface>/dormant 41 Dormant *int64 // /sys/class/net/<iface>/dormant
46 Duplex string `fileName:"duplex"` // /sys/class/net/<iface>/duplex 42 Duplex string // /sys/class/net/<iface>/duplex
47 Flags *int64 `fileName:"flags"` // /sys/class/net/<iface>/flags 43 Flags *int64 // /sys/class/net/<iface>/flags
48 IfAlias string `fileName:"ifalias"` // /sys/class/net/<iface>/ifalias 44 IfAlias string // /sys/class/net/<iface>/ifalias
49 IfIndex *int64 `fileName:"ifindex"` // /sys/class/net/<iface>/ifindex 45 IfIndex *int64 // /sys/class/net/<iface>/ifindex
50 IfLink *int64 `fileName:"iflink"` // /sys/class/net/<iface>/iflink 46 IfLink *int64 // /sys/class/net/<iface>/iflink
51 LinkMode *int64 `fileName:"link_mode"` // /sys/class/net/<iface>/link_mode 47 LinkMode *int64 // /sys/class/net/<iface>/link_mode
52 MTU *int64 `fileName:"mtu"` // /sys/class/net/<iface>/mtu 48 MTU *int64 // /sys/class/net/<iface>/mtu
53 NameAssignType *int64 `fileName:"name_assign_type"` // /sys/class/net/<iface>/name_assign_type 49 NameAssignType *int64 // /sys/class/net/<iface>/name_assign_type
54 NetDevGroup *int64 `fileName:"netdev_group"` // /sys/class/net/<iface>/netdev_group 50 NetDevGroup *int64 // /sys/class/net/<iface>/netdev_group
55 OperState string `fileName:"operstate"` // /sys/class/net/<iface>/operstate 51 OperState string // /sys/class/net/<iface>/operstate
56 PhysPortID string `fileName:"phys_port_id"` // /sys/class/net/<iface>/phys_port_id 52 PhysPortID string // /sys/class/net/<iface>/phys_port_id
57 PhysPortName string `fileName:"phys_port_name"` // /sys/class/net/<iface>/phys_port_name 53 PhysPortName string // /sys/class/net/<iface>/phys_port_name
58 PhysSwitchID string `fileName:"phys_switch_id"` // /sys/class/net/<iface>/phys_switch_id 54 PhysSwitchID string // /sys/class/net/<iface>/phys_switch_id
59 Speed *int64 `fileName:"speed"` // /sys/class/net/<iface>/speed 55 Speed *int64 // /sys/class/net/<iface>/speed
60 TxQueueLen *int64 `fileName:"tx_queue_len"` // /sys/class/net/<iface>/tx_queue_len 56 TxQueueLen *int64 // /sys/class/net/<iface>/tx_queue_len
61 Type *int64 `fileName:"type"` // /sys/class/net/<iface>/type 57 Type *int64 // /sys/class/net/<iface>/type
62} 58}
63 59
64// NetClass is collection of info for every interface (iface) in /sys/class/net. The map keys 60// NetClass is collection of info for every interface (iface) in /sys/class/net. The map keys
@@ -109,54 +105,77 @@ func (fs FS) NetClass() (NetClass, error) {
109// directory and gets their contents. 105// directory and gets their contents.
110func (nc NetClass) parseNetClassIface(devicePath string) (*NetClassIface, error) { 106func (nc NetClass) parseNetClassIface(devicePath string) (*NetClassIface, error) {
111 interfaceClass := NetClassIface{} 107 interfaceClass := NetClassIface{}
112 interfaceElem := reflect.ValueOf(&interfaceClass).Elem()
113 interfaceType := reflect.TypeOf(interfaceClass)
114 108
115 //start from 1 - skip the Name field 109 files, err := ioutil.ReadDir(devicePath)
116 for i := 1; i < interfaceElem.NumField(); i++ { 110 if err != nil {
117 fieldType := interfaceType.Field(i) 111 return nil, err
118 fieldValue := interfaceElem.Field(i) 112 }
119 113
120 if fieldType.Tag.Get("fileName") == "" { 114 for _, f := range files {
121 panic(fmt.Errorf("field %s does not have a filename tag", fieldType.Name)) 115 if f.IsDir() {
116 continue
122 } 117 }
123 118 name := filepath.Join(devicePath, f.Name())
124 value, err := util.SysReadFile(devicePath + "/" + fieldType.Tag.Get("fileName")) 119 value, err := util.SysReadFile(name)
125
126 if err != nil { 120 if err != nil {
127 if os.IsNotExist(err) || err.Error() == "operation not supported" || err.Error() == "invalid argument" { 121 return nil, fmt.Errorf("failed to read file %q: %v", name, err)
128 continue
129 }
130 return nil, fmt.Errorf("could not access file %s: %s", fieldType.Tag.Get("fileName"), err)
131 } 122 }
132 123 vp := util.NewValueParser(value)
133 switch fieldValue.Kind() { 124 switch f.Name() {
134 case reflect.String: 125 case "addr_assign_type":
135 fieldValue.SetString(value) 126 interfaceClass.AddrAssignType = vp.PInt64()
136 case reflect.Ptr: 127 case "addr_len":
137 var int64ptr *int64 128 interfaceClass.AddrLen = vp.PInt64()
138 switch fieldValue.Type() { 129 case "address":
139 case reflect.TypeOf(int64ptr): 130 interfaceClass.Address = value
140 var intValue int64 131 case "broadcast":
141 if strings.HasPrefix(value, "0x") { 132 interfaceClass.Broadcast = value
142 intValue, err = strconv.ParseInt(value[2:], 16, 64) 133 case "carrier":
143 if err != nil { 134 interfaceClass.Carrier = vp.PInt64()
144 return nil, fmt.Errorf("expected hex value for %s, got: %s", fieldType.Name, value) 135 case "carrier_changes":
145 } 136 interfaceClass.CarrierChanges = vp.PInt64()
146 } else { 137 case "carrier_up_count":
147 intValue, err = strconv.ParseInt(value, 10, 64) 138 interfaceClass.CarrierUpCount = vp.PInt64()
148 if err != nil { 139 case "carrier_down_count":
149 return nil, fmt.Errorf("expected Uint64 value for %s, got: %s", fieldType.Name, value) 140 interfaceClass.CarrierDownCount = vp.PInt64()
150 } 141 case "dev_id":
151 } 142 interfaceClass.DevID = vp.PInt64()
152 fieldValue.Set(reflect.ValueOf(&intValue)) 143 case "dormant":
153 default: 144 interfaceClass.Dormant = vp.PInt64()
154 return nil, fmt.Errorf("unhandled pointer type %q", fieldValue.Type()) 145 case "duplex":
155 } 146 interfaceClass.Duplex = value
156 default: 147 case "flags":
157 return nil, fmt.Errorf("unhandled type %q", fieldValue.Kind()) 148 interfaceClass.Flags = vp.PInt64()
149 case "ifalias":
150 interfaceClass.IfAlias = value
151 case "ifindex":
152 interfaceClass.IfIndex = vp.PInt64()
153 case "iflink":
154 interfaceClass.IfLink = vp.PInt64()
155 case "link_mode":
156 interfaceClass.LinkMode = vp.PInt64()
157 case "mtu":
158 interfaceClass.MTU = vp.PInt64()
159 case "name_assign_type":
160 interfaceClass.NameAssignType = vp.PInt64()
161 case "netdev_group":
162 interfaceClass.NetDevGroup = vp.PInt64()
163 case "operstate":
164 interfaceClass.OperState = value
165 case "phys_port_id":
166 interfaceClass.PhysPortID = value
167 case "phys_port_name":
168 interfaceClass.PhysPortName = value
169 case "phys_switch_id":
170 interfaceClass.PhysSwitchID = value
171 case "speed":
172 interfaceClass.Speed = vp.PInt64()
173 case "tx_queue_len":
174 interfaceClass.TxQueueLen = vp.PInt64()
175 case "type":
176 interfaceClass.Type = vp.PInt64()
158 } 177 }
159 } 178 }
160
161 return &interfaceClass, nil 179 return &interfaceClass, nil
180
162} 181}
diff --git a/vendor/github.com/prometheus/procfs/vm.go b/vendor/github.com/prometheus/procfs/vm.go
index f22651c..cb13891 100644
--- a/vendor/github.com/prometheus/procfs/vm.go
+++ b/vendor/github.com/prometheus/procfs/vm.go
@@ -31,49 +31,49 @@ import (
31// Each file contains one line with a single numerical value, except lowmem_reserve_ratio which holds an array 31// Each file contains one line with a single numerical value, except lowmem_reserve_ratio which holds an array
32// and numa_zonelist_order (deprecated) which is a string 32// and numa_zonelist_order (deprecated) which is a string
33type VM struct { 33type VM struct {
34 AdminReserveKbytes int64 // /proc/sys/vm/admin_reserve_kbytes 34 AdminReserveKbytes *int64 // /proc/sys/vm/admin_reserve_kbytes
35 BlockDump int64 // /proc/sys/vm/block_dump 35 BlockDump *int64 // /proc/sys/vm/block_dump
36 CompactUnevictableAllowed int64 // /proc/sys/vm/compact_unevictable_allowed 36 CompactUnevictableAllowed *int64 // /proc/sys/vm/compact_unevictable_allowed
37 DirtyBackgroundBytes int64 // /proc/sys/vm/dirty_background_bytes 37 DirtyBackgroundBytes *int64 // /proc/sys/vm/dirty_background_bytes
38 DirtyBackgroundRatio int64 // /proc/sys/vm/dirty_background_ratio 38 DirtyBackgroundRatio *int64 // /proc/sys/vm/dirty_background_ratio
39 DirtyBytes int64 // /proc/sys/vm/dirty_bytes 39 DirtyBytes *int64 // /proc/sys/vm/dirty_bytes
40 DirtyExpireCentisecs int64 // /proc/sys/vm/dirty_expire_centisecs 40 DirtyExpireCentisecs *int64 // /proc/sys/vm/dirty_expire_centisecs
41 DirtyRatio int64 // /proc/sys/vm/dirty_ratio 41 DirtyRatio *int64 // /proc/sys/vm/dirty_ratio
42 DirtytimeExpireSeconds int64 // /proc/sys/vm/dirtytime_expire_seconds 42 DirtytimeExpireSeconds *int64 // /proc/sys/vm/dirtytime_expire_seconds
43 DirtyWritebackCentisecs int64 // /proc/sys/vm/dirty_writeback_centisecs 43 DirtyWritebackCentisecs *int64 // /proc/sys/vm/dirty_writeback_centisecs
44 DropCaches int64 // /proc/sys/vm/drop_caches 44 DropCaches *int64 // /proc/sys/vm/drop_caches
45 ExtfragThreshold int64 // /proc/sys/vm/extfrag_threshold 45 ExtfragThreshold *int64 // /proc/sys/vm/extfrag_threshold
46 HugetlbShmGroup int64 // /proc/sys/vm/hugetlb_shm_group 46 HugetlbShmGroup *int64 // /proc/sys/vm/hugetlb_shm_group
47 LaptopMode int64 // /proc/sys/vm/laptop_mode 47 LaptopMode *int64 // /proc/sys/vm/laptop_mode
48 LegacyVaLayout int64 // /proc/sys/vm/legacy_va_layout 48 LegacyVaLayout *int64 // /proc/sys/vm/legacy_va_layout
49 LowmemReserveRatio []int64 // /proc/sys/vm/lowmem_reserve_ratio 49 LowmemReserveRatio []*int64 // /proc/sys/vm/lowmem_reserve_ratio
50 MaxMapCount int64 // /proc/sys/vm/max_map_count 50 MaxMapCount *int64 // /proc/sys/vm/max_map_count
51 MemoryFailureEarlyKill int64 // /proc/sys/vm/memory_failure_early_kill 51 MemoryFailureEarlyKill *int64 // /proc/sys/vm/memory_failure_early_kill
52 MemoryFailureRecovery int64 // /proc/sys/vm/memory_failure_recovery 52 MemoryFailureRecovery *int64 // /proc/sys/vm/memory_failure_recovery
53 MinFreeKbytes int64 // /proc/sys/vm/min_free_kbytes 53 MinFreeKbytes *int64 // /proc/sys/vm/min_free_kbytes
54 MinSlabRatio int64 // /proc/sys/vm/min_slab_ratio 54 MinSlabRatio *int64 // /proc/sys/vm/min_slab_ratio
55 MinUnmappedRatio int64 // /proc/sys/vm/min_unmapped_ratio 55 MinUnmappedRatio *int64 // /proc/sys/vm/min_unmapped_ratio
56 MmapMinAddr int64 // /proc/sys/vm/mmap_min_addr 56 MmapMinAddr *int64 // /proc/sys/vm/mmap_min_addr
57 NrHugepages int64 // /proc/sys/vm/nr_hugepages 57 NrHugepages *int64 // /proc/sys/vm/nr_hugepages
58 NrHugepagesMempolicy int64 // /proc/sys/vm/nr_hugepages_mempolicy 58 NrHugepagesMempolicy *int64 // /proc/sys/vm/nr_hugepages_mempolicy
59 NrOvercommitHugepages int64 // /proc/sys/vm/nr_overcommit_hugepages 59 NrOvercommitHugepages *int64 // /proc/sys/vm/nr_overcommit_hugepages
60 NumaStat int64 // /proc/sys/vm/numa_stat 60 NumaStat *int64 // /proc/sys/vm/numa_stat
61 NumaZonelistOrder string // /proc/sys/vm/numa_zonelist_order 61 NumaZonelistOrder string // /proc/sys/vm/numa_zonelist_order
62 OomDumpTasks int64 // /proc/sys/vm/oom_dump_tasks 62 OomDumpTasks *int64 // /proc/sys/vm/oom_dump_tasks
63 OomKillAllocatingTask int64 // /proc/sys/vm/oom_kill_allocating_task 63 OomKillAllocatingTask *int64 // /proc/sys/vm/oom_kill_allocating_task
64 OvercommitKbytes int64 // /proc/sys/vm/overcommit_kbytes 64 OvercommitKbytes *int64 // /proc/sys/vm/overcommit_kbytes
65 OvercommitMemory int64 // /proc/sys/vm/overcommit_memory 65 OvercommitMemory *int64 // /proc/sys/vm/overcommit_memory
66 OvercommitRatio int64 // /proc/sys/vm/overcommit_ratio 66 OvercommitRatio *int64 // /proc/sys/vm/overcommit_ratio
67 PageCluster int64 // /proc/sys/vm/page-cluster 67 PageCluster *int64 // /proc/sys/vm/page-cluster
68 PanicOnOom int64 // /proc/sys/vm/panic_on_oom 68 PanicOnOom *int64 // /proc/sys/vm/panic_on_oom
69 PercpuPagelistFraction int64 // /proc/sys/vm/percpu_pagelist_fraction 69 PercpuPagelistFraction *int64 // /proc/sys/vm/percpu_pagelist_fraction
70 StatInterval int64 // /proc/sys/vm/stat_interval 70 StatInterval *int64 // /proc/sys/vm/stat_interval
71 Swappiness int64 // /proc/sys/vm/swappiness 71 Swappiness *int64 // /proc/sys/vm/swappiness
72 UserReserveKbytes int64 // /proc/sys/vm/user_reserve_kbytes 72 UserReserveKbytes *int64 // /proc/sys/vm/user_reserve_kbytes
73 VfsCachePressure int64 // /proc/sys/vm/vfs_cache_pressure 73 VfsCachePressure *int64 // /proc/sys/vm/vfs_cache_pressure
74 WatermarkBoostFactor int64 // /proc/sys/vm/watermark_boost_factor 74 WatermarkBoostFactor *int64 // /proc/sys/vm/watermark_boost_factor
75 WatermarkScaleFactor int64 // /proc/sys/vm/watermark_scale_factor 75 WatermarkScaleFactor *int64 // /proc/sys/vm/watermark_scale_factor
76 ZoneReclaimMode int64 // /proc/sys/vm/zone_reclaim_mode 76 ZoneReclaimMode *int64 // /proc/sys/vm/zone_reclaim_mode
77} 77}
78 78
79// VM reads the VM statistics from the specified `proc` filesystem. 79// VM reads the VM statistics from the specified `proc` filesystem.
@@ -109,97 +109,97 @@ func (fs FS) VM() (*VM, error) {
109 109
110 switch f.Name() { 110 switch f.Name() {
111 case "admin_reserve_kbytes": 111 case "admin_reserve_kbytes":
112 vm.AdminReserveKbytes = *vp.PInt64() 112 vm.AdminReserveKbytes = vp.PInt64()
113 case "block_dump": 113 case "block_dump":
114 vm.BlockDump = *vp.PInt64() 114 vm.BlockDump = vp.PInt64()
115 case "compact_unevictable_allowed": 115 case "compact_unevictable_allowed":
116 vm.CompactUnevictableAllowed = *vp.PInt64() 116 vm.CompactUnevictableAllowed = vp.PInt64()
117 case "dirty_background_bytes": 117 case "dirty_background_bytes":
118 vm.DirtyBackgroundBytes = *vp.PInt64() 118 vm.DirtyBackgroundBytes = vp.PInt64()
119 case "dirty_background_ratio": 119 case "dirty_background_ratio":
120 vm.DirtyBackgroundRatio = *vp.PInt64() 120 vm.DirtyBackgroundRatio = vp.PInt64()
121 case "dirty_bytes": 121 case "dirty_bytes":
122 vm.DirtyBytes = *vp.PInt64() 122 vm.DirtyBytes = vp.PInt64()
123 case "dirty_expire_centisecs": 123 case "dirty_expire_centisecs":
124 vm.DirtyExpireCentisecs = *vp.PInt64() 124 vm.DirtyExpireCentisecs = vp.PInt64()
125 case "dirty_ratio": 125 case "dirty_ratio":
126 vm.DirtyRatio = *vp.PInt64() 126 vm.DirtyRatio = vp.PInt64()
127 case "dirtytime_expire_seconds": 127 case "dirtytime_expire_seconds":
128 vm.DirtytimeExpireSeconds = *vp.PInt64() 128 vm.DirtytimeExpireSeconds = vp.PInt64()
129 case "dirty_writeback_centisecs": 129 case "dirty_writeback_centisecs":
130 vm.DirtyWritebackCentisecs = *vp.PInt64() 130 vm.DirtyWritebackCentisecs = vp.PInt64()
131 case "drop_caches": 131 case "drop_caches":
132 vm.DropCaches = *vp.PInt64() 132 vm.DropCaches = vp.PInt64()
133 case "extfrag_threshold": 133 case "extfrag_threshold":
134 vm.ExtfragThreshold = *vp.PInt64() 134 vm.ExtfragThreshold = vp.PInt64()
135 case "hugetlb_shm_group": 135 case "hugetlb_shm_group":
136 vm.HugetlbShmGroup = *vp.PInt64() 136 vm.HugetlbShmGroup = vp.PInt64()
137 case "laptop_mode": 137 case "laptop_mode":
138 vm.LaptopMode = *vp.PInt64() 138 vm.LaptopMode = vp.PInt64()
139 case "legacy_va_layout": 139 case "legacy_va_layout":
140 vm.LegacyVaLayout = *vp.PInt64() 140 vm.LegacyVaLayout = vp.PInt64()
141 case "lowmem_reserve_ratio": 141 case "lowmem_reserve_ratio":
142 stringSlice := strings.Fields(value) 142 stringSlice := strings.Fields(value)
143 int64Slice := make([]int64, 0, len(stringSlice)) 143 pint64Slice := make([]*int64, 0, len(stringSlice))
144 for _, value := range stringSlice { 144 for _, value := range stringSlice {
145 vp := util.NewValueParser(value) 145 vp := util.NewValueParser(value)
146 int64Slice = append(int64Slice, *vp.PInt64()) 146 pint64Slice = append(pint64Slice, vp.PInt64())
147 } 147 }
148 vm.LowmemReserveRatio = int64Slice 148 vm.LowmemReserveRatio = pint64Slice
149 case "max_map_count": 149 case "max_map_count":
150 vm.MaxMapCount = *vp.PInt64() 150 vm.MaxMapCount = vp.PInt64()
151 case "memory_failure_early_kill": 151 case "memory_failure_early_kill":
152 vm.MemoryFailureEarlyKill = *vp.PInt64() 152 vm.MemoryFailureEarlyKill = vp.PInt64()
153 case "memory_failure_recovery": 153 case "memory_failure_recovery":
154 vm.MemoryFailureRecovery = *vp.PInt64() 154 vm.MemoryFailureRecovery = vp.PInt64()
155 case "min_free_kbytes": 155 case "min_free_kbytes":
156 vm.MinFreeKbytes = *vp.PInt64() 156 vm.MinFreeKbytes = vp.PInt64()
157 case "min_slab_ratio": 157 case "min_slab_ratio":
158 vm.MinSlabRatio = *vp.PInt64() 158 vm.MinSlabRatio = vp.PInt64()
159 case "min_unmapped_ratio": 159 case "min_unmapped_ratio":
160 vm.MinUnmappedRatio = *vp.PInt64() 160 vm.MinUnmappedRatio = vp.PInt64()
161 case "mmap_min_addr": 161 case "mmap_min_addr":
162 vm.MmapMinAddr = *vp.PInt64() 162 vm.MmapMinAddr = vp.PInt64()
163 case "nr_hugepages": 163 case "nr_hugepages":
164 vm.NrHugepages = *vp.PInt64() 164 vm.NrHugepages = vp.PInt64()
165 case "nr_hugepages_mempolicy": 165 case "nr_hugepages_mempolicy":
166 vm.NrHugepagesMempolicy = *vp.PInt64() 166 vm.NrHugepagesMempolicy = vp.PInt64()
167 case "nr_overcommit_hugepages": 167 case "nr_overcommit_hugepages":
168 vm.NrOvercommitHugepages = *vp.PInt64() 168 vm.NrOvercommitHugepages = vp.PInt64()
169 case "numa_stat": 169 case "numa_stat":
170 vm.NumaStat = *vp.PInt64() 170 vm.NumaStat = vp.PInt64()
171 case "numa_zonelist_order": 171 case "numa_zonelist_order":
172 vm.NumaZonelistOrder = value 172 vm.NumaZonelistOrder = value
173 case "oom_dump_tasks": 173 case "oom_dump_tasks":
174 vm.OomDumpTasks = *vp.PInt64() 174 vm.OomDumpTasks = vp.PInt64()
175 case "oom_kill_allocating_task": 175 case "oom_kill_allocating_task":
176 vm.OomKillAllocatingTask = *vp.PInt64() 176 vm.OomKillAllocatingTask = vp.PInt64()
177 case "overcommit_kbytes": 177 case "overcommit_kbytes":
178 vm.OvercommitKbytes = *vp.PInt64() 178 vm.OvercommitKbytes = vp.PInt64()
179 case "overcommit_memory": 179 case "overcommit_memory":
180 vm.OvercommitMemory = *vp.PInt64() 180 vm.OvercommitMemory = vp.PInt64()
181 case "overcommit_ratio": 181 case "overcommit_ratio":
182 vm.OvercommitRatio = *vp.PInt64() 182 vm.OvercommitRatio = vp.PInt64()
183 case "page-cluster": 183 case "page-cluster":
184 vm.PageCluster = *vp.PInt64() 184 vm.PageCluster = vp.PInt64()
185 case "panic_on_oom": 185 case "panic_on_oom":
186 vm.PanicOnOom = *vp.PInt64() 186 vm.PanicOnOom = vp.PInt64()
187 case "percpu_pagelist_fraction": 187 case "percpu_pagelist_fraction":
188 vm.PercpuPagelistFraction = *vp.PInt64() 188 vm.PercpuPagelistFraction = vp.PInt64()
189 case "stat_interval": 189 case "stat_interval":
190 vm.StatInterval = *vp.PInt64() 190 vm.StatInterval = vp.PInt64()
191 case "swappiness": 191 case "swappiness":
192 vm.Swappiness = *vp.PInt64() 192 vm.Swappiness = vp.PInt64()
193 case "user_reserve_kbytes": 193 case "user_reserve_kbytes":
194 vm.UserReserveKbytes = *vp.PInt64() 194 vm.UserReserveKbytes = vp.PInt64()
195 case "vfs_cache_pressure": 195 case "vfs_cache_pressure":
196 vm.VfsCachePressure = *vp.PInt64() 196 vm.VfsCachePressure = vp.PInt64()
197 case "watermark_boost_factor": 197 case "watermark_boost_factor":
198 vm.WatermarkBoostFactor = *vp.PInt64() 198 vm.WatermarkBoostFactor = vp.PInt64()
199 case "watermark_scale_factor": 199 case "watermark_scale_factor":
200 vm.WatermarkScaleFactor = *vp.PInt64() 200 vm.WatermarkScaleFactor = vp.PInt64()
201 case "zone_reclaim_mode": 201 case "zone_reclaim_mode":
202 vm.ZoneReclaimMode = *vp.PInt64() 202 vm.ZoneReclaimMode = vp.PInt64()
203 } 203 }
204 if err := vp.Err(); err != nil { 204 if err := vp.Err(); err != nil {
205 return nil, err 205 return nil, err
diff --git a/vendor/github.com/prometheus/procfs/xfs/parse.go b/vendor/github.com/prometheus/procfs/xfs/parse.go
index b3d8634..9781446 100644
--- a/vendor/github.com/prometheus/procfs/xfs/parse.go
+++ b/vendor/github.com/prometheus/procfs/xfs/parse.go
@@ -35,23 +35,25 @@ func ParseStats(r io.Reader) (*Stats, error) {
35 fieldTrans = "trans" 35 fieldTrans = "trans"
36 fieldIg = "ig" 36 fieldIg = "ig"
37 fieldLog = "log" 37 fieldLog = "log"
38 fieldPushAil = "push_ail"
39 fieldXstrat = "xstrat"
38 fieldRw = "rw" 40 fieldRw = "rw"
39 fieldAttr = "attr" 41 fieldAttr = "attr"
40 fieldIcluster = "icluster" 42 fieldIcluster = "icluster"
41 fieldVnodes = "vnodes" 43 fieldVnodes = "vnodes"
42 fieldBuf = "buf" 44 fieldBuf = "buf"
43 fieldXpc = "xpc" 45 fieldXpc = "xpc"
44 46 fieldAbtb2 = "abtb2"
47 fieldAbtc2 = "abtc2"
48 fieldBmbt2 = "bmbt2"
49 fieldIbt2 = "ibt2"
50 //fieldFibt2 = "fibt2"
51 fieldQm = "qm"
52 fieldDebug = "debug"
45 // Unimplemented at this time due to lack of documentation. 53 // Unimplemented at this time due to lack of documentation.
46 // fieldPushAil = "push_ail" 54 //fieldRmapbt = "rmapbt"
47 // fieldXstrat = "xstrat" 55 //fieldRefcntbt = "refcntbt"
48 // fieldAbtb2 = "abtb2" 56
49 // fieldAbtc2 = "abtc2"
50 // fieldBmbt2 = "bmbt2"
51 // fieldIbt2 = "ibt2"
52 // fieldFibt2 = "fibt2"
53 // fieldQm = "qm"
54 // fieldDebug = "debug"
55 ) 57 )
56 58
57 var xfss Stats 59 var xfss Stats
@@ -115,6 +117,23 @@ func ParseStats(r io.Reader) (*Stats, error) {
115 xfss.Vnode, err = vnodeStats(us) 117 xfss.Vnode, err = vnodeStats(us)
116 case fieldBuf: 118 case fieldBuf:
117 xfss.Buffer, err = bufferStats(us) 119 xfss.Buffer, err = bufferStats(us)
120 case fieldPushAil:
121 xfss.PushAil, err = pushAilStats(us)
122 case fieldXstrat:
123 xfss.Xstrat, err = xStratStats(us)
124 case fieldAbtb2:
125 xfss.BtreeAllocBlocks2, err = btreeAllocBlocks2Stats(us)
126 case fieldAbtc2:
127 xfss.BtreeAllocContig2, err = btreeAllocContig2Stats(us)
128 case fieldBmbt2:
129 xfss.BtreeBlockMap2, err = btreeBlockMap2Stats(us)
130 case fieldIbt2:
131 xfss.BtreeInode2, err = btreeInode2Stats(us)
132 //case fieldFibt2:
133 case fieldQm:
134 xfss.QuotaManager, err = quotaManagerStats(us)
135 case fieldDebug:
136 xfss.Debug, err = debugStats(us)
118 } 137 }
119 if err != nil { 138 if err != nil {
120 return nil, err 139 return nil, err
@@ -228,7 +247,39 @@ func logOperationStats(us []uint32) (LogOperationStats, error) {
228 }, nil 247 }, nil
229} 248}
230 249
231// ReadWriteStats builds a ReadWriteStats from a slice of uint32s. 250// push_ail
251func pushAilStats(us []uint32) (PushAilStats, error) {
252 if l := len(us); l != 10 {
253 return PushAilStats{}, fmt.Errorf("incorrect number of values for XFS push ail stats: %d", l)
254 }
255
256 return PushAilStats{
257 TryLogspace: us[0],
258 SleepLogspace: us[1],
259 Pushes: us[2],
260 Success: us[3],
261 PushBuf: us[4],
262 Pinned: us[5],
263 Locked: us[6],
264 Flushing: us[7],
265 Restarts: us[8],
266 Flush: us[9],
267 }, nil
268}
269
270// xstrat
271func xStratStats(us []uint32) (XstratStats, error) {
272 if l := len(us); l != 2 {
273 return XstratStats{}, fmt.Errorf("incorrect number of values for XFS xstrat stats: %d", l)
274 }
275
276 return XstratStats{
277 Quick: us[0],
278 Split: us[1],
279 }, nil
280}
281
282// rw
232func readWriteStats(us []uint32) (ReadWriteStats, error) { 283func readWriteStats(us []uint32) (ReadWriteStats, error) {
233 if l := len(us); l != 2 { 284 if l := len(us); l != 2 {
234 return ReadWriteStats{}, fmt.Errorf("incorrect number of values for XFS read write stats: %d", l) 285 return ReadWriteStats{}, fmt.Errorf("incorrect number of values for XFS read write stats: %d", l)
@@ -328,3 +379,130 @@ func extendedPrecisionStats(us []uint64) (ExtendedPrecisionStats, error) {
328 ReadBytes: us[2], 379 ReadBytes: us[2],
329 }, nil 380 }, nil
330} 381}
382
383func quotaManagerStats(us []uint32) (QuotaManagerStats, error) {
384 if l := len(us); l != 8 {
385 return QuotaManagerStats{}, fmt.Errorf("incorrect number of values for XFS quota stats: %d", l)
386 }
387
388 return QuotaManagerStats{
389 Reclaims: us[0],
390 ReclaimMisses: us[1],
391 DquoteDups: us[2],
392 CacheMisses: us[3],
393 CacheHits: us[4],
394 Wants: us[5],
395 ShakeReclaims: us[6],
396 InactReclaims: us[7],
397 }, nil
398}
399
400func debugStats(us []uint32) (DebugStats, error) {
401 if l := len(us); l != 1 {
402 return DebugStats{}, fmt.Errorf("incorrect number of values for XFS debug stats: %d", l)
403 }
404
405 return DebugStats{
406 Enabled: us[0],
407 }, nil
408}
409
410// abtb2
411func btreeAllocBlocks2Stats(us []uint32) (BtreeAllocBlocks2Stats, error) {
412 if l := len(us); l != 15 {
413 return BtreeAllocBlocks2Stats{}, fmt.Errorf("incorrect number of values for abtb2 stats: %d", 1)
414 }
415
416 return BtreeAllocBlocks2Stats{
417 Lookup: us[0],
418 Compare: us[1],
419 Insrec: us[2],
420 Delrec: us[3],
421 NewRoot: us[4],
422 KillRoot: us[5],
423 Increment: us[6],
424 Decrement: us[7],
425 Lshift: us[8],
426 Rshift: us[9],
427 Split: us[10],
428 Join: us[11],
429 Alloc: us[12],
430 Free: us[13],
431 Moves: us[14],
432 }, nil
433}
434
435// abtc2
436func btreeAllocContig2Stats(us []uint32) (BtreeAllocContig2Stats, error) {
437 if l := len(us); l != 15 {
438 return BtreeAllocContig2Stats{}, fmt.Errorf("incorrect number of values for abtc2 stats: %d", 1)
439 }
440
441 return BtreeAllocContig2Stats{
442 Lookup: us[0],
443 Compare: us[1],
444 Insrec: us[2],
445 Delrec: us[3],
446 NewRoot: us[4],
447 KillRoot: us[5],
448 Increment: us[6],
449 Decrement: us[7],
450 Lshift: us[8],
451 Rshift: us[9],
452 Split: us[10],
453 Join: us[11],
454 Alloc: us[12],
455 Free: us[13],
456 Moves: us[14],
457 }, nil
458}
459
460// bmbt2
461func btreeBlockMap2Stats(us []uint32) (BtreeBlockMap2Stats, error) {
462 if l := len(us); l != 15 {
463 return BtreeBlockMap2Stats{}, fmt.Errorf("incorrect number of values for bmbt2 stats: %d", 1)
464 }
465
466 return BtreeBlockMap2Stats{
467 Lookup: us[0],
468 Compare: us[1],
469 Insrec: us[2],
470 Delrec: us[3],
471 NewRoot: us[4],
472 KillRoot: us[5],
473 Increment: us[6],
474 Decrement: us[7],
475 Lshift: us[8],
476 Rshift: us[9],
477 Split: us[10],
478 Join: us[11],
479 Alloc: us[12],
480 Free: us[13],
481 Moves: us[14],
482 }, nil
483}
484
485// ibt2
486func btreeInode2Stats(us []uint32) (BtreeInode2Stats, error) {
487 if l := len(us); l != 15 {
488 return BtreeInode2Stats{}, fmt.Errorf("incorrect number of values for ibt2 stats: %d", 1)
489 }
490
491 return BtreeInode2Stats{
492 Lookup: us[0],
493 Compare: us[1],
494 Insrec: us[2],
495 Delrec: us[3],
496 NewRoot: us[4],
497 KillRoot: us[5],
498 Increment: us[6],
499 Decrement: us[7],
500 Lshift: us[8],
501 Rshift: us[9],
502 Split: us[10],
503 Join: us[11],
504 Alloc: us[12],
505 Free: us[13],
506 Moves: us[14],
507 }, nil
508}
diff --git a/vendor/github.com/prometheus/procfs/xfs/xfs.go b/vendor/github.com/prometheus/procfs/xfs/xfs.go
index 3aad661..018a0b8 100644
--- a/vendor/github.com/prometheus/procfs/xfs/xfs.go
+++ b/vendor/github.com/prometheus/procfs/xfs/xfs.go
@@ -49,6 +49,14 @@ type Stats struct {
49 Vnode VnodeStats 49 Vnode VnodeStats
50 Buffer BufferStats 50 Buffer BufferStats
51 ExtendedPrecision ExtendedPrecisionStats 51 ExtendedPrecision ExtendedPrecisionStats
52 Xstrat XstratStats // xstrat
53 PushAil PushAilStats // push_ail
54 Debug DebugStats // debug
55 QuotaManager QuotaManagerStats // qm
56 BtreeAllocBlocks2 BtreeAllocBlocks2Stats // abtb2
57 BtreeAllocContig2 BtreeAllocContig2Stats // abtc2
58 BtreeBlockMap2 BtreeBlockMap2Stats // bmbt2
59 BtreeInode2 BtreeInode2Stats // ibt2
52} 60}
53 61
54// ExtentAllocationStats contains statistics regarding XFS extent allocations. 62// ExtentAllocationStats contains statistics regarding XFS extent allocations.
@@ -170,6 +178,119 @@ type ExtendedPrecisionStats struct {
170 ReadBytes uint64 178 ReadBytes uint64
171} 179}
172 180
181// PushAilStats contains statistics on tail-pushing operations.
182type PushAilStats struct {
183 TryLogspace uint32
184 SleepLogspace uint32
185 Pushes uint32
186 Success uint32
187 PushBuf uint32
188 Pinned uint32
189 Locked uint32
190 Flushing uint32
191 Restarts uint32
192 Flush uint32
193}
194
195// QuotaManagerStats contain statistics regarding quota processing.
196type QuotaManagerStats struct {
197 Reclaims uint32
198 ReclaimMisses uint32
199 DquoteDups uint32
200 CacheMisses uint32
201 CacheHits uint32
202 Wants uint32
203 ShakeReclaims uint32
204 InactReclaims uint32
205}
206
207// XstratStats contains statistics regarding bytes processed by the XFS daemon.
208type XstratStats struct {
209 Quick uint32
210 Split uint32
211}
212
213// DebugStats indicate if XFS debugging is enabled.
214type DebugStats struct {
215 Enabled uint32
216}
217
218// BtreeAllocBlocks2Stats contains statistics on B-Tree v2 allocations.
219type BtreeAllocBlocks2Stats struct {
220 Lookup uint32
221 Compare uint32
222 Insrec uint32
223 Delrec uint32
224 NewRoot uint32
225 KillRoot uint32
226 Increment uint32
227 Decrement uint32
228 Lshift uint32
229 Rshift uint32
230 Split uint32
231 Join uint32
232 Alloc uint32
233 Free uint32
234 Moves uint32
235}
236
237// BtreeAllocContig2Stats contain statistics on B-tree v2 free-space-by-size record operations.
238type BtreeAllocContig2Stats struct {
239 Lookup uint32
240 Compare uint32
241 Insrec uint32
242 Delrec uint32
243 NewRoot uint32
244 KillRoot uint32
245 Increment uint32
246 Decrement uint32
247 Lshift uint32
248 Rshift uint32
249 Split uint32
250 Join uint32
251 Alloc uint32
252 Free uint32
253 Moves uint32
254}
255
256// BtreeBlockMap2Stats contain statistics on B-tree v2 block map operations.
257type BtreeBlockMap2Stats struct {
258 Lookup uint32
259 Compare uint32
260 Insrec uint32
261 Delrec uint32
262 NewRoot uint32
263 KillRoot uint32
264 Increment uint32
265 Decrement uint32
266 Lshift uint32
267 Rshift uint32
268 Split uint32
269 Join uint32
270 Alloc uint32
271 Free uint32
272 Moves uint32
273}
274
275// BtreeInode2Stats contain statistics on B-tree v2 inode allocations.
276type BtreeInode2Stats struct {
277 Lookup uint32
278 Compare uint32
279 Insrec uint32
280 Delrec uint32
281 NewRoot uint32
282 KillRoot uint32
283 Increment uint32
284 Decrement uint32
285 Lshift uint32
286 Rshift uint32
287 Split uint32
288 Join uint32
289 Alloc uint32
290 Free uint32
291 Moves uint32
292}
293
173// FS represents the pseudo-filesystems proc and sys, which provides an interface to 294// FS represents the pseudo-filesystems proc and sys, which provides an interface to
174// kernel data structures. 295// kernel data structures.
175type FS struct { 296type FS struct {
diff --git a/vendor/modules.txt b/vendor/modules.txt
index b800abc..a74d6d7 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -45,7 +45,7 @@ github.com/prometheus/common/version
45github.com/prometheus/common/expfmt 45github.com/prometheus/common/expfmt
46github.com/prometheus/common/model 46github.com/prometheus/common/model
47github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg 47github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg
48# github.com/prometheus/procfs v0.0.4-0.20190731153504-5da962fa40f1 48# github.com/prometheus/procfs v0.0.4
49github.com/prometheus/procfs 49github.com/prometheus/procfs
50github.com/prometheus/procfs/bcache 50github.com/prometheus/procfs/bcache
51github.com/prometheus/procfs/nfs 51github.com/prometheus/procfs/nfs