Bug 246791

Summary: sysutils/node_exporter: Update to v1.0.0
Product: Ports & Packages Reporter: C <cm>
Component: Individual Port(s)Assignee: freebsd-ports-bugs (Nobody) <ports-bugs>
Status: Closed FIXED    
Severity: Affects Many People CC: dor.bsd, fernape, mikael, ports
Priority: --- Keywords: needs-patch
Version: LatestFlags: ports: maintainer-feedback+
Hardware: Any   
OS: Any   
Attachments:
Description Flags
node_exporter: Update to 1.0.0
none
node_exporter: Update to 1.0.1 dor.bsd: maintainer-approval+

Description C 2020-05-27 22:20:12 UTC
node_exporter v1.0.0 has been released:
https://github.com/prometheus/node_exporter/releases/tag/v1.0.0


Breaking changes

    The netdev collector CLI argument --collector.netdev.ignored-devices was renamed to --collector.netdev.device-blacklist in order to conform with the systemd collector. #1279
    The label named state on node_systemd_service_restart_total metrics was changed to name to better describe the metric. #1393
    Refactoring of the mdadm collector changes several metrics
        node_md_disks_active is removed
        node_md_disks now has a state label for "fail", "spare", "active" disks.
        node_md_is_active is replaced by node_md_state with a state set of "active", "inactive", "recovering", "resync".
    Additional label mountaddr added to NFS device metrics to distinguish mounts from the same URL, but different IP addresses. #1417
    Metrics node_cpu_scaling_frequency_min_hrts and node_cpu_scaling_frequency_max_hrts of the cpufreq collector were renamed to node_cpu_scaling_frequency_min_hertz and node_cpu_scaling_frequency_max_hertz. #1510
    Collectors that are enabled, but are unable to find data to collect, now return 0 for node_scrape_collector_success.

Changes

    [CHANGE] Add --collector.netdev.device-whitelist. #1279
    [CHANGE] Ignore iso9600 filesystem on Linux #1355
    [CHANGE] Refactor mdadm collector #1403
    [CHANGE] Add mountaddr label to NFS metrics. #1417
    [CHANGE] Don't count empty collectors as success. #1613
    [FEATURE] New flag to disable default collectors #1276
    [FEATURE] Add experimental TLS support #1277, #1687, #1695
    [FEATURE] Add collector for Power Supply Class #1280
    [FEATURE] Add new schedstat collector #1389
    [FEATURE] Add FreeBSD zfs support #1394
    [FEATURE] Add uname support for Darwin and OpenBSD #1433
    [FEATURE] Add new metric node_cpu_info #1489
    [FEATURE] Add new thermal_zone collector #1425
    [FEATURE] Add new cooling_device metrics to thermal zone collector #1445
    [FEATURE] Add swap usage on darwin #1508
    [FEATURE] Add Btrfs collector #1512
    [FEATURE] Add RAPL collector #1523
    [FEATURE] Add new softnet collector #1576
    [FEATURE] Add new udp_queues collector #1503
    [FEATURE] Add basic authentication #1673
    [ENHANCEMENT] Log pid when there is a problem reading the process stats #1341
    [ENHANCEMENT] Collect InfiniBand port state and physical state #1357
    [ENHANCEMENT] Include additional XFS runtime statistics. #1423
    [ENHANCEMENT] Report non-fatal collection errors in the exporter metric. #1439
    [ENHANCEMENT] Expose IPVS firewall mark as a label #1455
    [ENHANCEMENT] Add check for systemd version before attempting to query certain metrics. #1413
    [ENHANCEMENT] Add a flag to adjust mount timeout #1486
    [ENHANCEMENT] Add new counters for flush requests in Linux 5.5 #1548
    [ENHANCEMENT] Add metrics and tests for UDP receive and send buffer errors #1534
    [ENHANCEMENT] The sockstat collector now exposes IPv6 statistics in addition to the existing IPv4 support. #1552
    [ENHANCEMENT] Add infiniband info metric #1563
    [ENHANCEMENT] Add unix socket support for supervisord collector #1592
    [ENHANCEMENT] Implement loadavg on all BSDs without cgo #1584
    [ENHANCEMENT] Add model_name and stepping to node_cpu_info metric #1617
    [ENHANCEMENT] Add --collector.perf.cpus to allow setting the CPU list for perf stats. #1561
    [ENHANCEMENT] Add metrics for IO errors and retires on Darwin. #1636
    [ENHANCEMENT] Add perf tracepoint collection flag #1664
    [ENHANCEMENT] ZFS: read contents of objset file #1632
    [ENHANCEMENT] Linux CPU: Cache CPU metrics to make them monotonically increasing #1711
    [BUGFIX] Read /proc/net files with a single read syscall #1380
    [BUGFIX] Renamed label state to name on node_systemd_service_restart_total. #1393
    [BUGFIX] Fix netdev nil reference on Darwin #1414
    [BUGFIX] Strip path.rootfs from mountpoint labels #1421
    [BUGFIX] Fix seconds reported by schedstat #1426
    [BUGFIX] Fix empty string in path.rootfs #1464
    [BUGFIX] Fix typo in cpufreq metric names #1510
    [BUGFIX] Read /proc/stat in one syscall #1538
    [BUGFIX] Fix OpenBSD cache memory information #1542
    [BUGFIX] Refactor textfile collector to avoid looping defer #1549
    [BUGFIX] Fix network speed math #1580
    [BUGFIX] collector/systemd: use regexp to extract systemd version #1647
    [BUGFIX] Fix initialization in perf collector when using multiple CPUs #1665
    [BUGFIX] Fix accidentally empty lines in meminfo_linux #1671
