mirror of
https://github.com/prometheus/node_exporter
synced 2025-02-21 11:56:53 +00:00
chore: add xBSD pipelines
For integration tests. Signed-off-by: Pranshu Srivastava <rexagod@gmail.com> chore: support non-linux GOOS in e2e tests Signed-off-by: Pranshu Srivastava <rexagod@gmail.com> chore: support e2e tests on freebsd Signed-off-by: Pranshu Srivastava <rexagod@gmail.com> chore: support e2e tests on openbsd Signed-off-by: Pranshu Srivastava <rexagod@gmail.com> chore: support e2e tests on netbsd Signed-off-by: Pranshu Srivastava <rexagod@gmail.com> chore: support e2e tests on solaris Signed-off-by: Pranshu Srivastava <rexagod@gmail.com> chore: support e2e tests on dragonfly Signed-off-by: Pranshu Srivastava <rexagod@gmail.com> chore: drop support for e2e tests on solaris Signed-off-by: Pranshu Srivastava <rexagod@gmail.com>
This commit is contained in:
parent
38f71f576c
commit
3430dcfab8
175
.github/workflows/bsd.yml
vendored
Normal file
175
.github/workflows/bsd.yml
vendored
Normal file
@ -0,0 +1,175 @@
|
||||
name: bsd
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
env:
|
||||
GO_VERSION_FREEBSD: "123"
|
||||
GO_VERSION_OPENBSD: "1.23.1"
|
||||
GO_VERSION_NETBSD: "123"
|
||||
GO_VERSION_DRAGONFLY: "1.23.3"
|
||||
GNU_TAR_VERSION: "1.35"
|
||||
|
||||
# To spin up one of the VMs below, see the "Debug Shell" section here: https://github.com/vmactions
|
||||
jobs:
|
||||
test_freebsd:
|
||||
name: Run end-to-end tests on FreeBSD
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout the repository
|
||||
uses: actions/checkout@v4
|
||||
- name: test-e2e
|
||||
uses: vmactions/freebsd-vm@v1
|
||||
with:
|
||||
copyback: false
|
||||
envs: 'GO_VERSION_FREEBSD GNU_TAR_VERSION'
|
||||
usesh: true
|
||||
prepare: |
|
||||
pkg update -f
|
||||
pkg install -y bash curl gtar git gmake gsed gnugrep go${GO_VERSION_FREEBSD} python
|
||||
run: |
|
||||
echo "::group::Setup prerequisites"
|
||||
set -eu
|
||||
mkdir bin
|
||||
ln -s $(which go${GO_VERSION_FREEBSD}) $(pwd)/bin/go
|
||||
ln -s $(which ggrep) $(pwd)/bin/grep
|
||||
ln -s $(which gmake) $(pwd)/bin/make
|
||||
ln -s $(which gsed) $(pwd)/bin/sed
|
||||
ln -s $(which gtar) $(pwd)/bin/tar
|
||||
export PATH=$(pwd)/bin:$PATH
|
||||
echo "::endgroup::"
|
||||
|
||||
echo "::group::Print environment information"
|
||||
uname -a
|
||||
echo "GOOS: $(go env GOOS)"
|
||||
echo "GOARCH: $(go env GOARCH)"
|
||||
echo "::endgroup::"
|
||||
|
||||
echo "::group::Run End-to-End Tests"
|
||||
git config --global --add safe.directory $(pwd)
|
||||
gmake test-e2e
|
||||
echo "::endgroup::"
|
||||
|
||||
test_openbsd:
|
||||
name: Run end-to-end tests on OpenBSD
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout the repository
|
||||
uses: actions/checkout@v4
|
||||
- name: test-e2e
|
||||
uses: vmactions/openbsd-vm@v1
|
||||
with:
|
||||
copyback: false
|
||||
envs: 'GO_VERSION_OPENBSD GNU_TAR_VERSION'
|
||||
usesh: true
|
||||
prepare: |
|
||||
pkg_add -u
|
||||
pkg_add bash curl gtar-${GNU_TAR_VERSION}p0-static git gmake gsed ggrep go-${GO_VERSION_OPENBSD} python
|
||||
run: |
|
||||
echo "::group::Setup prerequisites"
|
||||
set -eu
|
||||
mkdir bin
|
||||
ln -s $(which ggrep) $(pwd)/bin/grep
|
||||
ln -s $(which gmake) $(pwd)/bin/make
|
||||
ln -s $(which gsed) $(pwd)/bin/sed
|
||||
ln -s $(which gtar) $(pwd)/bin/tar
|
||||
export PATH=$(pwd)/bin:$PATH
|
||||
echo "::endgroup::"
|
||||
|
||||
echo "::group::Print environment information"
|
||||
uname -a
|
||||
echo "GOOS: $(go env GOOS)"
|
||||
echo "GOARCH: $(go env GOARCH)"
|
||||
echo "::endgroup::"
|
||||
|
||||
echo "::group::Run End-to-End Tests"
|
||||
git config --global --add safe.directory $(pwd)
|
||||
make test-e2e
|
||||
echo "::endgroup::"
|
||||
|
||||
test_netbsd:
|
||||
name: Run end-to-end tests on NetBSD
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout the repository
|
||||
uses: actions/checkout@v4
|
||||
- name: test-e2e
|
||||
uses: vmactions/netbsd-vm@v1
|
||||
with:
|
||||
copyback: false
|
||||
envs: 'GO_VERSION_NETBSD GNU_TAR_VERSION'
|
||||
usesh: true
|
||||
prepare: |
|
||||
/usr/sbin/pkg_add -u
|
||||
/usr/sbin/pkg_add curl gtar-base-${GNU_TAR_VERSION} git gmake gsed grep go${GO_VERSION_NETBSD} python312
|
||||
run: |
|
||||
echo "::group::Setup prerequisites"
|
||||
set -eu
|
||||
mkdir bin
|
||||
ln -s $(which go${GO_VERSION_NETBSD}) $(pwd)/bin/go
|
||||
ln -s $(which ggrep) $(pwd)/bin/grep
|
||||
ln -s $(which gmake) $(pwd)/bin/make
|
||||
ln -s $(which gsed) $(pwd)/bin/sed
|
||||
ln -s $(which gtar) $(pwd)/bin/tar
|
||||
export PATH=$(pwd)/bin:$PATH
|
||||
echo "::endgroup::"
|
||||
|
||||
echo "::group::Print environment information"
|
||||
uname -a
|
||||
echo "GOOS: $(go env GOOS)"
|
||||
echo "GOARCH: $(go env GOARCH)"
|
||||
echo "::endgroup::"
|
||||
|
||||
echo "::group::Run End-to-End Tests"
|
||||
git config --global --add safe.directory $(pwd)
|
||||
make test-e2e
|
||||
echo "::endgroup::"
|
||||
|
||||
test_dragonfly:
|
||||
name: Run end-to-end tests on DragonFly
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout the repository
|
||||
uses: actions/checkout@v4
|
||||
- name: test-e2e
|
||||
uses: vmactions/dragonflybsd-vm@v1
|
||||
with:
|
||||
copyback: false
|
||||
envs: 'GO_VERSION_DRAGONFLY'
|
||||
usesh: true
|
||||
prepare: |
|
||||
pkg update && pkg upgrade -y
|
||||
pkg install -y bash wget gtar git gmake gsed gnugrep python3
|
||||
run: |
|
||||
echo "::group::Setup prerequisites"
|
||||
set -eu
|
||||
mkdir bin
|
||||
export PATH=$(pwd)/bin:$PATH
|
||||
wget https://go.dev/dl/go${GO_VERSION_DRAGONFLY}.dragonfly-amd64.tar.gz
|
||||
gtar xzf go${GO_VERSION_DRAGONFLY}.dragonfly-amd64.tar.gz
|
||||
ln -s $(pwd)/go/bin/go $(pwd)/bin/go
|
||||
ln -s $(which ggrep) $(pwd)/bin/grep
|
||||
ln -s $(which gmake) $(pwd)/bin/make
|
||||
ln -s $(which gsed) $(pwd)/bin/sed
|
||||
ln -s $(which gtar) $(pwd)/bin/tar
|
||||
ln -s $(which python3) $(pwd)/bin/python
|
||||
echo "::endgroup::"
|
||||
|
||||
echo "::group::Print environment information"
|
||||
uname -a
|
||||
echo "GOOS: $(go env GOOS)"
|
||||
echo "GOARCH: $(go env GOARCH)"
|
||||
echo "::endgroup::"
|
||||
|
||||
echo "::group::Run End-to-End Tests"
|
||||
git config --global --add safe.directory $(pwd)
|
||||
gmake test-e2e
|
||||
echo "::endgroup::"
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -27,6 +27,8 @@ dependencies-stamp
|
||||
/.release
|
||||
/.tarballs
|
||||
|
||||
tools/tools
|
||||
|
||||
# Intellij
|
||||
|
||||
/.idea
|
||||
|
6
Makefile
6
Makefile
@ -113,9 +113,13 @@ update_fixtures:
|
||||
rm -vf collector/fixtures/udev/.unpacked
|
||||
./ttar -C collector/fixtures -c -f collector/fixtures/udev.ttar udev
|
||||
|
||||
.PHONY: tools
|
||||
tools:
|
||||
@rm ./tools/tools >/dev/null 2>&1 || true
|
||||
@$(GO) build -o tools ./tools/...
|
||||
|
||||
.PHONY: test-e2e
|
||||
test-e2e: build collector/fixtures/sys/.unpacked collector/fixtures/udev/.unpacked
|
||||
test-e2e: build collector/fixtures/sys/.unpacked collector/fixtures/udev/.unpacked tools
|
||||
@echo ">> running end-to-end tests"
|
||||
./end-to-end-test.sh
|
||||
|
||||
|
@ -201,7 +201,13 @@ common-unused:
|
||||
.PHONY: common-build
|
||||
common-build: promu
|
||||
@echo ">> building binaries"
|
||||
$(PROMU) build --prefix $(PREFIX) $(PROMU_BINARIES)
|
||||
@$(PROMU) build --prefix $(PREFIX) $(PROMU_BINARIES)
|
||||
@# Use the codesign binary directly instead of `promu codesign` as it depends on an image that doesn't support linux/arm64 (w.r.t. darwin's rosetta emulation) yet.
|
||||
@if [ "$(GOHOSTOS)" = "darwin" ]; then \
|
||||
if command -v codesign > /dev/null 2>&1; then \
|
||||
codesign --sign - --force --preserve-metadata=entitlements,requirements,flags,runtime node_exporter >/dev/null 2>&1; \
|
||||
fi; \
|
||||
fi
|
||||
|
||||
.PHONY: common-tarball
|
||||
common-tarball: promu
|
||||
|
256
collector/fixtures/e2e-output-dragonfly.txt
Normal file
256
collector/fixtures/e2e-output-dragonfly.txt
Normal file
@ -0,0 +1,256 @@
|
||||
# HELP go_gc_duration_seconds A summary of the wall-time pause (stop-the-world) duration in garbage collection cycles.
|
||||
# TYPE go_gc_duration_seconds summary
|
||||
# HELP go_gc_gogc_percent Heap size target percentage configured by the user, otherwise 100. This value is set by the GOGC environment variable, and the runtime/debug.SetGCPercent function. Sourced from /gc/gogc:percent
|
||||
# TYPE go_gc_gogc_percent gauge
|
||||
# HELP go_gc_gomemlimit_bytes Go runtime memory limit configured by the user, otherwise math.MaxInt64. This value is set by the GOMEMLIMIT environment variable, and the runtime/debug.SetMemoryLimit function. Sourced from /gc/gomemlimit:bytes
|
||||
# TYPE go_gc_gomemlimit_bytes gauge
|
||||
# HELP go_goroutines Number of goroutines that currently exist.
|
||||
# TYPE go_goroutines gauge
|
||||
# HELP go_info Information about the Go environment.
|
||||
# TYPE go_info gauge
|
||||
# HELP go_memstats_alloc_bytes Number of bytes allocated in heap and currently in use. Equals to /memory/classes/heap/objects:bytes.
|
||||
# TYPE go_memstats_alloc_bytes gauge
|
||||
# HELP go_memstats_alloc_bytes_total Total number of bytes allocated in heap until now, even if released already. Equals to /gc/heap/allocs:bytes.
|
||||
# TYPE go_memstats_alloc_bytes_total counter
|
||||
# HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table. Equals to /memory/classes/profiling/buckets:bytes.
|
||||
# TYPE go_memstats_buck_hash_sys_bytes gauge
|
||||
# HELP go_memstats_frees_total Total number of heap objects frees. Equals to /gc/heap/frees:objects + /gc/heap/tiny/allocs:objects.
|
||||
# TYPE go_memstats_frees_total counter
|
||||
# HELP go_memstats_gc_sys_bytes Number of bytes used for garbage collection system metadata. Equals to /memory/classes/metadata/other:bytes.
|
||||
# TYPE go_memstats_gc_sys_bytes gauge
|
||||
# HELP go_memstats_heap_alloc_bytes Number of heap bytes allocated and currently in use, same as go_memstats_alloc_bytes. Equals to /memory/classes/heap/objects:bytes.
|
||||
# TYPE go_memstats_heap_alloc_bytes gauge
|
||||
# HELP go_memstats_heap_idle_bytes Number of heap bytes waiting to be used. Equals to /memory/classes/heap/released:bytes + /memory/classes/heap/free:bytes.
|
||||
# TYPE go_memstats_heap_idle_bytes gauge
|
||||
# HELP go_memstats_heap_inuse_bytes Number of heap bytes that are in use. Equals to /memory/classes/heap/objects:bytes + /memory/classes/heap/unused:bytes
|
||||
# TYPE go_memstats_heap_inuse_bytes gauge
|
||||
# HELP go_memstats_heap_objects Number of currently allocated objects. Equals to /gc/heap/objects:objects.
|
||||
# TYPE go_memstats_heap_objects gauge
|
||||
# HELP go_memstats_heap_released_bytes Number of heap bytes released to OS. Equals to /memory/classes/heap/released:bytes.
|
||||
# TYPE go_memstats_heap_released_bytes gauge
|
||||
# HELP go_memstats_heap_sys_bytes Number of heap bytes obtained from system. Equals to /memory/classes/heap/objects:bytes + /memory/classes/heap/unused:bytes + /memory/classes/heap/released:bytes + /memory/classes/heap/free:bytes.
|
||||
# TYPE go_memstats_heap_sys_bytes gauge
|
||||
# HELP go_memstats_last_gc_time_seconds Number of seconds since 1970 of last garbage collection.
|
||||
# TYPE go_memstats_last_gc_time_seconds gauge
|
||||
# HELP go_memstats_mallocs_total Total number of heap objects allocated, both live and gc-ed. Semantically a counter version for go_memstats_heap_objects gauge. Equals to /gc/heap/allocs:objects + /gc/heap/tiny/allocs:objects.
|
||||
# TYPE go_memstats_mallocs_total counter
|
||||
# HELP go_memstats_mcache_inuse_bytes Number of bytes in use by mcache structures. Equals to /memory/classes/metadata/mcache/inuse:bytes.
|
||||
# TYPE go_memstats_mcache_inuse_bytes gauge
|
||||
# HELP go_memstats_mcache_sys_bytes Number of bytes used for mcache structures obtained from system. Equals to /memory/classes/metadata/mcache/inuse:bytes + /memory/classes/metadata/mcache/free:bytes.
|
||||
# TYPE go_memstats_mcache_sys_bytes gauge
|
||||
# HELP go_memstats_mspan_inuse_bytes Number of bytes in use by mspan structures. Equals to /memory/classes/metadata/mspan/inuse:bytes.
|
||||
# TYPE go_memstats_mspan_inuse_bytes gauge
|
||||
# HELP go_memstats_mspan_sys_bytes Number of bytes used for mspan structures obtained from system. Equals to /memory/classes/metadata/mspan/inuse:bytes + /memory/classes/metadata/mspan/free:bytes.
|
||||
# TYPE go_memstats_mspan_sys_bytes gauge
|
||||
# HELP go_memstats_next_gc_bytes Number of heap bytes when next garbage collection will take place. Equals to /gc/heap/goal:bytes.
|
||||
# TYPE go_memstats_next_gc_bytes gauge
|
||||
# HELP go_memstats_other_sys_bytes Number of bytes used for other system allocations. Equals to /memory/classes/other:bytes.
|
||||
# TYPE go_memstats_other_sys_bytes gauge
|
||||
# HELP go_memstats_stack_inuse_bytes Number of bytes obtained from system for stack allocator in non-CGO environments. Equals to /memory/classes/heap/stacks:bytes.
|
||||
# TYPE go_memstats_stack_inuse_bytes gauge
|
||||
# HELP go_memstats_stack_sys_bytes Number of bytes obtained from system for stack allocator. Equals to /memory/classes/heap/stacks:bytes + /memory/classes/os-stacks:bytes.
|
||||
# TYPE go_memstats_stack_sys_bytes gauge
|
||||
# HELP go_memstats_sys_bytes Number of bytes obtained from system. Equals to /memory/classes/total:byte.
|
||||
# TYPE go_memstats_sys_bytes gauge
|
||||
# HELP go_sched_gomaxprocs_threads The current runtime.GOMAXPROCS setting, or the number of operating system threads that can execute user-level Go code simultaneously. Sourced from /sched/gomaxprocs:threads
|
||||
# TYPE go_sched_gomaxprocs_threads gauge
|
||||
# HELP go_threads Number of OS threads created.
|
||||
# TYPE go_threads gauge
|
||||
# HELP node_buddyinfo_blocks Count of free blocks according to size.
|
||||
# TYPE node_buddyinfo_blocks gauge
|
||||
node_buddyinfo_blocks{node="0",size="0",zone="DMA"} 1
|
||||
node_buddyinfo_blocks{node="0",size="0",zone="DMA32"} 759
|
||||
node_buddyinfo_blocks{node="0",size="0",zone="Normal"} 4381
|
||||
node_buddyinfo_blocks{node="0",size="1",zone="DMA"} 0
|
||||
node_buddyinfo_blocks{node="0",size="1",zone="DMA32"} 572
|
||||
node_buddyinfo_blocks{node="0",size="1",zone="Normal"} 1093
|
||||
node_buddyinfo_blocks{node="0",size="10",zone="DMA"} 3
|
||||
node_buddyinfo_blocks{node="0",size="10",zone="DMA32"} 0
|
||||
node_buddyinfo_blocks{node="0",size="10",zone="Normal"} 0
|
||||
node_buddyinfo_blocks{node="0",size="2",zone="DMA"} 1
|
||||
node_buddyinfo_blocks{node="0",size="2",zone="DMA32"} 791
|
||||
node_buddyinfo_blocks{node="0",size="2",zone="Normal"} 185
|
||||
node_buddyinfo_blocks{node="0",size="3",zone="DMA"} 0
|
||||
node_buddyinfo_blocks{node="0",size="3",zone="DMA32"} 475
|
||||
node_buddyinfo_blocks{node="0",size="3",zone="Normal"} 1530
|
||||
node_buddyinfo_blocks{node="0",size="4",zone="DMA"} 2
|
||||
node_buddyinfo_blocks{node="0",size="4",zone="DMA32"} 194
|
||||
node_buddyinfo_blocks{node="0",size="4",zone="Normal"} 567
|
||||
node_buddyinfo_blocks{node="0",size="5",zone="DMA"} 1
|
||||
node_buddyinfo_blocks{node="0",size="5",zone="DMA32"} 45
|
||||
node_buddyinfo_blocks{node="0",size="5",zone="Normal"} 102
|
||||
node_buddyinfo_blocks{node="0",size="6",zone="DMA"} 1
|
||||
node_buddyinfo_blocks{node="0",size="6",zone="DMA32"} 12
|
||||
node_buddyinfo_blocks{node="0",size="6",zone="Normal"} 4
|
||||
node_buddyinfo_blocks{node="0",size="7",zone="DMA"} 0
|
||||
node_buddyinfo_blocks{node="0",size="7",zone="DMA32"} 0
|
||||
node_buddyinfo_blocks{node="0",size="7",zone="Normal"} 0
|
||||
node_buddyinfo_blocks{node="0",size="8",zone="DMA"} 1
|
||||
node_buddyinfo_blocks{node="0",size="8",zone="DMA32"} 0
|
||||
node_buddyinfo_blocks{node="0",size="8",zone="Normal"} 0
|
||||
node_buddyinfo_blocks{node="0",size="9",zone="DMA"} 1
|
||||
node_buddyinfo_blocks{node="0",size="9",zone="DMA32"} 0
|
||||
node_buddyinfo_blocks{node="0",size="9",zone="Normal"} 0
|
||||
# HELP node_exporter_build_info A metric with a constant '1' value labeled by version, revision, branch, goversion from which node_exporter was built, and the goos and goarch for the build.
|
||||
# TYPE node_exporter_build_info gauge
|
||||
# HELP node_network_receive_bytes_total Network device statistic receive_bytes.
|
||||
# TYPE node_network_receive_bytes_total counter
|
||||
# HELP node_network_receive_drop_total Network device statistic receive_drop.
|
||||
# TYPE node_network_receive_drop_total counter
|
||||
node_network_receive_drop_total{device="lo0"} 0
|
||||
# HELP node_network_receive_errs_total Network device statistic receive_errs.
|
||||
# TYPE node_network_receive_errs_total counter
|
||||
node_network_receive_errs_total{device="lo0"} 0
|
||||
# HELP node_network_receive_multicast_total Network device statistic receive_multicast.
|
||||
# TYPE node_network_receive_multicast_total counter
|
||||
node_network_receive_multicast_total{device="lo0"} 0
|
||||
# HELP node_network_receive_packets_total Network device statistic receive_packets.
|
||||
# TYPE node_network_receive_packets_total counter
|
||||
# HELP node_network_transmit_bytes_total Network device statistic transmit_bytes.
|
||||
# TYPE node_network_transmit_bytes_total counter
|
||||
# HELP node_network_transmit_drop_total Network device statistic transmit_drop.
|
||||
# TYPE node_network_transmit_drop_total counter
|
||||
node_network_transmit_drop_total{device="lo0"} 0
|
||||
# HELP node_network_transmit_errs_total Network device statistic transmit_errs.
|
||||
# TYPE node_network_transmit_errs_total counter
|
||||
node_network_transmit_errs_total{device="lo0"} 0
|
||||
# HELP node_network_transmit_packets_total Network device statistic transmit_packets.
|
||||
# TYPE node_network_transmit_packets_total counter
|
||||
# HELP node_os_info A metric with a constant '1' value labeled by build_id, id, id_like, image_id, image_version, name, pretty_name, variant, variant_id, version, version_codename, version_id.
|
||||
# TYPE node_os_info gauge
|
||||
node_os_info{build_id="",id="ubuntu",id_like="debian",image_id="",image_version="",name="Ubuntu",pretty_name="Ubuntu 20.04.2 LTS",variant="",variant_id="",version="20.04.2 LTS (Focal Fossa)",version_codename="focal",version_id="20.04"} 1
|
||||
# HELP node_os_version Metric containing the major.minor part of the OS version.
|
||||
# TYPE node_os_version gauge
|
||||
node_os_version{id="ubuntu",id_like="debian",name="Ubuntu"} 20.04
|
||||
# HELP node_scrape_collector_duration_seconds node_exporter: Duration of a collector scrape.
|
||||
# TYPE node_scrape_collector_duration_seconds gauge
|
||||
# HELP node_scrape_collector_success node_exporter: Whether a collector succeeded.
|
||||
# TYPE node_scrape_collector_success gauge
|
||||
node_scrape_collector_success{collector="boottime"} 1
|
||||
node_scrape_collector_success{collector="buddyinfo"} 1
|
||||
node_scrape_collector_success{collector="cpu"} 1
|
||||
node_scrape_collector_success{collector="exec"} 1
|
||||
node_scrape_collector_success{collector="loadavg"} 1
|
||||
node_scrape_collector_success{collector="meminfo"} 0
|
||||
node_scrape_collector_success{collector="netdev"} 1
|
||||
node_scrape_collector_success{collector="os"} 1
|
||||
node_scrape_collector_success{collector="textfile"} 1
|
||||
node_scrape_collector_success{collector="time"} 1
|
||||
node_scrape_collector_success{collector="xfrm"} 1
|
||||
# HELP node_textfile_mtime_seconds Unixtime mtime of textfiles successfully read.
|
||||
# TYPE node_textfile_mtime_seconds gauge
|
||||
# HELP node_textfile_scrape_error 1 if there was an error opening or reading a file, 0 otherwise
|
||||
# TYPE node_textfile_scrape_error gauge
|
||||
node_textfile_scrape_error 0
|
||||
# HELP node_time_seconds System time in seconds since epoch (1970).
|
||||
# TYPE node_time_seconds gauge
|
||||
# HELP node_time_zone_offset_seconds System time zone offset in seconds.
|
||||
# TYPE node_time_zone_offset_seconds gauge
|
||||
# HELP node_xfrm_acquire_error_packets_total State hasn’t been fully acquired before use
|
||||
# TYPE node_xfrm_acquire_error_packets_total counter
|
||||
node_xfrm_acquire_error_packets_total 24532
|
||||
# HELP node_xfrm_fwd_hdr_error_packets_total Forward routing of a packet is not allowed
|
||||
# TYPE node_xfrm_fwd_hdr_error_packets_total counter
|
||||
node_xfrm_fwd_hdr_error_packets_total 6654
|
||||
# HELP node_xfrm_in_buffer_error_packets_total No buffer is left
|
||||
# TYPE node_xfrm_in_buffer_error_packets_total counter
|
||||
node_xfrm_in_buffer_error_packets_total 2
|
||||
# HELP node_xfrm_in_error_packets_total All errors not matched by other
|
||||
# TYPE node_xfrm_in_error_packets_total counter
|
||||
node_xfrm_in_error_packets_total 1
|
||||
# HELP node_xfrm_in_hdr_error_packets_total Header error
|
||||
# TYPE node_xfrm_in_hdr_error_packets_total counter
|
||||
node_xfrm_in_hdr_error_packets_total 4
|
||||
# HELP node_xfrm_in_no_pols_packets_total No policy is found for states e.g. Inbound SAs are correct but no SP is found
|
||||
# TYPE node_xfrm_in_no_pols_packets_total counter
|
||||
node_xfrm_in_no_pols_packets_total 65432
|
||||
# HELP node_xfrm_in_no_states_packets_total No state is found i.e. Either inbound SPI, address, or IPsec protocol at SA is wrong
|
||||
# TYPE node_xfrm_in_no_states_packets_total counter
|
||||
node_xfrm_in_no_states_packets_total 3
|
||||
# HELP node_xfrm_in_pol_block_packets_total Policy discards
|
||||
# TYPE node_xfrm_in_pol_block_packets_total counter
|
||||
node_xfrm_in_pol_block_packets_total 100
|
||||
# HELP node_xfrm_in_pol_error_packets_total Policy error
|
||||
# TYPE node_xfrm_in_pol_error_packets_total counter
|
||||
node_xfrm_in_pol_error_packets_total 10000
|
||||
# HELP node_xfrm_in_state_expired_packets_total State is expired
|
||||
# TYPE node_xfrm_in_state_expired_packets_total counter
|
||||
node_xfrm_in_state_expired_packets_total 7
|
||||
# HELP node_xfrm_in_state_invalid_packets_total State is invalid
|
||||
# TYPE node_xfrm_in_state_invalid_packets_total counter
|
||||
node_xfrm_in_state_invalid_packets_total 55555
|
||||
# HELP node_xfrm_in_state_mismatch_packets_total State has mismatch option e.g. UDP encapsulation type is mismatch
|
||||
# TYPE node_xfrm_in_state_mismatch_packets_total counter
|
||||
node_xfrm_in_state_mismatch_packets_total 23451
|
||||
# HELP node_xfrm_in_state_mode_error_packets_total Transformation mode specific error
|
||||
# TYPE node_xfrm_in_state_mode_error_packets_total counter
|
||||
node_xfrm_in_state_mode_error_packets_total 100
|
||||
# HELP node_xfrm_in_state_proto_error_packets_total Transformation protocol specific error e.g. SA key is wrong
|
||||
# TYPE node_xfrm_in_state_proto_error_packets_total counter
|
||||
node_xfrm_in_state_proto_error_packets_total 40
|
||||
# HELP node_xfrm_in_state_seq_error_packets_total Sequence error i.e. Sequence number is out of window
|
||||
# TYPE node_xfrm_in_state_seq_error_packets_total counter
|
||||
node_xfrm_in_state_seq_error_packets_total 6000
|
||||
# HELP node_xfrm_in_tmpl_mismatch_packets_total No matching template for states e.g. Inbound SAs are correct but SP rule is wrong
|
||||
# TYPE node_xfrm_in_tmpl_mismatch_packets_total counter
|
||||
node_xfrm_in_tmpl_mismatch_packets_total 51
|
||||
# HELP node_xfrm_out_bundle_check_error_packets_total Bundle check error
|
||||
# TYPE node_xfrm_out_bundle_check_error_packets_total counter
|
||||
node_xfrm_out_bundle_check_error_packets_total 555
|
||||
# HELP node_xfrm_out_bundle_gen_error_packets_total Bundle generation error
|
||||
# TYPE node_xfrm_out_bundle_gen_error_packets_total counter
|
||||
node_xfrm_out_bundle_gen_error_packets_total 43321
|
||||
# HELP node_xfrm_out_error_packets_total All errors which is not matched others
|
||||
# TYPE node_xfrm_out_error_packets_total counter
|
||||
node_xfrm_out_error_packets_total 1e+06
|
||||
# HELP node_xfrm_out_no_states_packets_total No state is found
|
||||
# TYPE node_xfrm_out_no_states_packets_total counter
|
||||
node_xfrm_out_no_states_packets_total 869
|
||||
# HELP node_xfrm_out_pol_block_packets_total Policy discards
|
||||
# TYPE node_xfrm_out_pol_block_packets_total counter
|
||||
node_xfrm_out_pol_block_packets_total 43456
|
||||
# HELP node_xfrm_out_pol_dead_packets_total Policy is dead
|
||||
# TYPE node_xfrm_out_pol_dead_packets_total counter
|
||||
node_xfrm_out_pol_dead_packets_total 7656
|
||||
# HELP node_xfrm_out_pol_error_packets_total Policy error
|
||||
# TYPE node_xfrm_out_pol_error_packets_total counter
|
||||
node_xfrm_out_pol_error_packets_total 1454
|
||||
# HELP node_xfrm_out_state_expired_packets_total State is expired
|
||||
# TYPE node_xfrm_out_state_expired_packets_total counter
|
||||
node_xfrm_out_state_expired_packets_total 565
|
||||
# HELP node_xfrm_out_state_invalid_packets_total State is invalid, perhaps expired
|
||||
# TYPE node_xfrm_out_state_invalid_packets_total counter
|
||||
node_xfrm_out_state_invalid_packets_total 28765
|
||||
# HELP node_xfrm_out_state_mode_error_packets_total Transformation mode specific error
|
||||
# TYPE node_xfrm_out_state_mode_error_packets_total counter
|
||||
node_xfrm_out_state_mode_error_packets_total 8
|
||||
# HELP node_xfrm_out_state_proto_error_packets_total Transformation protocol specific error
|
||||
# TYPE node_xfrm_out_state_proto_error_packets_total counter
|
||||
node_xfrm_out_state_proto_error_packets_total 4542
|
||||
# HELP node_xfrm_out_state_seq_error_packets_total Sequence error i.e. Sequence number overflow
|
||||
# TYPE node_xfrm_out_state_seq_error_packets_total counter
|
||||
node_xfrm_out_state_seq_error_packets_total 543
|
||||
# HELP promhttp_metric_handler_errors_total Total number of internal errors encountered by the promhttp metric handler.
|
||||
# TYPE promhttp_metric_handler_errors_total counter
|
||||
promhttp_metric_handler_errors_total{cause="encoding"} 0
|
||||
promhttp_metric_handler_errors_total{cause="gathering"} 0
|
||||
# HELP promhttp_metric_handler_requests_in_flight Current number of scrapes being served.
|
||||
# TYPE promhttp_metric_handler_requests_in_flight gauge
|
||||
promhttp_metric_handler_requests_in_flight 1
|
||||
# HELP promhttp_metric_handler_requests_total Total number of scrapes by HTTP status code.
|
||||
# TYPE promhttp_metric_handler_requests_total counter
|
||||
promhttp_metric_handler_requests_total{code="200"} 0
|
||||
promhttp_metric_handler_requests_total{code="500"} 0
|
||||
promhttp_metric_handler_requests_total{code="503"} 0
|
||||
# HELP testmetric1_1 Metric read from collector/fixtures/textfile/two_metric_files/metrics1.prom
|
||||
# TYPE testmetric1_1 untyped
|
||||
testmetric1_1{foo="bar"} 10
|
||||
# HELP testmetric1_2 Metric read from collector/fixtures/textfile/two_metric_files/metrics1.prom
|
||||
# TYPE testmetric1_2 untyped
|
||||
testmetric1_2{foo="baz"} 20
|
||||
# HELP testmetric2_1 Metric read from collector/fixtures/textfile/two_metric_files/metrics2.prom
|
||||
# TYPE testmetric2_1 untyped
|
||||
testmetric2_1{foo="bar"} 30
|
||||
# HELP testmetric2_2 Metric read from collector/fixtures/textfile/two_metric_files/metrics2.prom
|
||||
# TYPE testmetric2_2 untyped
|
||||
testmetric2_2{foo="baz"} 40
|
294
collector/fixtures/e2e-output-freebsd.txt
Normal file
294
collector/fixtures/e2e-output-freebsd.txt
Normal file
@ -0,0 +1,294 @@
|
||||
# HELP go_gc_duration_seconds A summary of the wall-time pause (stop-the-world) duration in garbage collection cycles.
|
||||
# TYPE go_gc_duration_seconds summary
|
||||
# HELP go_gc_gogc_percent Heap size target percentage configured by the user, otherwise 100. This value is set by the GOGC environment variable, and the runtime/debug.SetGCPercent function. Sourced from /gc/gogc:percent
|
||||
# TYPE go_gc_gogc_percent gauge
|
||||
# HELP go_gc_gomemlimit_bytes Go runtime memory limit configured by the user, otherwise math.MaxInt64. This value is set by the GOMEMLIMIT environment variable, and the runtime/debug.SetMemoryLimit function. Sourced from /gc/gomemlimit:bytes
|
||||
# TYPE go_gc_gomemlimit_bytes gauge
|
||||
# HELP go_goroutines Number of goroutines that currently exist.
|
||||
# TYPE go_goroutines gauge
|
||||
# HELP go_info Information about the Go environment.
|
||||
# TYPE go_info gauge
|
||||
# HELP go_memstats_alloc_bytes Number of bytes allocated in heap and currently in use. Equals to /memory/classes/heap/objects:bytes.
|
||||
# TYPE go_memstats_alloc_bytes gauge
|
||||
# HELP go_memstats_alloc_bytes_total Total number of bytes allocated in heap until now, even if released already. Equals to /gc/heap/allocs:bytes.
|
||||
# TYPE go_memstats_alloc_bytes_total counter
|
||||
# HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table. Equals to /memory/classes/profiling/buckets:bytes.
|
||||
# TYPE go_memstats_buck_hash_sys_bytes gauge
|
||||
# HELP go_memstats_frees_total Total number of heap objects frees. Equals to /gc/heap/frees:objects + /gc/heap/tiny/allocs:objects.
|
||||
# TYPE go_memstats_frees_total counter
|
||||
# HELP go_memstats_gc_sys_bytes Number of bytes used for garbage collection system metadata. Equals to /memory/classes/metadata/other:bytes.
|
||||
# TYPE go_memstats_gc_sys_bytes gauge
|
||||
# HELP go_memstats_heap_alloc_bytes Number of heap bytes allocated and currently in use, same as go_memstats_alloc_bytes. Equals to /memory/classes/heap/objects:bytes.
|
||||
# TYPE go_memstats_heap_alloc_bytes gauge
|
||||
# HELP go_memstats_heap_idle_bytes Number of heap bytes waiting to be used. Equals to /memory/classes/heap/released:bytes + /memory/classes/heap/free:bytes.
|
||||
# TYPE go_memstats_heap_idle_bytes gauge
|
||||
# HELP go_memstats_heap_inuse_bytes Number of heap bytes that are in use. Equals to /memory/classes/heap/objects:bytes + /memory/classes/heap/unused:bytes
|
||||
# TYPE go_memstats_heap_inuse_bytes gauge
|
||||
# HELP go_memstats_heap_objects Number of currently allocated objects. Equals to /gc/heap/objects:objects.
|
||||
# TYPE go_memstats_heap_objects gauge
|
||||
# HELP go_memstats_heap_released_bytes Number of heap bytes released to OS. Equals to /memory/classes/heap/released:bytes.
|
||||
# TYPE go_memstats_heap_released_bytes gauge
|
||||
# HELP go_memstats_heap_sys_bytes Number of heap bytes obtained from system. Equals to /memory/classes/heap/objects:bytes + /memory/classes/heap/unused:bytes + /memory/classes/heap/released:bytes + /memory/classes/heap/free:bytes.
|
||||
# TYPE go_memstats_heap_sys_bytes gauge
|
||||
# HELP go_memstats_last_gc_time_seconds Number of seconds since 1970 of last garbage collection.
|
||||
# TYPE go_memstats_last_gc_time_seconds gauge
|
||||
# HELP go_memstats_mallocs_total Total number of heap objects allocated, both live and gc-ed. Semantically a counter version for go_memstats_heap_objects gauge. Equals to /gc/heap/allocs:objects + /gc/heap/tiny/allocs:objects.
|
||||
# TYPE go_memstats_mallocs_total counter
|
||||
# HELP go_memstats_mcache_inuse_bytes Number of bytes in use by mcache structures. Equals to /memory/classes/metadata/mcache/inuse:bytes.
|
||||
# TYPE go_memstats_mcache_inuse_bytes gauge
|
||||
# HELP go_memstats_mcache_sys_bytes Number of bytes used for mcache structures obtained from system. Equals to /memory/classes/metadata/mcache/inuse:bytes + /memory/classes/metadata/mcache/free:bytes.
|
||||
# TYPE go_memstats_mcache_sys_bytes gauge
|
||||
# HELP go_memstats_mspan_inuse_bytes Number of bytes in use by mspan structures. Equals to /memory/classes/metadata/mspan/inuse:bytes.
|
||||
# TYPE go_memstats_mspan_inuse_bytes gauge
|
||||
# HELP go_memstats_mspan_sys_bytes Number of bytes used for mspan structures obtained from system. Equals to /memory/classes/metadata/mspan/inuse:bytes + /memory/classes/metadata/mspan/free:bytes.
|
||||
# TYPE go_memstats_mspan_sys_bytes gauge
|
||||
# HELP go_memstats_next_gc_bytes Number of heap bytes when next garbage collection will take place. Equals to /gc/heap/goal:bytes.
|
||||
# TYPE go_memstats_next_gc_bytes gauge
|
||||
# HELP go_memstats_other_sys_bytes Number of bytes used for other system allocations. Equals to /memory/classes/other:bytes.
|
||||
# TYPE go_memstats_other_sys_bytes gauge
|
||||
# HELP go_memstats_stack_inuse_bytes Number of bytes obtained from system for stack allocator in non-CGO environments. Equals to /memory/classes/heap/stacks:bytes.
|
||||
# TYPE go_memstats_stack_inuse_bytes gauge
|
||||
# HELP go_memstats_stack_sys_bytes Number of bytes obtained from system for stack allocator. Equals to /memory/classes/heap/stacks:bytes + /memory/classes/os-stacks:bytes.
|
||||
# TYPE go_memstats_stack_sys_bytes gauge
|
||||
# HELP go_memstats_sys_bytes Number of bytes obtained from system. Equals to /memory/classes/total:byte.
|
||||
# TYPE go_memstats_sys_bytes gauge
|
||||
# HELP go_sched_gomaxprocs_threads The current runtime.GOMAXPROCS setting, or the number of operating system threads that can execute user-level Go code simultaneously. Sourced from /sched/gomaxprocs:threads
|
||||
# TYPE go_sched_gomaxprocs_threads gauge
|
||||
# HELP go_threads Number of OS threads created.
|
||||
# TYPE go_threads gauge
|
||||
# HELP node_buddyinfo_blocks Count of free blocks according to size.
|
||||
# TYPE node_buddyinfo_blocks gauge
|
||||
node_buddyinfo_blocks{node="0",size="0",zone="DMA"} 1
|
||||
node_buddyinfo_blocks{node="0",size="0",zone="DMA32"} 759
|
||||
node_buddyinfo_blocks{node="0",size="0",zone="Normal"} 4381
|
||||
node_buddyinfo_blocks{node="0",size="1",zone="DMA"} 0
|
||||
node_buddyinfo_blocks{node="0",size="1",zone="DMA32"} 572
|
||||
node_buddyinfo_blocks{node="0",size="1",zone="Normal"} 1093
|
||||
node_buddyinfo_blocks{node="0",size="10",zone="DMA"} 3
|
||||
node_buddyinfo_blocks{node="0",size="10",zone="DMA32"} 0
|
||||
node_buddyinfo_blocks{node="0",size="10",zone="Normal"} 0
|
||||
node_buddyinfo_blocks{node="0",size="2",zone="DMA"} 1
|
||||
node_buddyinfo_blocks{node="0",size="2",zone="DMA32"} 791
|
||||
node_buddyinfo_blocks{node="0",size="2",zone="Normal"} 185
|
||||
node_buddyinfo_blocks{node="0",size="3",zone="DMA"} 0
|
||||
node_buddyinfo_blocks{node="0",size="3",zone="DMA32"} 475
|
||||
node_buddyinfo_blocks{node="0",size="3",zone="Normal"} 1530
|
||||
node_buddyinfo_blocks{node="0",size="4",zone="DMA"} 2
|
||||
node_buddyinfo_blocks{node="0",size="4",zone="DMA32"} 194
|
||||
node_buddyinfo_blocks{node="0",size="4",zone="Normal"} 567
|
||||
node_buddyinfo_blocks{node="0",size="5",zone="DMA"} 1
|
||||
node_buddyinfo_blocks{node="0",size="5",zone="DMA32"} 45
|
||||
node_buddyinfo_blocks{node="0",size="5",zone="Normal"} 102
|
||||
node_buddyinfo_blocks{node="0",size="6",zone="DMA"} 1
|
||||
node_buddyinfo_blocks{node="0",size="6",zone="DMA32"} 12
|
||||
node_buddyinfo_blocks{node="0",size="6",zone="Normal"} 4
|
||||
node_buddyinfo_blocks{node="0",size="7",zone="DMA"} 0
|
||||
node_buddyinfo_blocks{node="0",size="7",zone="DMA32"} 0
|
||||
node_buddyinfo_blocks{node="0",size="7",zone="Normal"} 0
|
||||
node_buddyinfo_blocks{node="0",size="8",zone="DMA"} 1
|
||||
node_buddyinfo_blocks{node="0",size="8",zone="DMA32"} 0
|
||||
node_buddyinfo_blocks{node="0",size="8",zone="Normal"} 0
|
||||
node_buddyinfo_blocks{node="0",size="9",zone="DMA"} 1
|
||||
node_buddyinfo_blocks{node="0",size="9",zone="DMA32"} 0
|
||||
node_buddyinfo_blocks{node="0",size="9",zone="Normal"} 0
|
||||
# HELP node_exporter_build_info A metric with a constant '1' value labeled by version, revision, branch, goversion from which node_exporter was built, and the goos and goarch for the build.
|
||||
# TYPE node_exporter_build_info gauge
|
||||
# HELP node_memory_size_bytes Total physical memory size
|
||||
# TYPE node_memory_size_bytes gauge
|
||||
node_memory_size_bytes 6.214455296e+09
|
||||
# HELP node_memory_swap_in_bytes_total Bytes paged in from swap devices
|
||||
# TYPE node_memory_swap_in_bytes_total counter
|
||||
node_memory_swap_in_bytes_total 0
|
||||
# HELP node_memory_swap_out_bytes_total Bytes paged out to swap devices
|
||||
# TYPE node_memory_swap_out_bytes_total counter
|
||||
node_memory_swap_out_bytes_total 0
|
||||
# HELP node_memory_swap_size_bytes Total swap memory size
|
||||
# TYPE node_memory_swap_size_bytes gauge
|
||||
node_memory_swap_size_bytes 1.073741824e+09
|
||||
# HELP node_memory_swap_used_bytes Currently allocated swap
|
||||
# TYPE node_memory_swap_used_bytes gauge
|
||||
node_memory_swap_used_bytes 0
|
||||
# HELP node_memory_user_wired_bytes Locked in memory by user, mlock, etc
|
||||
# TYPE node_memory_user_wired_bytes gauge
|
||||
node_memory_user_wired_bytes 0
|
||||
# HELP node_netisr_bindthreads netisr threads bound to CPUs
|
||||
# TYPE node_netisr_bindthreads gauge
|
||||
node_netisr_bindthreads 0
|
||||
# HELP node_netisr_defaultqlimit netisr default queue limit
|
||||
# TYPE node_netisr_defaultqlimit gauge
|
||||
node_netisr_defaultqlimit 256
|
||||
# HELP node_netisr_maxprot netisr maximum protocols
|
||||
# TYPE node_netisr_maxprot gauge
|
||||
node_netisr_maxprot 16
|
||||
# HELP node_netisr_maxqlimit netisr maximum queue limit
|
||||
# TYPE node_netisr_maxqlimit gauge
|
||||
node_netisr_maxqlimit 10240
|
||||
# HELP node_netisr_maxthreads netisr maximum thread count
|
||||
# TYPE node_netisr_maxthreads gauge
|
||||
node_netisr_maxthreads 1
|
||||
# HELP node_netisr_numthreads netisr current thread count
|
||||
# TYPE node_netisr_numthreads gauge
|
||||
node_netisr_numthreads 1
|
||||
# HELP node_network_receive_bytes_total Network device statistic receive_bytes.
|
||||
# TYPE node_network_receive_bytes_total counter
|
||||
# HELP node_network_receive_drop_total Network device statistic receive_drop.
|
||||
# TYPE node_network_receive_drop_total counter
|
||||
node_network_receive_drop_total{device="lo0"} 0
|
||||
# HELP node_network_receive_errs_total Network device statistic receive_errs.
|
||||
# TYPE node_network_receive_errs_total counter
|
||||
node_network_receive_errs_total{device="lo0"} 0
|
||||
# HELP node_network_receive_multicast_total Network device statistic receive_multicast.
|
||||
# TYPE node_network_receive_multicast_total counter
|
||||
node_network_receive_multicast_total{device="lo0"} 0
|
||||
# HELP node_network_receive_packets_total Network device statistic receive_packets.
|
||||
# TYPE node_network_receive_packets_total counter
|
||||
# HELP node_network_transmit_bytes_total Network device statistic transmit_bytes.
|
||||
# TYPE node_network_transmit_bytes_total counter
|
||||
# HELP node_network_transmit_drop_total Network device statistic transmit_drop.
|
||||
# TYPE node_network_transmit_drop_total counter
|
||||
node_network_transmit_drop_total{device="lo0"} 0
|
||||
# HELP node_network_transmit_errs_total Network device statistic transmit_errs.
|
||||
# TYPE node_network_transmit_errs_total counter
|
||||
node_network_transmit_errs_total{device="lo0"} 0
|
||||
# HELP node_network_transmit_packets_total Network device statistic transmit_packets.
|
||||
# TYPE node_network_transmit_packets_total counter
|
||||
# HELP node_os_info A metric with a constant '1' value labeled by build_id, id, id_like, image_id, image_version, name, pretty_name, variant, variant_id, version, version_codename, version_id.
|
||||
# TYPE node_os_info gauge
|
||||
node_os_info{build_id="",id="ubuntu",id_like="debian",image_id="",image_version="",name="Ubuntu",pretty_name="Ubuntu 20.04.2 LTS",variant="",variant_id="",version="20.04.2 LTS (Focal Fossa)",version_codename="focal",version_id="20.04"} 1
|
||||
# HELP node_os_version Metric containing the major.minor part of the OS version.
|
||||
# TYPE node_os_version gauge
|
||||
node_os_version{id="ubuntu",id_like="debian",name="Ubuntu"} 20.04
|
||||
# HELP node_scrape_collector_duration_seconds node_exporter: Duration of a collector scrape.
|
||||
# TYPE node_scrape_collector_duration_seconds gauge
|
||||
# HELP node_scrape_collector_success node_exporter: Whether a collector succeeded.
|
||||
# TYPE node_scrape_collector_success gauge
|
||||
node_scrape_collector_success{collector="boottime"} 1
|
||||
node_scrape_collector_success{collector="buddyinfo"} 1
|
||||
node_scrape_collector_success{collector="cpu"} 1
|
||||
node_scrape_collector_success{collector="exec"} 1
|
||||
node_scrape_collector_success{collector="loadavg"} 1
|
||||
node_scrape_collector_success{collector="meminfo"} 1
|
||||
node_scrape_collector_success{collector="netdev"} 1
|
||||
node_scrape_collector_success{collector="netisr"} 1
|
||||
node_scrape_collector_success{collector="os"} 1
|
||||
node_scrape_collector_success{collector="textfile"} 1
|
||||
node_scrape_collector_success{collector="time"} 1
|
||||
node_scrape_collector_success{collector="xfrm"} 1
|
||||
node_scrape_collector_success{collector="zfs"} 1
|
||||
# HELP node_textfile_mtime_seconds Unixtime mtime of textfiles successfully read.
|
||||
# TYPE node_textfile_mtime_seconds gauge
|
||||
# HELP node_textfile_scrape_error 1 if there was an error opening or reading a file, 0 otherwise
|
||||
# TYPE node_textfile_scrape_error gauge
|
||||
node_textfile_scrape_error 0
|
||||
# HELP node_time_seconds System time in seconds since epoch (1970).
|
||||
# TYPE node_time_seconds gauge
|
||||
# HELP node_time_zone_offset_seconds System time zone offset in seconds.
|
||||
# TYPE node_time_zone_offset_seconds gauge
|
||||
# HELP node_xfrm_acquire_error_packets_total State hasn’t been fully acquired before use
|
||||
# TYPE node_xfrm_acquire_error_packets_total counter
|
||||
node_xfrm_acquire_error_packets_total 24532
|
||||
# HELP node_xfrm_fwd_hdr_error_packets_total Forward routing of a packet is not allowed
|
||||
# TYPE node_xfrm_fwd_hdr_error_packets_total counter
|
||||
node_xfrm_fwd_hdr_error_packets_total 6654
|
||||
# HELP node_xfrm_in_buffer_error_packets_total No buffer is left
|
||||
# TYPE node_xfrm_in_buffer_error_packets_total counter
|
||||
node_xfrm_in_buffer_error_packets_total 2
|
||||
# HELP node_xfrm_in_error_packets_total All errors not matched by other
|
||||
# TYPE node_xfrm_in_error_packets_total counter
|
||||
node_xfrm_in_error_packets_total 1
|
||||
# HELP node_xfrm_in_hdr_error_packets_total Header error
|
||||
# TYPE node_xfrm_in_hdr_error_packets_total counter
|
||||
node_xfrm_in_hdr_error_packets_total 4
|
||||
# HELP node_xfrm_in_no_pols_packets_total No policy is found for states e.g. Inbound SAs are correct but no SP is found
|
||||
# TYPE node_xfrm_in_no_pols_packets_total counter
|
||||
node_xfrm_in_no_pols_packets_total 65432
|
||||
# HELP node_xfrm_in_no_states_packets_total No state is found i.e. Either inbound SPI, address, or IPsec protocol at SA is wrong
|
||||
# TYPE node_xfrm_in_no_states_packets_total counter
|
||||
node_xfrm_in_no_states_packets_total 3
|
||||
# HELP node_xfrm_in_pol_block_packets_total Policy discards
|
||||
# TYPE node_xfrm_in_pol_block_packets_total counter
|
||||
node_xfrm_in_pol_block_packets_total 100
|
||||
# HELP node_xfrm_in_pol_error_packets_total Policy error
|
||||
# TYPE node_xfrm_in_pol_error_packets_total counter
|
||||
node_xfrm_in_pol_error_packets_total 10000
|
||||
# HELP node_xfrm_in_state_expired_packets_total State is expired
|
||||
# TYPE node_xfrm_in_state_expired_packets_total counter
|
||||
node_xfrm_in_state_expired_packets_total 7
|
||||
# HELP node_xfrm_in_state_invalid_packets_total State is invalid
|
||||
# TYPE node_xfrm_in_state_invalid_packets_total counter
|
||||
node_xfrm_in_state_invalid_packets_total 55555
|
||||
# HELP node_xfrm_in_state_mismatch_packets_total State has mismatch option e.g. UDP encapsulation type is mismatch
|
||||
# TYPE node_xfrm_in_state_mismatch_packets_total counter
|
||||
node_xfrm_in_state_mismatch_packets_total 23451
|
||||
# HELP node_xfrm_in_state_mode_error_packets_total Transformation mode specific error
|
||||
# TYPE node_xfrm_in_state_mode_error_packets_total counter
|
||||
node_xfrm_in_state_mode_error_packets_total 100
|
||||
# HELP node_xfrm_in_state_proto_error_packets_total Transformation protocol specific error e.g. SA key is wrong
|
||||
# TYPE node_xfrm_in_state_proto_error_packets_total counter
|
||||
node_xfrm_in_state_proto_error_packets_total 40
|
||||
# HELP node_xfrm_in_state_seq_error_packets_total Sequence error i.e. Sequence number is out of window
|
||||
# TYPE node_xfrm_in_state_seq_error_packets_total counter
|
||||
node_xfrm_in_state_seq_error_packets_total 6000
|
||||
# HELP node_xfrm_in_tmpl_mismatch_packets_total No matching template for states e.g. Inbound SAs are correct but SP rule is wrong
|
||||
# TYPE node_xfrm_in_tmpl_mismatch_packets_total counter
|
||||
node_xfrm_in_tmpl_mismatch_packets_total 51
|
||||
# HELP node_xfrm_out_bundle_check_error_packets_total Bundle check error
|
||||
# TYPE node_xfrm_out_bundle_check_error_packets_total counter
|
||||
node_xfrm_out_bundle_check_error_packets_total 555
|
||||
# HELP node_xfrm_out_bundle_gen_error_packets_total Bundle generation error
|
||||
# TYPE node_xfrm_out_bundle_gen_error_packets_total counter
|
||||
node_xfrm_out_bundle_gen_error_packets_total 43321
|
||||
# HELP node_xfrm_out_error_packets_total All errors which is not matched others
|
||||
# TYPE node_xfrm_out_error_packets_total counter
|
||||
node_xfrm_out_error_packets_total 1e+06
|
||||
# HELP node_xfrm_out_no_states_packets_total No state is found
|
||||
# TYPE node_xfrm_out_no_states_packets_total counter
|
||||
node_xfrm_out_no_states_packets_total 869
|
||||
# HELP node_xfrm_out_pol_block_packets_total Policy discards
|
||||
# TYPE node_xfrm_out_pol_block_packets_total counter
|
||||
node_xfrm_out_pol_block_packets_total 43456
|
||||
# HELP node_xfrm_out_pol_dead_packets_total Policy is dead
|
||||
# TYPE node_xfrm_out_pol_dead_packets_total counter
|
||||
node_xfrm_out_pol_dead_packets_total 7656
|
||||
# HELP node_xfrm_out_pol_error_packets_total Policy error
|
||||
# TYPE node_xfrm_out_pol_error_packets_total counter
|
||||
node_xfrm_out_pol_error_packets_total 1454
|
||||
# HELP node_xfrm_out_state_expired_packets_total State is expired
|
||||
# TYPE node_xfrm_out_state_expired_packets_total counter
|
||||
node_xfrm_out_state_expired_packets_total 565
|
||||
# HELP node_xfrm_out_state_invalid_packets_total State is invalid, perhaps expired
|
||||
# TYPE node_xfrm_out_state_invalid_packets_total counter
|
||||
node_xfrm_out_state_invalid_packets_total 28765
|
||||
# HELP node_xfrm_out_state_mode_error_packets_total Transformation mode specific error
|
||||
# TYPE node_xfrm_out_state_mode_error_packets_total counter
|
||||
node_xfrm_out_state_mode_error_packets_total 8
|
||||
# HELP node_xfrm_out_state_proto_error_packets_total Transformation protocol specific error
|
||||
# TYPE node_xfrm_out_state_proto_error_packets_total counter
|
||||
node_xfrm_out_state_proto_error_packets_total 4542
|
||||
# HELP node_xfrm_out_state_seq_error_packets_total Sequence error i.e. Sequence number overflow
|
||||
# TYPE node_xfrm_out_state_seq_error_packets_total counter
|
||||
node_xfrm_out_state_seq_error_packets_total 543
|
||||
# HELP promhttp_metric_handler_errors_total Total number of internal errors encountered by the promhttp metric handler.
|
||||
# TYPE promhttp_metric_handler_errors_total counter
|
||||
promhttp_metric_handler_errors_total{cause="encoding"} 0
|
||||
promhttp_metric_handler_errors_total{cause="gathering"} 0
|
||||
# HELP promhttp_metric_handler_requests_in_flight Current number of scrapes being served.
|
||||
# TYPE promhttp_metric_handler_requests_in_flight gauge
|
||||
promhttp_metric_handler_requests_in_flight 1
|
||||
# HELP promhttp_metric_handler_requests_total Total number of scrapes by HTTP status code.
|
||||
# TYPE promhttp_metric_handler_requests_total counter
|
||||
promhttp_metric_handler_requests_total{code="200"} 0
|
||||
promhttp_metric_handler_requests_total{code="500"} 0
|
||||
promhttp_metric_handler_requests_total{code="503"} 0
|
||||
# HELP testmetric1_1 Metric read from collector/fixtures/textfile/two_metric_files/metrics1.prom
|
||||
# TYPE testmetric1_1 untyped
|
||||
testmetric1_1{foo="bar"} 10
|
||||
# HELP testmetric1_2 Metric read from collector/fixtures/textfile/two_metric_files/metrics1.prom
|
||||
# TYPE testmetric1_2 untyped
|
||||
testmetric1_2{foo="baz"} 20
|
||||
# HELP testmetric2_1 Metric read from collector/fixtures/textfile/two_metric_files/metrics2.prom
|
||||
# TYPE testmetric2_1 untyped
|
||||
testmetric2_1{foo="bar"} 30
|
||||
# HELP testmetric2_2 Metric read from collector/fixtures/textfile/two_metric_files/metrics2.prom
|
||||
# TYPE testmetric2_2 untyped
|
||||
testmetric2_2{foo="baz"} 40
|
212
collector/fixtures/e2e-output-netbsd.txt
Normal file
212
collector/fixtures/e2e-output-netbsd.txt
Normal file
@ -0,0 +1,212 @@
|
||||
# HELP go_gc_duration_seconds A summary of the wall-time pause (stop-the-world) duration in garbage collection cycles.
|
||||
# TYPE go_gc_duration_seconds summary
|
||||
# HELP go_gc_gogc_percent Heap size target percentage configured by the user, otherwise 100. This value is set by the GOGC environment variable, and the runtime/debug.SetGCPercent function. Sourced from /gc/gogc:percent
|
||||
# TYPE go_gc_gogc_percent gauge
|
||||
# HELP go_gc_gomemlimit_bytes Go runtime memory limit configured by the user, otherwise math.MaxInt64. This value is set by the GOMEMLIMIT environment variable, and the runtime/debug.SetMemoryLimit function. Sourced from /gc/gomemlimit:bytes
|
||||
# TYPE go_gc_gomemlimit_bytes gauge
|
||||
# HELP go_goroutines Number of goroutines that currently exist.
|
||||
# TYPE go_goroutines gauge
|
||||
# HELP go_info Information about the Go environment.
|
||||
# TYPE go_info gauge
|
||||
# HELP go_memstats_alloc_bytes Number of bytes allocated in heap and currently in use. Equals to /memory/classes/heap/objects:bytes.
|
||||
# TYPE go_memstats_alloc_bytes gauge
|
||||
# HELP go_memstats_alloc_bytes_total Total number of bytes allocated in heap until now, even if released already. Equals to /gc/heap/allocs:bytes.
|
||||
# TYPE go_memstats_alloc_bytes_total counter
|
||||
# HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table. Equals to /memory/classes/profiling/buckets:bytes.
|
||||
# TYPE go_memstats_buck_hash_sys_bytes gauge
|
||||
# HELP go_memstats_frees_total Total number of heap objects frees. Equals to /gc/heap/frees:objects + /gc/heap/tiny/allocs:objects.
|
||||
# TYPE go_memstats_frees_total counter
|
||||
# HELP go_memstats_gc_sys_bytes Number of bytes used for garbage collection system metadata. Equals to /memory/classes/metadata/other:bytes.
|
||||
# TYPE go_memstats_gc_sys_bytes gauge
|
||||
# HELP go_memstats_heap_alloc_bytes Number of heap bytes allocated and currently in use, same as go_memstats_alloc_bytes. Equals to /memory/classes/heap/objects:bytes.
|
||||
# TYPE go_memstats_heap_alloc_bytes gauge
|
||||
# HELP go_memstats_heap_idle_bytes Number of heap bytes waiting to be used. Equals to /memory/classes/heap/released:bytes + /memory/classes/heap/free:bytes.
|
||||
# TYPE go_memstats_heap_idle_bytes gauge
|
||||
# HELP go_memstats_heap_inuse_bytes Number of heap bytes that are in use. Equals to /memory/classes/heap/objects:bytes + /memory/classes/heap/unused:bytes
|
||||
# TYPE go_memstats_heap_inuse_bytes gauge
|
||||
# HELP go_memstats_heap_objects Number of currently allocated objects. Equals to /gc/heap/objects:objects.
|
||||
# TYPE go_memstats_heap_objects gauge
|
||||
# HELP go_memstats_heap_released_bytes Number of heap bytes released to OS. Equals to /memory/classes/heap/released:bytes.
|
||||
# TYPE go_memstats_heap_released_bytes gauge
|
||||
# HELP go_memstats_heap_sys_bytes Number of heap bytes obtained from system. Equals to /memory/classes/heap/objects:bytes + /memory/classes/heap/unused:bytes + /memory/classes/heap/released:bytes + /memory/classes/heap/free:bytes.
|
||||
# TYPE go_memstats_heap_sys_bytes gauge
|
||||
# HELP go_memstats_last_gc_time_seconds Number of seconds since 1970 of last garbage collection.
|
||||
# TYPE go_memstats_last_gc_time_seconds gauge
|
||||
# HELP go_memstats_mallocs_total Total number of heap objects allocated, both live and gc-ed. Semantically a counter version for go_memstats_heap_objects gauge. Equals to /gc/heap/allocs:objects + /gc/heap/tiny/allocs:objects.
|
||||
# TYPE go_memstats_mallocs_total counter
|
||||
# HELP go_memstats_mcache_inuse_bytes Number of bytes in use by mcache structures. Equals to /memory/classes/metadata/mcache/inuse:bytes.
|
||||
# TYPE go_memstats_mcache_inuse_bytes gauge
|
||||
# HELP go_memstats_mcache_sys_bytes Number of bytes used for mcache structures obtained from system. Equals to /memory/classes/metadata/mcache/inuse:bytes + /memory/classes/metadata/mcache/free:bytes.
|
||||
# TYPE go_memstats_mcache_sys_bytes gauge
|
||||
# HELP go_memstats_mspan_inuse_bytes Number of bytes in use by mspan structures. Equals to /memory/classes/metadata/mspan/inuse:bytes.
|
||||
# TYPE go_memstats_mspan_inuse_bytes gauge
|
||||
# HELP go_memstats_mspan_sys_bytes Number of bytes used for mspan structures obtained from system. Equals to /memory/classes/metadata/mspan/inuse:bytes + /memory/classes/metadata/mspan/free:bytes.
|
||||
# TYPE go_memstats_mspan_sys_bytes gauge
|
||||
# HELP go_memstats_next_gc_bytes Number of heap bytes when next garbage collection will take place. Equals to /gc/heap/goal:bytes.
|
||||
# TYPE go_memstats_next_gc_bytes gauge
|
||||
# HELP go_memstats_other_sys_bytes Number of bytes used for other system allocations. Equals to /memory/classes/other:bytes.
|
||||
# TYPE go_memstats_other_sys_bytes gauge
|
||||
# HELP go_memstats_stack_inuse_bytes Number of bytes obtained from system for stack allocator in non-CGO environments. Equals to /memory/classes/heap/stacks:bytes.
|
||||
# TYPE go_memstats_stack_inuse_bytes gauge
|
||||
# HELP go_memstats_stack_sys_bytes Number of bytes obtained from system for stack allocator. Equals to /memory/classes/heap/stacks:bytes + /memory/classes/os-stacks:bytes.
|
||||
# TYPE go_memstats_stack_sys_bytes gauge
|
||||
# HELP go_memstats_sys_bytes Number of bytes obtained from system. Equals to /memory/classes/total:byte.
|
||||
# TYPE go_memstats_sys_bytes gauge
|
||||
# HELP go_sched_gomaxprocs_threads The current runtime.GOMAXPROCS setting, or the number of operating system threads that can execute user-level Go code simultaneously. Sourced from /sched/gomaxprocs:threads
|
||||
# TYPE go_sched_gomaxprocs_threads gauge
|
||||
# HELP go_threads Number of OS threads created.
|
||||
# TYPE go_threads gauge
|
||||
# HELP node_exporter_build_info A metric with a constant '1' value labeled by version, revision, branch, goversion from which node_exporter was built, and the goos and goarch for the build.
|
||||
# TYPE node_exporter_build_info gauge
|
||||
# HELP node_memory_size_bytes Memory information field size_bytes.
|
||||
# TYPE node_memory_size_bytes gauge
|
||||
node_memory_size_bytes 6.218080256e+09
|
||||
# HELP node_memory_swap_size_bytes Memory information field swap_size_bytes.
|
||||
# TYPE node_memory_swap_size_bytes gauge
|
||||
node_memory_swap_size_bytes 6.442426368e+09
|
||||
# HELP node_memory_swap_used_bytes Memory information field swap_used_bytes.
|
||||
# TYPE node_memory_swap_used_bytes gauge
|
||||
node_memory_swap_used_bytes 0
|
||||
# HELP node_memory_swapped_in_pages_bytes_total Memory information field swapped_in_pages_bytes_total.
|
||||
# TYPE node_memory_swapped_in_pages_bytes_total counter
|
||||
node_memory_swapped_in_pages_bytes_total 0
|
||||
# HELP node_memory_swapped_out_pages_bytes_total Memory information field swapped_out_pages_bytes_total.
|
||||
# TYPE node_memory_swapped_out_pages_bytes_total counter
|
||||
node_memory_swapped_out_pages_bytes_total 0
|
||||
# HELP node_os_info A metric with a constant '1' value labeled by build_id, id, id_like, image_id, image_version, name, pretty_name, variant, variant_id, version, version_codename, version_id.
|
||||
# TYPE node_os_info gauge
|
||||
node_os_info{build_id="",id="ubuntu",id_like="debian",image_id="",image_version="",name="Ubuntu",pretty_name="Ubuntu 20.04.2 LTS",variant="",variant_id="",version="20.04.2 LTS (Focal Fossa)",version_codename="focal",version_id="20.04"} 1
|
||||
# HELP node_os_version Metric containing the major.minor part of the OS version.
|
||||
# TYPE node_os_version gauge
|
||||
node_os_version{id="ubuntu",id_like="debian",name="Ubuntu"} 20.04
|
||||
# HELP node_scrape_collector_duration_seconds node_exporter: Duration of a collector scrape.
|
||||
# TYPE node_scrape_collector_duration_seconds gauge
|
||||
# HELP node_scrape_collector_success node_exporter: Whether a collector succeeded.
|
||||
# TYPE node_scrape_collector_success gauge
|
||||
node_scrape_collector_success{collector="boottime"} 1
|
||||
node_scrape_collector_success{collector="cpu"} 0
|
||||
node_scrape_collector_success{collector="loadavg"} 1
|
||||
node_scrape_collector_success{collector="meminfo"} 1
|
||||
node_scrape_collector_success{collector="os"} 1
|
||||
node_scrape_collector_success{collector="textfile"} 1
|
||||
node_scrape_collector_success{collector="time"} 1
|
||||
node_scrape_collector_success{collector="xfrm"} 1
|
||||
# HELP node_textfile_mtime_seconds Unixtime mtime of textfiles successfully read.
|
||||
# TYPE node_textfile_mtime_seconds gauge
|
||||
# HELP node_textfile_scrape_error 1 if there was an error opening or reading a file, 0 otherwise
|
||||
# TYPE node_textfile_scrape_error gauge
|
||||
node_textfile_scrape_error 0
|
||||
# HELP node_time_seconds System time in seconds since epoch (1970).
|
||||
# TYPE node_time_seconds gauge
|
||||
# HELP node_time_zone_offset_seconds System time zone offset in seconds.
|
||||
# TYPE node_time_zone_offset_seconds gauge
|
||||
# HELP node_xfrm_acquire_error_packets_total State hasn’t been fully acquired before use
|
||||
# TYPE node_xfrm_acquire_error_packets_total counter
|
||||
node_xfrm_acquire_error_packets_total 24532
|
||||
# HELP node_xfrm_fwd_hdr_error_packets_total Forward routing of a packet is not allowed
|
||||
# TYPE node_xfrm_fwd_hdr_error_packets_total counter
|
||||
node_xfrm_fwd_hdr_error_packets_total 6654
|
||||
# HELP node_xfrm_in_buffer_error_packets_total No buffer is left
|
||||
# TYPE node_xfrm_in_buffer_error_packets_total counter
|
||||
node_xfrm_in_buffer_error_packets_total 2
|
||||
# HELP node_xfrm_in_error_packets_total All errors not matched by other
|
||||
# TYPE node_xfrm_in_error_packets_total counter
|
||||
node_xfrm_in_error_packets_total 1
|
||||
# HELP node_xfrm_in_hdr_error_packets_total Header error
|
||||
# TYPE node_xfrm_in_hdr_error_packets_total counter
|
||||
node_xfrm_in_hdr_error_packets_total 4
|
||||
# HELP node_xfrm_in_no_pols_packets_total No policy is found for states e.g. Inbound SAs are correct but no SP is found
|
||||
# TYPE node_xfrm_in_no_pols_packets_total counter
|
||||
node_xfrm_in_no_pols_packets_total 65432
|
||||
# HELP node_xfrm_in_no_states_packets_total No state is found i.e. Either inbound SPI, address, or IPsec protocol at SA is wrong
|
||||
# TYPE node_xfrm_in_no_states_packets_total counter
|
||||
node_xfrm_in_no_states_packets_total 3
|
||||
# HELP node_xfrm_in_pol_block_packets_total Policy discards
|
||||
# TYPE node_xfrm_in_pol_block_packets_total counter
|
||||
node_xfrm_in_pol_block_packets_total 100
|
||||
# HELP node_xfrm_in_pol_error_packets_total Policy error
|
||||
# TYPE node_xfrm_in_pol_error_packets_total counter
|
||||
node_xfrm_in_pol_error_packets_total 10000
|
||||
# HELP node_xfrm_in_state_expired_packets_total State is expired
|
||||
# TYPE node_xfrm_in_state_expired_packets_total counter
|
||||
node_xfrm_in_state_expired_packets_total 7
|
||||
# HELP node_xfrm_in_state_invalid_packets_total State is invalid
|
||||
# TYPE node_xfrm_in_state_invalid_packets_total counter
|
||||
node_xfrm_in_state_invalid_packets_total 55555
|
||||
# HELP node_xfrm_in_state_mismatch_packets_total State has mismatch option e.g. UDP encapsulation type is mismatch
|
||||
# TYPE node_xfrm_in_state_mismatch_packets_total counter
|
||||
node_xfrm_in_state_mismatch_packets_total 23451
|
||||
# HELP node_xfrm_in_state_mode_error_packets_total Transformation mode specific error
|
||||
# TYPE node_xfrm_in_state_mode_error_packets_total counter
|
||||
node_xfrm_in_state_mode_error_packets_total 100
|
||||
# HELP node_xfrm_in_state_proto_error_packets_total Transformation protocol specific error e.g. SA key is wrong
|
||||
# TYPE node_xfrm_in_state_proto_error_packets_total counter
|
||||
node_xfrm_in_state_proto_error_packets_total 40
|
||||
# HELP node_xfrm_in_state_seq_error_packets_total Sequence error i.e. Sequence number is out of window
|
||||
# TYPE node_xfrm_in_state_seq_error_packets_total counter
|
||||
node_xfrm_in_state_seq_error_packets_total 6000
|
||||
# HELP node_xfrm_in_tmpl_mismatch_packets_total No matching template for states e.g. Inbound SAs are correct but SP rule is wrong
|
||||
# TYPE node_xfrm_in_tmpl_mismatch_packets_total counter
|
||||
node_xfrm_in_tmpl_mismatch_packets_total 51
|
||||
# HELP node_xfrm_out_bundle_check_error_packets_total Bundle check error
|
||||
# TYPE node_xfrm_out_bundle_check_error_packets_total counter
|
||||
node_xfrm_out_bundle_check_error_packets_total 555
|
||||
# HELP node_xfrm_out_bundle_gen_error_packets_total Bundle generation error
|
||||
# TYPE node_xfrm_out_bundle_gen_error_packets_total counter
|
||||
node_xfrm_out_bundle_gen_error_packets_total 43321
|
||||
# HELP node_xfrm_out_error_packets_total All errors which is not matched others
|
||||
# TYPE node_xfrm_out_error_packets_total counter
|
||||
node_xfrm_out_error_packets_total 1e+06
|
||||
# HELP node_xfrm_out_no_states_packets_total No state is found
|
||||
# TYPE node_xfrm_out_no_states_packets_total counter
|
||||
node_xfrm_out_no_states_packets_total 869
|
||||
# HELP node_xfrm_out_pol_block_packets_total Policy discards
|
||||
# TYPE node_xfrm_out_pol_block_packets_total counter
|
||||
node_xfrm_out_pol_block_packets_total 43456
|
||||
# HELP node_xfrm_out_pol_dead_packets_total Policy is dead
|
||||
# TYPE node_xfrm_out_pol_dead_packets_total counter
|
||||
node_xfrm_out_pol_dead_packets_total 7656
|
||||
# HELP node_xfrm_out_pol_error_packets_total Policy error
|
||||
# TYPE node_xfrm_out_pol_error_packets_total counter
|
||||
node_xfrm_out_pol_error_packets_total 1454
|
||||
# HELP node_xfrm_out_state_expired_packets_total State is expired
|
||||
# TYPE node_xfrm_out_state_expired_packets_total counter
|
||||
node_xfrm_out_state_expired_packets_total 565
|
||||
# HELP node_xfrm_out_state_invalid_packets_total State is invalid, perhaps expired
|
||||
# TYPE node_xfrm_out_state_invalid_packets_total counter
|
||||
node_xfrm_out_state_invalid_packets_total 28765
|
||||
# HELP node_xfrm_out_state_mode_error_packets_total Transformation mode specific error
|
||||
# TYPE node_xfrm_out_state_mode_error_packets_total counter
|
||||
node_xfrm_out_state_mode_error_packets_total 8
|
||||
# HELP node_xfrm_out_state_proto_error_packets_total Transformation protocol specific error
|
||||
# TYPE node_xfrm_out_state_proto_error_packets_total counter
|
||||
node_xfrm_out_state_proto_error_packets_total 4542
|
||||
# HELP node_xfrm_out_state_seq_error_packets_total Sequence error i.e. Sequence number overflow
|
||||
# TYPE node_xfrm_out_state_seq_error_packets_total counter
|
||||
node_xfrm_out_state_seq_error_packets_total 543
|
||||
# HELP process_open_fds Number of open file descriptors.
|
||||
# TYPE process_open_fds gauge
|
||||
# HELP promhttp_metric_handler_errors_total Total number of internal errors encountered by the promhttp metric handler.
|
||||
# TYPE promhttp_metric_handler_errors_total counter
|
||||
promhttp_metric_handler_errors_total{cause="encoding"} 0
|
||||
promhttp_metric_handler_errors_total{cause="gathering"} 0
|
||||
# HELP promhttp_metric_handler_requests_in_flight Current number of scrapes being served.
|
||||
# TYPE promhttp_metric_handler_requests_in_flight gauge
|
||||
promhttp_metric_handler_requests_in_flight 1
|
||||
# HELP promhttp_metric_handler_requests_total Total number of scrapes by HTTP status code.
|
||||
# TYPE promhttp_metric_handler_requests_total counter
|
||||
promhttp_metric_handler_requests_total{code="200"} 0
|
||||
promhttp_metric_handler_requests_total{code="500"} 0
|
||||
promhttp_metric_handler_requests_total{code="503"} 0
|
||||
# HELP testmetric1_1 Metric read from collector/fixtures/textfile/two_metric_files/metrics1.prom
|
||||
# TYPE testmetric1_1 untyped
|
||||
testmetric1_1{foo="bar"} 10
|
||||
# HELP testmetric1_2 Metric read from collector/fixtures/textfile/two_metric_files/metrics1.prom
|
||||
# TYPE testmetric1_2 untyped
|
||||
testmetric1_2{foo="baz"} 20
|
||||
# HELP testmetric2_1 Metric read from collector/fixtures/textfile/two_metric_files/metrics2.prom
|
||||
# TYPE testmetric2_1 untyped
|
||||
testmetric2_1{foo="bar"} 30
|
||||
# HELP testmetric2_2 Metric read from collector/fixtures/textfile/two_metric_files/metrics2.prom
|
||||
# TYPE testmetric2_2 untyped
|
||||
testmetric2_2{foo="baz"} 40
|
285
collector/fixtures/e2e-output-openbsd.txt
Normal file
285
collector/fixtures/e2e-output-openbsd.txt
Normal file
@ -0,0 +1,285 @@
|
||||
# HELP go_gc_duration_seconds A summary of the wall-time pause (stop-the-world) duration in garbage collection cycles.
|
||||
# TYPE go_gc_duration_seconds summary
|
||||
# HELP go_gc_gogc_percent Heap size target percentage configured by the user, otherwise 100. This value is set by the GOGC environment variable, and the runtime/debug.SetGCPercent function. Sourced from /gc/gogc:percent
|
||||
# TYPE go_gc_gogc_percent gauge
|
||||
# HELP go_gc_gomemlimit_bytes Go runtime memory limit configured by the user, otherwise math.MaxInt64. This value is set by the GOMEMLIMIT environment variable, and the runtime/debug.SetMemoryLimit function. Sourced from /gc/gomemlimit:bytes
|
||||
# TYPE go_gc_gomemlimit_bytes gauge
|
||||
# HELP go_goroutines Number of goroutines that currently exist.
|
||||
# TYPE go_goroutines gauge
|
||||
# HELP go_info Information about the Go environment.
|
||||
# TYPE go_info gauge
|
||||
# HELP go_memstats_alloc_bytes Number of bytes allocated in heap and currently in use. Equals to /memory/classes/heap/objects:bytes.
|
||||
# TYPE go_memstats_alloc_bytes gauge
|
||||
# HELP go_memstats_alloc_bytes_total Total number of bytes allocated in heap until now, even if released already. Equals to /gc/heap/allocs:bytes.
|
||||
# TYPE go_memstats_alloc_bytes_total counter
|
||||
# HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table. Equals to /memory/classes/profiling/buckets:bytes.
|
||||
# TYPE go_memstats_buck_hash_sys_bytes gauge
|
||||
# HELP go_memstats_frees_total Total number of heap objects frees. Equals to /gc/heap/frees:objects + /gc/heap/tiny/allocs:objects.
|
||||
# TYPE go_memstats_frees_total counter
|
||||
# HELP go_memstats_gc_sys_bytes Number of bytes used for garbage collection system metadata. Equals to /memory/classes/metadata/other:bytes.
|
||||
# TYPE go_memstats_gc_sys_bytes gauge
|
||||
# HELP go_memstats_heap_alloc_bytes Number of heap bytes allocated and currently in use, same as go_memstats_alloc_bytes. Equals to /memory/classes/heap/objects:bytes.
|
||||
# TYPE go_memstats_heap_alloc_bytes gauge
|
||||
# HELP go_memstats_heap_idle_bytes Number of heap bytes waiting to be used. Equals to /memory/classes/heap/released:bytes + /memory/classes/heap/free:bytes.
|
||||
# TYPE go_memstats_heap_idle_bytes gauge
|
||||
# HELP go_memstats_heap_inuse_bytes Number of heap bytes that are in use. Equals to /memory/classes/heap/objects:bytes + /memory/classes/heap/unused:bytes
|
||||
# TYPE go_memstats_heap_inuse_bytes gauge
|
||||
# HELP go_memstats_heap_objects Number of currently allocated objects. Equals to /gc/heap/objects:objects.
|
||||
# TYPE go_memstats_heap_objects gauge
|
||||
# HELP go_memstats_heap_released_bytes Number of heap bytes released to OS. Equals to /memory/classes/heap/released:bytes.
|
||||
# TYPE go_memstats_heap_released_bytes gauge
|
||||
# HELP go_memstats_heap_sys_bytes Number of heap bytes obtained from system. Equals to /memory/classes/heap/objects:bytes + /memory/classes/heap/unused:bytes + /memory/classes/heap/released:bytes + /memory/classes/heap/free:bytes.
|
||||
# TYPE go_memstats_heap_sys_bytes gauge
|
||||
# HELP go_memstats_last_gc_time_seconds Number of seconds since 1970 of last garbage collection.
|
||||
# TYPE go_memstats_last_gc_time_seconds gauge
|
||||
# HELP go_memstats_mallocs_total Total number of heap objects allocated, both live and gc-ed. Semantically a counter version for go_memstats_heap_objects gauge. Equals to /gc/heap/allocs:objects + /gc/heap/tiny/allocs:objects.
|
||||
# TYPE go_memstats_mallocs_total counter
|
||||
# HELP go_memstats_mcache_inuse_bytes Number of bytes in use by mcache structures. Equals to /memory/classes/metadata/mcache/inuse:bytes.
|
||||
# TYPE go_memstats_mcache_inuse_bytes gauge
|
||||
# HELP go_memstats_mcache_sys_bytes Number of bytes used for mcache structures obtained from system. Equals to /memory/classes/metadata/mcache/inuse:bytes + /memory/classes/metadata/mcache/free:bytes.
|
||||
# TYPE go_memstats_mcache_sys_bytes gauge
|
||||
# HELP go_memstats_mspan_inuse_bytes Number of bytes in use by mspan structures. Equals to /memory/classes/metadata/mspan/inuse:bytes.
|
||||
# TYPE go_memstats_mspan_inuse_bytes gauge
|
||||
# HELP go_memstats_mspan_sys_bytes Number of bytes used for mspan structures obtained from system. Equals to /memory/classes/metadata/mspan/inuse:bytes + /memory/classes/metadata/mspan/free:bytes.
|
||||
# TYPE go_memstats_mspan_sys_bytes gauge
|
||||
# HELP go_memstats_next_gc_bytes Number of heap bytes when next garbage collection will take place. Equals to /gc/heap/goal:bytes.
|
||||
# TYPE go_memstats_next_gc_bytes gauge
|
||||
# HELP go_memstats_other_sys_bytes Number of bytes used for other system allocations. Equals to /memory/classes/other:bytes.
|
||||
# TYPE go_memstats_other_sys_bytes gauge
|
||||
# HELP go_memstats_stack_inuse_bytes Number of bytes obtained from system for stack allocator in non-CGO environments. Equals to /memory/classes/heap/stacks:bytes.
|
||||
# TYPE go_memstats_stack_inuse_bytes gauge
|
||||
# HELP go_memstats_stack_sys_bytes Number of bytes obtained from system for stack allocator. Equals to /memory/classes/heap/stacks:bytes + /memory/classes/os-stacks:bytes.
|
||||
# TYPE go_memstats_stack_sys_bytes gauge
|
||||
# HELP go_memstats_sys_bytes Number of bytes obtained from system. Equals to /memory/classes/total:byte.
|
||||
# TYPE go_memstats_sys_bytes gauge
|
||||
# HELP go_sched_gomaxprocs_threads The current runtime.GOMAXPROCS setting, or the number of operating system threads that can execute user-level Go code simultaneously. Sourced from /sched/gomaxprocs:threads
|
||||
# TYPE go_sched_gomaxprocs_threads gauge
|
||||
# HELP go_threads Number of OS threads created.
|
||||
# TYPE go_threads gauge
|
||||
# HELP node_buddyinfo_blocks Count of free blocks according to size.
|
||||
# TYPE node_buddyinfo_blocks gauge
|
||||
node_buddyinfo_blocks{node="0",size="0",zone="DMA"} 1
|
||||
node_buddyinfo_blocks{node="0",size="0",zone="DMA32"} 759
|
||||
node_buddyinfo_blocks{node="0",size="0",zone="Normal"} 4381
|
||||
node_buddyinfo_blocks{node="0",size="1",zone="DMA"} 0
|
||||
node_buddyinfo_blocks{node="0",size="1",zone="DMA32"} 572
|
||||
node_buddyinfo_blocks{node="0",size="1",zone="Normal"} 1093
|
||||
node_buddyinfo_blocks{node="0",size="10",zone="DMA"} 3
|
||||
node_buddyinfo_blocks{node="0",size="10",zone="DMA32"} 0
|
||||
node_buddyinfo_blocks{node="0",size="10",zone="Normal"} 0
|
||||
node_buddyinfo_blocks{node="0",size="2",zone="DMA"} 1
|
||||
node_buddyinfo_blocks{node="0",size="2",zone="DMA32"} 791
|
||||
node_buddyinfo_blocks{node="0",size="2",zone="Normal"} 185
|
||||
node_buddyinfo_blocks{node="0",size="3",zone="DMA"} 0
|
||||
node_buddyinfo_blocks{node="0",size="3",zone="DMA32"} 475
|
||||
node_buddyinfo_blocks{node="0",size="3",zone="Normal"} 1530
|
||||
node_buddyinfo_blocks{node="0",size="4",zone="DMA"} 2
|
||||
node_buddyinfo_blocks{node="0",size="4",zone="DMA32"} 194
|
||||
node_buddyinfo_blocks{node="0",size="4",zone="Normal"} 567
|
||||
node_buddyinfo_blocks{node="0",size="5",zone="DMA"} 1
|
||||
node_buddyinfo_blocks{node="0",size="5",zone="DMA32"} 45
|
||||
node_buddyinfo_blocks{node="0",size="5",zone="Normal"} 102
|
||||
node_buddyinfo_blocks{node="0",size="6",zone="DMA"} 1
|
||||
node_buddyinfo_blocks{node="0",size="6",zone="DMA32"} 12
|
||||
node_buddyinfo_blocks{node="0",size="6",zone="Normal"} 4
|
||||
node_buddyinfo_blocks{node="0",size="7",zone="DMA"} 0
|
||||
node_buddyinfo_blocks{node="0",size="7",zone="DMA32"} 0
|
||||
node_buddyinfo_blocks{node="0",size="7",zone="Normal"} 0
|
||||
node_buddyinfo_blocks{node="0",size="8",zone="DMA"} 1
|
||||
node_buddyinfo_blocks{node="0",size="8",zone="DMA32"} 0
|
||||
node_buddyinfo_blocks{node="0",size="8",zone="Normal"} 0
|
||||
node_buddyinfo_blocks{node="0",size="9",zone="DMA"} 1
|
||||
node_buddyinfo_blocks{node="0",size="9",zone="DMA32"} 0
|
||||
node_buddyinfo_blocks{node="0",size="9",zone="Normal"} 0
|
||||
# HELP node_exporter_build_info A metric with a constant '1' value labeled by version, revision, branch, goversion from which node_exporter was built, and the goos and goarch for the build.
|
||||
# TYPE node_exporter_build_info gauge
|
||||
# HELP node_memory_size_bytes Memory information field size_bytes.
|
||||
# TYPE node_memory_size_bytes gauge
|
||||
node_memory_size_bytes 6.216278016e+09
|
||||
# HELP node_memory_swap_size_bytes Memory information field swap_size_bytes.
|
||||
# TYPE node_memory_swap_size_bytes gauge
|
||||
node_memory_swap_size_bytes 6.693941248e+09
|
||||
# HELP node_memory_swap_used_bytes Memory information field swap_used_bytes.
|
||||
# TYPE node_memory_swap_used_bytes gauge
|
||||
node_memory_swap_used_bytes 0
|
||||
# HELP node_memory_swapped_in_pages_bytes_total Memory information field swapped_in_pages_bytes_total.
|
||||
# TYPE node_memory_swapped_in_pages_bytes_total counter
|
||||
node_memory_swapped_in_pages_bytes_total 0
|
||||
# HELP node_memory_swapped_out_pages_bytes_total Memory information field swapped_out_pages_bytes_total.
|
||||
# TYPE node_memory_swapped_out_pages_bytes_total counter
|
||||
node_memory_swapped_out_pages_bytes_total 0
|
||||
# HELP node_network_noproto_total Network device statistic noproto.
|
||||
# TYPE node_network_noproto_total counter
|
||||
node_network_noproto_total{device="lo0"} 0
|
||||
node_network_noproto_total{device="pflog0"} 0
|
||||
# HELP node_network_receive_bytes_total Network device statistic receive_bytes.
|
||||
# TYPE node_network_receive_bytes_total counter
|
||||
# HELP node_network_receive_drop_total Network device statistic receive_drop.
|
||||
# TYPE node_network_receive_drop_total counter
|
||||
node_network_receive_drop_total{device="lo0"} 0
|
||||
node_network_receive_drop_total{device="pflog0"} 0
|
||||
# HELP node_network_receive_errs_total Network device statistic receive_errs.
|
||||
# TYPE node_network_receive_errs_total counter
|
||||
node_network_receive_errs_total{device="lo0"} 0
|
||||
node_network_receive_errs_total{device="pflog0"} 0
|
||||
# HELP node_network_receive_multicast_total Network device statistic receive_multicast.
|
||||
# TYPE node_network_receive_multicast_total counter
|
||||
node_network_receive_multicast_total{device="lo0"} 0
|
||||
node_network_receive_multicast_total{device="pflog0"} 0
|
||||
# HELP node_network_receive_packets_total Network device statistic receive_packets.
|
||||
# TYPE node_network_receive_packets_total counter
|
||||
# HELP node_network_transmit_bytes_total Network device statistic transmit_bytes.
|
||||
# TYPE node_network_transmit_bytes_total counter
|
||||
# HELP node_network_transmit_colls_total Network device statistic transmit_colls.
|
||||
# TYPE node_network_transmit_colls_total counter
|
||||
node_network_transmit_colls_total{device="lo0"} 0
|
||||
node_network_transmit_colls_total{device="pflog0"} 0
|
||||
# HELP node_network_transmit_drop_total Network device statistic transmit_drop.
|
||||
# TYPE node_network_transmit_drop_total counter
|
||||
node_network_transmit_drop_total{device="lo0"} 0
|
||||
node_network_transmit_drop_total{device="pflog0"} 0
|
||||
# HELP node_network_transmit_errs_total Network device statistic transmit_errs.
|
||||
# TYPE node_network_transmit_errs_total counter
|
||||
node_network_transmit_errs_total{device="lo0"} 0
|
||||
node_network_transmit_errs_total{device="pflog0"} 0
|
||||
# HELP node_network_transmit_packets_total Network device statistic transmit_packets.
|
||||
# TYPE node_network_transmit_packets_total counter
|
||||
# HELP node_os_info A metric with a constant '1' value labeled by build_id, id, id_like, image_id, image_version, name, pretty_name, variant, variant_id, version, version_codename, version_id.
|
||||
# TYPE node_os_info gauge
|
||||
node_os_info{build_id="",id="ubuntu",id_like="debian",image_id="",image_version="",name="Ubuntu",pretty_name="Ubuntu 20.04.2 LTS",variant="",variant_id="",version="20.04.2 LTS (Focal Fossa)",version_codename="focal",version_id="20.04"} 1
|
||||
# HELP node_os_version Metric containing the major.minor part of the OS version.
|
||||
# TYPE node_os_version gauge
|
||||
node_os_version{id="ubuntu",id_like="debian",name="Ubuntu"} 20.04
|
||||
# HELP node_scrape_collector_duration_seconds node_exporter: Duration of a collector scrape.
|
||||
# TYPE node_scrape_collector_duration_seconds gauge
|
||||
# HELP node_scrape_collector_success node_exporter: Whether a collector succeeded.
|
||||
# TYPE node_scrape_collector_success gauge
|
||||
node_scrape_collector_success{collector="boottime"} 1
|
||||
node_scrape_collector_success{collector="buddyinfo"} 1
|
||||
node_scrape_collector_success{collector="cpu"} 1
|
||||
node_scrape_collector_success{collector="diskstats"} 1
|
||||
node_scrape_collector_success{collector="interrupts"} 1
|
||||
node_scrape_collector_success{collector="loadavg"} 1
|
||||
node_scrape_collector_success{collector="meminfo"} 1
|
||||
node_scrape_collector_success{collector="netdev"} 1
|
||||
node_scrape_collector_success{collector="os"} 1
|
||||
node_scrape_collector_success{collector="textfile"} 1
|
||||
node_scrape_collector_success{collector="time"} 1
|
||||
node_scrape_collector_success{collector="xfrm"} 1
|
||||
# HELP node_textfile_mtime_seconds Unixtime mtime of textfiles successfully read.
|
||||
# TYPE node_textfile_mtime_seconds gauge
|
||||
# HELP node_textfile_scrape_error 1 if there was an error opening or reading a file, 0 otherwise
|
||||
# TYPE node_textfile_scrape_error gauge
|
||||
node_textfile_scrape_error 0
|
||||
# HELP node_time_seconds System time in seconds since epoch (1970).
|
||||
# TYPE node_time_seconds gauge
|
||||
# HELP node_time_zone_offset_seconds System time zone offset in seconds.
|
||||
# TYPE node_time_zone_offset_seconds gauge
|
||||
# HELP node_xfrm_acquire_error_packets_total State hasn’t been fully acquired before use
|
||||
# TYPE node_xfrm_acquire_error_packets_total counter
|
||||
node_xfrm_acquire_error_packets_total 24532
|
||||
# HELP node_xfrm_fwd_hdr_error_packets_total Forward routing of a packet is not allowed
|
||||
# TYPE node_xfrm_fwd_hdr_error_packets_total counter
|
||||
node_xfrm_fwd_hdr_error_packets_total 6654
|
||||
# HELP node_xfrm_in_buffer_error_packets_total No buffer is left
|
||||
# TYPE node_xfrm_in_buffer_error_packets_total counter
|
||||
node_xfrm_in_buffer_error_packets_total 2
|
||||
# HELP node_xfrm_in_error_packets_total All errors not matched by other
|
||||
# TYPE node_xfrm_in_error_packets_total counter
|
||||
node_xfrm_in_error_packets_total 1
|
||||
# HELP node_xfrm_in_hdr_error_packets_total Header error
|
||||
# TYPE node_xfrm_in_hdr_error_packets_total counter
|
||||
node_xfrm_in_hdr_error_packets_total 4
|
||||
# HELP node_xfrm_in_no_pols_packets_total No policy is found for states e.g. Inbound SAs are correct but no SP is found
|
||||
# TYPE node_xfrm_in_no_pols_packets_total counter
|
||||
node_xfrm_in_no_pols_packets_total 65432
|
||||
# HELP node_xfrm_in_no_states_packets_total No state is found i.e. Either inbound SPI, address, or IPsec protocol at SA is wrong
|
||||
# TYPE node_xfrm_in_no_states_packets_total counter
|
||||
node_xfrm_in_no_states_packets_total 3
|
||||
# HELP node_xfrm_in_pol_block_packets_total Policy discards
|
||||
# TYPE node_xfrm_in_pol_block_packets_total counter
|
||||
node_xfrm_in_pol_block_packets_total 100
|
||||
# HELP node_xfrm_in_pol_error_packets_total Policy error
|
||||
# TYPE node_xfrm_in_pol_error_packets_total counter
|
||||
node_xfrm_in_pol_error_packets_total 10000
|
||||
# HELP node_xfrm_in_state_expired_packets_total State is expired
|
||||
# TYPE node_xfrm_in_state_expired_packets_total counter
|
||||
node_xfrm_in_state_expired_packets_total 7
|
||||
# HELP node_xfrm_in_state_invalid_packets_total State is invalid
|
||||
# TYPE node_xfrm_in_state_invalid_packets_total counter
|
||||
node_xfrm_in_state_invalid_packets_total 55555
|
||||
# HELP node_xfrm_in_state_mismatch_packets_total State has mismatch option e.g. UDP encapsulation type is mismatch
|
||||
# TYPE node_xfrm_in_state_mismatch_packets_total counter
|
||||
node_xfrm_in_state_mismatch_packets_total 23451
|
||||
# HELP node_xfrm_in_state_mode_error_packets_total Transformation mode specific error
|
||||
# TYPE node_xfrm_in_state_mode_error_packets_total counter
|
||||
node_xfrm_in_state_mode_error_packets_total 100
|
||||
# HELP node_xfrm_in_state_proto_error_packets_total Transformation protocol specific error e.g. SA key is wrong
|
||||
# TYPE node_xfrm_in_state_proto_error_packets_total counter
|
||||
node_xfrm_in_state_proto_error_packets_total 40
|
||||
# HELP node_xfrm_in_state_seq_error_packets_total Sequence error i.e. Sequence number is out of window
|
||||
# TYPE node_xfrm_in_state_seq_error_packets_total counter
|
||||
node_xfrm_in_state_seq_error_packets_total 6000
|
||||
# HELP node_xfrm_in_tmpl_mismatch_packets_total No matching template for states e.g. Inbound SAs are correct but SP rule is wrong
|
||||
# TYPE node_xfrm_in_tmpl_mismatch_packets_total counter
|
||||
node_xfrm_in_tmpl_mismatch_packets_total 51
|
||||
# HELP node_xfrm_out_bundle_check_error_packets_total Bundle check error
|
||||
# TYPE node_xfrm_out_bundle_check_error_packets_total counter
|
||||
node_xfrm_out_bundle_check_error_packets_total 555
|
||||
# HELP node_xfrm_out_bundle_gen_error_packets_total Bundle generation error
|
||||
# TYPE node_xfrm_out_bundle_gen_error_packets_total counter
|
||||
node_xfrm_out_bundle_gen_error_packets_total 43321
|
||||
# HELP node_xfrm_out_error_packets_total All errors which is not matched others
|
||||
# TYPE node_xfrm_out_error_packets_total counter
|
||||
node_xfrm_out_error_packets_total 1e+06
|
||||
# HELP node_xfrm_out_no_states_packets_total No state is found
|
||||
# TYPE node_xfrm_out_no_states_packets_total counter
|
||||
node_xfrm_out_no_states_packets_total 869
|
||||
# HELP node_xfrm_out_pol_block_packets_total Policy discards
|
||||
# TYPE node_xfrm_out_pol_block_packets_total counter
|
||||
node_xfrm_out_pol_block_packets_total 43456
|
||||
# HELP node_xfrm_out_pol_dead_packets_total Policy is dead
|
||||
# TYPE node_xfrm_out_pol_dead_packets_total counter
|
||||
node_xfrm_out_pol_dead_packets_total 7656
|
||||
# HELP node_xfrm_out_pol_error_packets_total Policy error
|
||||
# TYPE node_xfrm_out_pol_error_packets_total counter
|
||||
node_xfrm_out_pol_error_packets_total 1454
|
||||
# HELP node_xfrm_out_state_expired_packets_total State is expired
|
||||
# TYPE node_xfrm_out_state_expired_packets_total counter
|
||||
node_xfrm_out_state_expired_packets_total 565
|
||||
# HELP node_xfrm_out_state_invalid_packets_total State is invalid, perhaps expired
|
||||
# TYPE node_xfrm_out_state_invalid_packets_total counter
|
||||
node_xfrm_out_state_invalid_packets_total 28765
|
||||
# HELP node_xfrm_out_state_mode_error_packets_total Transformation mode specific error
|
||||
# TYPE node_xfrm_out_state_mode_error_packets_total counter
|
||||
node_xfrm_out_state_mode_error_packets_total 8
|
||||
# HELP node_xfrm_out_state_proto_error_packets_total Transformation protocol specific error
|
||||
# TYPE node_xfrm_out_state_proto_error_packets_total counter
|
||||
node_xfrm_out_state_proto_error_packets_total 4542
|
||||
# HELP node_xfrm_out_state_seq_error_packets_total Sequence error i.e. Sequence number overflow
|
||||
# TYPE node_xfrm_out_state_seq_error_packets_total counter
|
||||
node_xfrm_out_state_seq_error_packets_total 543
|
||||
# HELP promhttp_metric_handler_errors_total Total number of internal errors encountered by the promhttp metric handler.
|
||||
# TYPE promhttp_metric_handler_errors_total counter
|
||||
promhttp_metric_handler_errors_total{cause="encoding"} 0
|
||||
promhttp_metric_handler_errors_total{cause="gathering"} 0
|
||||
# HELP promhttp_metric_handler_requests_in_flight Current number of scrapes being served.
|
||||
# TYPE promhttp_metric_handler_requests_in_flight gauge
|
||||
promhttp_metric_handler_requests_in_flight 1
|
||||
# HELP promhttp_metric_handler_requests_total Total number of scrapes by HTTP status code.
|
||||
# TYPE promhttp_metric_handler_requests_total counter
|
||||
promhttp_metric_handler_requests_total{code="200"} 0
|
||||
promhttp_metric_handler_requests_total{code="500"} 0
|
||||
promhttp_metric_handler_requests_total{code="503"} 0
|
||||
# HELP testmetric1_1 Metric read from collector/fixtures/textfile/two_metric_files/metrics1.prom
|
||||
# TYPE testmetric1_1 untyped
|
||||
testmetric1_1{foo="bar"} 10
|
||||
# HELP testmetric1_2 Metric read from collector/fixtures/textfile/two_metric_files/metrics1.prom
|
||||
# TYPE testmetric1_2 untyped
|
||||
testmetric1_2{foo="baz"} 20
|
||||
# HELP testmetric2_1 Metric read from collector/fixtures/textfile/two_metric_files/metrics2.prom
|
||||
# TYPE testmetric2_1 untyped
|
||||
testmetric2_1{foo="bar"} 30
|
||||
# HELP testmetric2_2 Metric read from collector/fixtures/textfile/two_metric_files/metrics2.prom
|
||||
# TYPE testmetric2_2 untyped
|
||||
testmetric2_2{foo="baz"} 40
|
@ -2,6 +2,38 @@
|
||||
|
||||
set -euf -o pipefail
|
||||
|
||||
# Allow setting GOHOSTOS for debugging purposes.
|
||||
GOHOSTOS=${GOHOSTOS:-$(go env GOHOSTOS)}
|
||||
|
||||
# Allow setting arch for debugging purposes.
|
||||
arch=${arch:-$(uname -m)}
|
||||
|
||||
maybe_flag_search_scope() {
|
||||
local collector=$1
|
||||
os_aux_os=""
|
||||
if [[ $GOHOSTOS =~ ^(freebsd|openbsd|netbsd|solaris|dragonfly)$ ]]; then
|
||||
os_aux_os=" ${collector}_bsd.go"
|
||||
fi
|
||||
echo "${collector}_common.go ${collector}.go ${collector}_${GOHOSTOS}.go ${collector}_${GOHOSTOS}_${arch}.go${os_aux_os}"
|
||||
}
|
||||
|
||||
supported_collectors() {
|
||||
local collectors=$1
|
||||
local supported=""
|
||||
for collector in ${collectors}; do
|
||||
for filename in $(maybe_flag_search_scope "${collector}"); do
|
||||
file="collector/${filename}"
|
||||
if ./tools/tools match ${file} > /dev/null 2>&1; then
|
||||
if grep -h -E -o -- "registerCollector\(" ${file} > /dev/null 2>&1; then
|
||||
supported="${supported} ${collector}"
|
||||
fi
|
||||
break
|
||||
fi
|
||||
done
|
||||
done
|
||||
echo "${supported}" | tr ' ' '\n' | sort | uniq
|
||||
}
|
||||
|
||||
enabled_collectors=$(cat << COLLECTORS
|
||||
arp
|
||||
bcache
|
||||
@ -57,6 +89,8 @@ enabled_collectors=$(cat << COLLECTORS
|
||||
zoneinfo
|
||||
COLLECTORS
|
||||
)
|
||||
supported_enabled_collectors=$(supported_collectors "${enabled_collectors}")
|
||||
|
||||
disabled_collectors=$(cat << COLLECTORS
|
||||
selinux
|
||||
filesystem
|
||||
@ -64,6 +98,8 @@ disabled_collectors=$(cat << COLLECTORS
|
||||
uname
|
||||
COLLECTORS
|
||||
)
|
||||
supported_disabled_collectors=$(supported_collectors "${disabled_collectors}")
|
||||
|
||||
cd "$(dirname $0)"
|
||||
|
||||
port="$((10000 + (RANDOM % 10000)))"
|
||||
@ -71,11 +107,9 @@ tmpdir=$(mktemp -d /tmp/node_exporter_e2e_test.XXXXXX)
|
||||
|
||||
skip_re="^(go_|node_exporter_build_info|node_scrape_collector_duration_seconds|process_|node_textfile_mtime_seconds|node_time_(zone|seconds)|node_network_(receive|transmit)_(bytes|packets)_total)"
|
||||
|
||||
arch="$(uname -m)"
|
||||
|
||||
case "${arch}" in
|
||||
aarch64|ppc64le) fixture='collector/fixtures/e2e-64k-page-output.txt' ;;
|
||||
*) fixture='collector/fixtures/e2e-output.txt' ;;
|
||||
aarch64|ppc64le) fixture_metrics='collector/fixtures/e2e-64k-page-output.txt' ;;
|
||||
*) fixture_metrics='collector/fixtures/e2e-output.txt' ;;
|
||||
esac
|
||||
|
||||
# Only test CPU info collection on x86_64.
|
||||
@ -109,7 +143,7 @@ do
|
||||
*)
|
||||
echo "Usage: $0 [-k] [-u] [-v]"
|
||||
echo " -k: keep temporary files and leave node_exporter running"
|
||||
echo " -u: update fixture"
|
||||
echo " -u: update fixture_metrics"
|
||||
echo " -v: verbose output"
|
||||
exit 1
|
||||
;;
|
||||
@ -122,37 +156,126 @@ then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
collector_flags=$(cat << FLAGS
|
||||
${cpu_info_collector}
|
||||
--collector.arp.device-exclude=nope
|
||||
--collector.bcache.priorityStats
|
||||
--collector.cpu.info.bugs-include=${cpu_info_bugs}
|
||||
--collector.cpu.info.flags-include=${cpu_info_flags}
|
||||
--collector.hwmon.chip-include=(applesmc|coretemp|hwmon4|nct6779)
|
||||
--collector.netclass.ignore-invalid-speed
|
||||
--collector.netclass.ignored-devices=(dmz|int)
|
||||
--collector.netdev.device-include=lo
|
||||
--collector.qdisc.device-include=(wlan0|eth0)
|
||||
--collector.qdisc.fixtures=collector/fixtures/qdisc/
|
||||
--collector.stat.softirq
|
||||
--collector.sysctl.include-info=kernel.seccomp.actions_avail
|
||||
--collector.sysctl.include=fs.file-nr
|
||||
--collector.sysctl.include=fs.file-nr:total,current,max
|
||||
--collector.sysctl.include=kernel.threads-max
|
||||
--collector.textfile.directory=collector/fixtures/textfile/two_metric_files/
|
||||
--collector.wifi.fixtures=collector/fixtures/wifi
|
||||
--no-collector.arp.netlink
|
||||
FLAGS
|
||||
)
|
||||
|
||||
# Handle supported --[no-]collector.<name> flags. These are not hardcoded.
|
||||
_filtered_collector_flags=""
|
||||
for flag in ${collector_flags}; do
|
||||
collector=$(echo "${flag}" | cut -d"." -f2)
|
||||
# If the flag is associated with an enabled-by-default collector, include it.
|
||||
enabled_by_default=0
|
||||
for filename in $(maybe_flag_search_scope "${collector}") ; do
|
||||
file="collector/${filename}"
|
||||
if grep -h -E -o -- "registerCollector\(.*, defaultEnabled" ${file} > /dev/null 2>&1; then
|
||||
_filtered_collector_flags="${_filtered_collector_flags} ${flag}"
|
||||
enabled_by_default=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ ${enabled_by_default} -eq 1 ]; then
|
||||
continue
|
||||
fi
|
||||
# If the flag is associated with an enabled-list collector, include it.
|
||||
if echo "${supported_enabled_collectors} ${supported_disabled_collectors}" | grep -q -w "${collector}"; then
|
||||
_filtered_collector_flags="${_filtered_collector_flags} ${flag}"
|
||||
fi
|
||||
done
|
||||
|
||||
# Handle supported --[no-]collector.<name>.<collector> flags. These are hardcoded and matched by the expression below.
|
||||
filtered_collector_flags=""
|
||||
# Check flags of all supported collectors further down their sub-collectors (beyond the 2nd ".").
|
||||
for flag in ${_filtered_collector_flags}; do
|
||||
# Iterate through all possible files where the flag may be defined.
|
||||
flag_collector="$(echo "${flag}" | cut -d"." -f2)"
|
||||
for filename in $(maybe_flag_search_scope "${flag_collector}") ; do
|
||||
file="collector/${filename}"
|
||||
# Move to next iteration if the current file is not included under the build context.
|
||||
if ! ./tools/tools match "$file" > /dev/null 2>&1; then
|
||||
continue
|
||||
fi
|
||||
# Flag has the format: --[no-]collector.<name>.<collector>.
|
||||
if [ -n "$(echo ${flag} | cut -d"." -f3)" ]; then
|
||||
# Check if the flag is used in the file.
|
||||
trimmed_flag=$(echo "${flag}" | tr -d "\"' " | cut -d"=" -f1 | cut -c 3-)
|
||||
if [[ $trimmed_flag =~ ^no- ]]; then
|
||||
trimmed_flag=$(echo $trimmed_flag | cut -c 4-)
|
||||
fi
|
||||
if grep -h -E -o -- "kingpin.Flag\(\"${trimmed_flag}" ${file} > /dev/null 2>&1; then
|
||||
filtered_collector_flags="${filtered_collector_flags} ${flag}"
|
||||
else
|
||||
continue
|
||||
fi
|
||||
# Flag has the format: --[no-]collector.<name>.
|
||||
else
|
||||
# Flag is supported by the host.
|
||||
filtered_collector_flags="${filtered_collector_flags} ${flag}"
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
# Check for ignored flags.
|
||||
ignored_flags=""
|
||||
for flag in ${collector_flags}; do
|
||||
flag=$(echo "${flag}" | tr -d " ")
|
||||
if ! echo "${filtered_collector_flags}" | grep -q -F -- "${flag}" > /dev/null 2>&1; then
|
||||
ignored_flags="${ignored_flags} ${flag}"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "ENABLED COLLECTORS======="
|
||||
echo "${supported_enabled_collectors:1}" | tr ' ' '\n' | sort
|
||||
echo "========================="
|
||||
|
||||
echo "DISABLED COLLECTORS======"
|
||||
echo "${supported_disabled_collectors:1}" | tr ' ' '\n' | sort
|
||||
echo "========================="
|
||||
|
||||
echo "IGNORED FLAGS============"
|
||||
echo "${ignored_flags:1}"| tr ' ' '\n' | sort | uniq
|
||||
echo "========================="
|
||||
|
||||
./node_exporter \
|
||||
--path.rootfs="collector/fixtures" \
|
||||
--path.procfs="collector/fixtures/proc" \
|
||||
--path.sysfs="collector/fixtures/sys" \
|
||||
--path.udev.data="collector/fixtures/udev/data" \
|
||||
$(for c in ${enabled_collectors}; do echo --collector.${c} ; done) \
|
||||
$(for c in ${disabled_collectors}; do echo --no-collector.${c} ; done) \
|
||||
--collector.textfile.directory="collector/fixtures/textfile/two_metric_files/" \
|
||||
--collector.wifi.fixtures="collector/fixtures/wifi" \
|
||||
--collector.qdisc.fixtures="collector/fixtures/qdisc/" \
|
||||
--collector.qdisc.device-include="(wlan0|eth0)" \
|
||||
--collector.arp.device-exclude="nope" \
|
||||
--no-collector.arp.netlink \
|
||||
--collector.hwmon.chip-include="(applesmc|coretemp|hwmon4|nct6779)" \
|
||||
--collector.netclass.ignored-devices="(dmz|int)" \
|
||||
--collector.netclass.ignore-invalid-speed \
|
||||
--collector.netdev.device-include="lo" \
|
||||
--collector.bcache.priorityStats \
|
||||
"${cpu_info_collector}" \
|
||||
--collector.cpu.info.bugs-include="${cpu_info_bugs}" \
|
||||
--collector.cpu.info.flags-include="${cpu_info_flags}" \
|
||||
--collector.stat.softirq \
|
||||
--collector.sysctl.include="kernel.threads-max" \
|
||||
--collector.sysctl.include="fs.file-nr" \
|
||||
--collector.sysctl.include="fs.file-nr:total,current,max" \
|
||||
--collector.sysctl.include-info="kernel.seccomp.actions_avail" \
|
||||
$(for c in ${supported_enabled_collectors}; do echo --collector.${c} ; done) \
|
||||
$(for c in ${supported_disabled_collectors}; do echo --no-collector.${c} ; done) \
|
||||
${filtered_collector_flags} \
|
||||
--web.listen-address "127.0.0.1:${port}" \
|
||||
--log.level="debug" > "${tmpdir}/node_exporter.log" 2>&1 &
|
||||
|
||||
echo $! > "${tmpdir}/node_exporter.pid"
|
||||
|
||||
generated_metrics="${tmpdir}/e2e-output.txt"
|
||||
for os in freebsd openbsd netbsd solaris dragonfly; do
|
||||
if [ "${GOHOSTOS}" = "${os}" ]; then
|
||||
generated_metrics="${tmpdir}/e2e-output-${GOHOSTOS}.txt"
|
||||
fixture_metrics="${fixture_metrics::-4}-${GOHOSTOS}.txt"
|
||||
fi
|
||||
done
|
||||
|
||||
finish() {
|
||||
if [ $? -ne 0 -o ${verbose} -ne 0 ]
|
||||
then
|
||||
@ -165,7 +288,7 @@ EOF
|
||||
|
||||
if [ ${update} -ne 0 ]
|
||||
then
|
||||
cp "${tmpdir}/e2e-output.txt" "${fixture}"
|
||||
cp "${generated_metrics}" "${fixture_metrics}"
|
||||
fi
|
||||
|
||||
if [ ${keep} -eq 0 ]
|
||||
@ -195,8 +318,46 @@ get() {
|
||||
|
||||
sleep 1
|
||||
|
||||
get "127.0.0.1:${port}/metrics" | grep -E -v "${skip_re}" > "${tmpdir}/e2e-output.txt"
|
||||
get "127.0.0.1:${port}/metrics" | grep --text -E -v "${skip_re}" > "${generated_metrics}"
|
||||
|
||||
non_deterministic_metrics=$(cat << METRICS
|
||||
node_boot_time_seconds
|
||||
node_cpu_seconds_total
|
||||
node_exec_context_switches_total
|
||||
node_exec_device_interrupts_total
|
||||
node_exec_software_interrupts_total
|
||||
node_network_transmit_multicast_total
|
||||
node_exec_forks_total
|
||||
node_exec_system_calls_total
|
||||
node_exec_traps_total
|
||||
node_load1
|
||||
node_load15
|
||||
node_load5
|
||||
node_memory_active_bytes
|
||||
node_memory_buffer_bytes
|
||||
node_memory_free_bytes
|
||||
node_memory_inactive_bytes
|
||||
node_memory_laundry_bytes
|
||||
node_memory_wired_bytes
|
||||
node_interrupts_total
|
||||
node_disk_written_bytes_total
|
||||
node_disk_writes_completed_total
|
||||
node_disk_reads_completed_total
|
||||
node_disk_read_bytes_total
|
||||
node_disk_io_time_seconds_total
|
||||
node_memory_cache_bytes
|
||||
METRICS
|
||||
)
|
||||
|
||||
# Remove non-deterministic metrics from the generated metrics file (as we run their workflows in VMs).
|
||||
for os in freebsd openbsd netbsd solaris dragonfly; do
|
||||
if [ "${GOHOSTOS}" = "${os}" ]; then
|
||||
for metric in ${non_deterministic_metrics}; do
|
||||
sed -i "/${metric}/d" "${generated_metrics}"
|
||||
done
|
||||
fi
|
||||
done
|
||||
|
||||
diff -u \
|
||||
"${fixture}" \
|
||||
"${tmpdir}/e2e-output.txt"
|
||||
"${fixture_metrics}" \
|
||||
"${generated_metrics}"
|
||||
|
5
go.mod
5
go.mod
@ -28,6 +28,7 @@ require (
|
||||
github.com/prometheus/exporter-toolkit v0.13.2
|
||||
github.com/prometheus/procfs v0.15.2-0.20240603130017-1754b780536b // == v0.15.1 + https://github.com/prometheus/procfs/commit/1754b780536bb81082baa913e04cc4fff4d2baea
|
||||
github.com/safchain/ethtool v0.5.9
|
||||
github.com/spf13/cobra v1.8.1
|
||||
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0
|
||||
golang.org/x/sys v0.29.0
|
||||
howett.net/plist v1.0.1
|
||||
@ -39,6 +40,7 @@ require (
|
||||
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
||||
github.com/dennwc/ioctl v1.0.0 // indirect
|
||||
github.com/google/go-cmp v0.6.0 // indirect
|
||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||
github.com/jpillora/backoff v1.0.0 // indirect
|
||||
github.com/klauspost/compress v1.17.9 // indirect
|
||||
github.com/kylelemons/godebug v1.1.0 // indirect
|
||||
@ -48,6 +50,7 @@ require (
|
||||
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
||||
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // indirect
|
||||
github.com/siebenmann/go-kstat v0.0.0-20210513183136-173c9b0a9973 // indirect
|
||||
github.com/spf13/pflag v1.0.5 // indirect
|
||||
github.com/xhit/go-str2duration/v2 v2.1.0 // indirect
|
||||
go.uber.org/atomic v1.7.0 // indirect
|
||||
go.uber.org/multierr v1.6.0 // indirect
|
||||
@ -59,3 +62,5 @@ require (
|
||||
google.golang.org/protobuf v1.36.1 // indirect
|
||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||
)
|
||||
|
||||
//replace github.com/prometheus/procfs => github.com/rexagod/procfs v0.0.0-20241124020414-857c5b813f1b
|
||||
|
8
go.sum
8
go.sum
@ -12,6 +12,7 @@ github.com/cilium/ebpf v0.12.3 h1:8ht6F9MquybnY97at+VDZb3eQQr8ev79RueWeVaEcG4=
|
||||
github.com/cilium/ebpf v0.12.3/go.mod h1:TctK1ivibvI3znr66ljgi4hqOT8EYQjz1KWBfb1UVgM=
|
||||
github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs=
|
||||
github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
@ -32,6 +33,8 @@ github.com/hodgesds/perf-utils v0.7.0 h1:7KlHGMuig4FRH5fNw68PV6xLmgTe7jKs9hgAcEA
|
||||
github.com/hodgesds/perf-utils v0.7.0/go.mod h1:LAklqfDadNKpkxoAJNHpD5tkY0rkZEVdnCEWN5k4QJY=
|
||||
github.com/illumos/go-kstat v0.0.0-20210513183136-173c9b0a9973 h1:hk4LPqXIY/c9XzRbe7dA6qQxaT6Axcbny0L/G5a4owQ=
|
||||
github.com/illumos/go-kstat v0.0.0-20210513183136-173c9b0a9973/go.mod h1:PoK3ejP3LJkGTzKqRlpvCIFas3ncU02v8zzWDW+g0FY=
|
||||
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
||||
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
||||
github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
|
||||
github.com/josharian/native v1.1.0 h1:uuaP0hAbW7Y4l0ZRQ6C9zfb7Mg1mbFKry/xzDAfmtLA=
|
||||
github.com/josharian/native v1.1.0/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2Cu7qoaN2w=
|
||||
@ -87,10 +90,15 @@ github.com/prometheus/procfs v0.15.2-0.20240603130017-1754b780536b h1:4EJkx3vycI
|
||||
github.com/prometheus/procfs v0.15.2-0.20240603130017-1754b780536b/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=
|
||||
github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
|
||||
github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
|
||||
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||
github.com/safchain/ethtool v0.5.9 h1://6RvaOKFf3nQ0rl5+8zBbE4/72455VC9Jq61pfq67E=
|
||||
github.com/safchain/ethtool v0.5.9/go.mod h1:w8oSsZeowyRaM7xJJBAbubzzrOkwO8TBgPSEqPP/5mg=
|
||||
github.com/siebenmann/go-kstat v0.0.0-20210513183136-173c9b0a9973 h1:GfSdC6wKfTGcgCS7BtzF5694Amne1pGCSTY252WhlEY=
|
||||
github.com/siebenmann/go-kstat v0.0.0-20210513183136-173c9b0a9973/go.mod h1:G81aIFAMS9ECrwBYR9YxhlPjWgrItd+Kje78O6+uqm8=
|
||||
github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
|
||||
github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y=
|
||||
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
|
||||
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||
|
67
tools/main.go
Normal file
67
tools/main.go
Normal file
@ -0,0 +1,67 @@
|
||||
// Copyright 2024 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 main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"go/build"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
func main() {
|
||||
var rootCmd = &cobra.Command{}
|
||||
|
||||
var matchCmd = &cobra.Command{
|
||||
Use: "match [file]",
|
||||
Short: "Check whether the file matches the context.",
|
||||
Args: cobra.ExactArgs(1),
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
// For debugging purposes, allow overriding these.
|
||||
goos, found := os.LookupEnv("GOHOSTOS")
|
||||
if !found {
|
||||
goos = runtime.GOOS
|
||||
}
|
||||
goarch, found := os.LookupEnv("GOARCH")
|
||||
if !found {
|
||||
goarch = runtime.GOARCH
|
||||
}
|
||||
ctx := build.Context{
|
||||
GOOS: goos,
|
||||
GOARCH: goarch,
|
||||
}
|
||||
abs, err := filepath.Abs(args[0])
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
match, err := ctx.MatchFile(filepath.Dir(abs), filepath.Base(abs))
|
||||
if err != nil {
|
||||
fmt.Println("Error:", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
if match {
|
||||
os.Exit(0)
|
||||
}
|
||||
os.Exit(1)
|
||||
},
|
||||
}
|
||||
|
||||
rootCmd.AddCommand(matchCmd)
|
||||
if err := rootCmd.Execute(); err != nil {
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user