aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/prometheus/procfs/internal
diff options
context:
space:
mode:
authorPalash Oswal <oswalpalash@gmail.com>2021-05-26 15:49:00 +0530
committerGitHub <noreply@github.com>2021-05-26 12:19:00 +0200
commit1f4e6ed95868861aae449b3630e6cfe5a2b96c93 (patch)
treeded977da86c36bdb3d07a03fa6341ed067645eef /vendor/github.com/prometheus/procfs/internal
parent750ce1649cc6e2b51bc65b574f6a71399980af4c (diff)
syz-manager: add prometheus metrics
* syz-manager: add prometheus metrics Add prometheus metrics client to syz-manager. Expose metrics on a new port defined in mgrconfig. Allows for prometheus to scrape metrics from syz-manager. * syz-manager: expose metrics endpoint in http server .gitignore : remove local .img path * mgrconfig: remove unnecessary config option * syz-manager: update stats to use gaugefunc added docs for prometheus exported metrics added more gaugefunc metrics Signed-off-by: Palash Oswal <oswalpalash@gmail.com> * syz-manager: minor changes for CI tests added periods to comments and renamed go variables Signed-off-by: Palash Oswal <oswalpalash@gmail.com> * syz-manager: re-position prometheus counter declaration docs updated with PR comments Signed-off-by: Palash Oswal <oswalpalash@gmail.com>
Diffstat (limited to 'vendor/github.com/prometheus/procfs/internal')
-rw-r--r--vendor/github.com/prometheus/procfs/internal/fs/fs.go52
1 files changed, 52 insertions, 0 deletions
diff --git a/vendor/github.com/prometheus/procfs/internal/fs/fs.go b/vendor/github.com/prometheus/procfs/internal/fs/fs.go
new file mode 100644
index 000000000..c66a1cf80
--- /dev/null
+++ b/vendor/github.com/prometheus/procfs/internal/fs/fs.go
@@ -0,0 +1,52 @@
+// Copyright 2019 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 fs
+
+import (
+ "fmt"
+ "os"
+ "path/filepath"
+)
+
+const (
+ // DefaultProcMountPoint is the common mount point of the proc filesystem.
+ DefaultProcMountPoint = "/proc"
+
+ // DefaultSysMountPoint is the common mount point of the sys filesystem.
+ DefaultSysMountPoint = "/sys"
+)
+
+// FS represents a pseudo-filesystem, normally /proc or /sys, which provides an
+// interface to kernel data structures.
+type FS string
+
+// NewFS returns a new FS mounted under the given mountPoint. It will error
+// if the mount point can't be read.
+func NewFS(mountPoint string) (FS, error) {
+ info, err := os.Stat(mountPoint)
+ if err != nil {
+ return "", fmt.Errorf("could not read %s: %s", mountPoint, err)
+ }
+ if !info.IsDir() {
+ return "", fmt.Errorf("mount point %s is not a directory", mountPoint)
+ }
+
+ return FS(mountPoint), nil
+}
+
+// Path appends the given path elements to the filesystem path, adding separators
+// as necessary.
+func (fs FS) Path(p ...string) string {
+ return filepath.Join(append([]string{string(fs)}, p...)...)
+}