Comment 1 Fernando ApesteguĂ­a freebsd_committer freebsd_triage 2020-05-28 07:42:36 UTC
Asking for maintainer-feedback since it seems weird to approve this if the PR doesn't even have an attachment. Is the OP or the MAINTAINER willing to update one?
Comment 2 jevonearth 2020-05-28 23:39:07 UTC
I'm very sorry, I don't have the bandwidth to review this, or maintain this port. I need to put this port maintainership up for adoption.
Comment 3 David O'Rourke 2020-05-29 01:29:28 UTC
Hi,

I can probably submit a patch to update this to 1.0 tomorrow, I'd be willing to take maintainership too.

-David
Comment 4 jevonearth 2020-05-29 15:10:33 UTC
Excellent, thank you David.

There's another related ticket that might interest you; https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246539
Comment 5 David O'Rourke 2020-05-29 16:13:08 UTC
Yeah, that should be no problem. I've taken care of that in a few of the other exporters in the past :)
Comment 6 David O'Rourke 2020-05-29 18:11:32 UTC
Created attachment 215032 [details]
node_exporter: Update to 1.0.0

This patch updates sysutils/node_exporter to 1.0.0, it also takes care of the issue in #246539 and ensures that node_exporter is properly detached from the terminal.

The examples have been removed as they have been moved to another repository upstream.

I also take maintainership of the port in this patch.
Comment 7 David O'Rourke 2020-05-30 16:30:28 UTC
I've noticed that there's an upstream bug in 1.0.0 which affects the node_exporter filesystem stats on FreeBSD, null bytes are being inserted into the time series labels.

I'm currently trying to fix the issue and contribute the fix to upstream, it would be wise to hold off updating here for the time being.

-David
Comment 8 David O'Rourke 2020-05-30 17:25:10 UTC
A PR to resolve the issue has been submitted upstream and should be merged before version 1.0.1 next week, at that point I'll update the diff in this issue with the new version.

-David
Comment 9 David O'Rourke 2020-06-06 11:34:32 UTC
Apologies for the delay here, I haven't forgotten about this issue.

The PR fixing filesystem stats on FreeBSD has been merged upstream, but there are a few more issues they wish to fix before releasing a new version.

-David
Comment 10 Mikael Urankar freebsd_committer freebsd_triage 2020-06-16 16:39:09 UTC
*** Bug 247120 has been marked as a duplicate of this bug. ***
Comment 11 David O'Rourke 2020-06-16 17:03:25 UTC
Version 1.0.1 has been published upstream earlier today, so I should have an updated patch here later tonight :)

-David
Comment 12 David O'Rourke 2020-06-16 17:15:37 UTC
Created attachment 215626 [details]
node_exporter: Update to 1.0.1

This patch updates node_exporter to version 1.0.1.

In addition to the 1.0.0 changes, this release fixes:

    [BUGFIX] filesystem_freebsd: Fix label values
    [BUGFIX] Update prometheus/procfs to fix log noise
    [BUGFIX] Fix build tags for collectors
    [BUGFIX] Handle no data from powersupplyclass

For a full changelog, see https://github.com/prometheus/node_exporter/blob/master/CHANGELOG.md

-David
Comment 13 Mikael Urankar freebsd_committer freebsd_triage 2020-06-16 17:52:43 UTC
(In reply to David O'Rourke from comment #12)
it builds fine without gmake, why is it listed as a build dep?
Comment 14 David O'Rourke 2020-06-16 19:10:01 UTC
It looks like gmake was added as a dep by 0mp@ during some test additions, https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=234791.

It's not directly commented on what it's for, but I assume `gmake test` is used to run the node_exporter tests after the pre-test target has run.

-David
Comment 15 Mikael Urankar freebsd_committer freebsd_triage 2020-06-17 16:06:11 UTC
thanks!
Comment 16 commit-hook freebsd_committer freebsd_triage 2020-06-17 16:06:34 UTC
A commit references this bug:

Author: mikael
Date: Wed Jun 17 16:05:59 UTC 2020
New revision: 539427
URL: https://svnweb.freebsd.org/changeset/ports/539427

Log:
  sysutils/node_exporter: update to 1.0.1

  In addition to the 1.0.0 changes, this release fixes:
      [BUGFIX] filesystem_freebsd: Fix label values
      [BUGFIX] Update prometheus/procfs to fix log noise
      [BUGFIX] Fix build tags for collectors
      [BUGFIX] Handle no data from powersupplyclass

  For a full changelog, see https://github.com/prometheus/node_exporter/blob/master/CHANGELOG.md

  PR:		246791
  Submitted by:	David O'Rourke (maintainer)

Changes:
  head/sysutils/node_exporter/Makefile
  head/sysutils/node_exporter/distinfo
  head/sysutils/node_exporter/files/node_exporter.in
  head/sysutils/node_exporter/pkg-message
  head/sysutils/node_exporter/pkg-plist