Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughAdds a new powersupply collector (Linux + macOS) and integrates it into build/initialization; introduces a Darwin filesystem collector; and extends the Linux netstat collector with lazy dynamic metrics (TcpExt/IpExt/IPv6), including allocation and teardown. Changes
Sequence Diagram(s)sequenceDiagram
participant Collector as Netstat Collector
participant ProcFS as /proc (snmp, netstat, snmp6)
participant Registry as CMT Registry (dynamic gauges)
Collector->>ProcFS: read /proc/net/snmp, /proc/net/netstat, /proc/net/snmp6
ProcFS-->>Collector: header and value lines (Tcp, Udp, TcpExt, IpExt, snmp6)
Collector->>Collector: build metric name "<proto>_<field>"
Collector->>Registry: lookup or create dynamic gauge (cached)
Registry-->>Collector: gauge handle
Collector->>Registry: update gauge with value and labels
Collector->>Registry: on exit -> destroy dynamic gauges and free names
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7495556dc0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Actionable comments posted: 5
🧹 Nitpick comments (1)
plugins/in_node_exporter_metrics/ne_netstat_linux.c (1)
292-299: ⚡ Quick winMove these new local declarations to the top of their functions.
The added parser blocks introduce mid-block declarations, which is off-style for this codebase and makes these functions inconsistent with the surrounding collector code.
As per coding guidelines "Declare variables at the start of functions, not mid-block".
Also applies to: 327-333, 472-482
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@plugins/in_node_exporter_metrics/ne_netstat_linux.c` around lines 292 - 299, The new local variables declared mid-block (idx, d_val, metric, metric_name, key, val) inside the NETSTAT_PROTO_TCPEXT/NETSTAT_PROTO_IPEXT parser branch should be moved to the start of the enclosing function (e.g., the collector function containing this proto switch) to match project style; find the same pattern in the other parser blocks referenced (the similar blocks around the ranges corresponding to lines 327-333 and 472-482) and relocate their variable declarations to the top of their respective functions as well, keeping initialization/assignments where they currently occur but ensuring all variable declarations appear before any executable statements.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@plugins/in_node_exporter_metrics/ne_filesystem_darwin.c`:
- Around line 91-92: The init currently stores compiled regexes from
flb_regex_create into ctx->fs_regex_skip_mount and ctx->fs_regex_skip_fs_types
without checking for NULL; update the init routine so that after calling
flb_regex_create(ctx->fs_regex_ingore_mount_point_text) you verify
ctx->fs_regex_skip_mount is non-NULL, and if it is NULL return -1; then call
flb_regex_create(ctx->fs_regex_ingore_filesystem_type_text) and if that returns
NULL free the previously created ctx->fs_regex_skip_mount (cleanup) and return
-1; this ensures you never pass a NULL regex to flb_regex_match and properly
clean up on partial failure.
In `@plugins/in_node_exporter_metrics/ne_netstat_linux.c`:
- Around line 426-430: The current code returns early when
ne_utils_file_read_lines(ctx->path_procfs, "/net/netstat") fails, which prevents
subsequent handling of /net/snmp6; change the logic so that on ret == -1 you
skip parsing /net/netstat but do not return from the function (allow code to
continue into the /net/snmp6 handling), e.g., replace the return 0 with a branch
that leaves the list empty/cleared and continues; keep the calls to
mk_list_init(&list) and ensure any allocated resources for list are properly
cleaned up before proceeding to the /net/snmp6 read so you don’t leak memory and
still collect IPv6 counters from "/net/snmp6".
In `@plugins/in_node_exporter_metrics/ne_powersupply_darwin.c`:
- Around line 26-40: The listed file-static gauge pointers (ps_current_capacity,
ps_max_capacity, ps_design_capacity, ps_nominal_capacity, ps_time_to_empty,
ps_time_to_full, ps_voltage, ps_current, ps_temperature, ps_present,
ps_charging, ps_charged, ps_internal_failure, ps_battery_health) must be moved
into the instance context (struct flb_ne) so each node_exporter_metrics instance
has its own gauges; remove the file-static declarations in
ne_powersupply_darwin.c, add corresponding struct members to struct flb_ne
(e.g., struct cmt_gauge *ps_current_capacity; ...), update the code that
creates/registers the gauges to store them on ctx->ps_* (where ctx is the struct
flb_ne pointer used in init), and replace all uses of the old static symbols
with ctx->ps_* in the collector and update paths so each instance reads/writes
its own gauges. Ensure initialization and cleanup use the instance fields to
avoid cross-instance clobbering.
In `@plugins/in_node_exporter_metrics/ne_powersupply_linux.c`:
- Around line 32-33: ps_info and ps_dynamic_metrics are file-global and should
be per-instance; add fields (e.g., struct cmt_gauge *ps_info; struct mk_list
ps_dynamic_metrics;) to struct flb_ne, update ne_powersupply_init (or equivalent
init path) to initialize flb_ne->ps_info and flb_ne->ps_dynamic_metrics (use
mk_list_init on the instance list) and replace all references to the
file-statics with flb_ne->ps_info and flb_ne->ps_dynamic_metrics, and update
ne_powersupply_exit to clean up the instance’s gauge and dynamic metrics from
flb_ne (not the file-globals) so teardown only affects that instance; remove the
file-static declarations ps_info and ps_dynamic_metrics after updating call
sites.
In `@plugins/in_node_exporter_metrics/ne.h`:
- Around line 37-38: The macOS default metric set defined by the
NE_DEFAULT_ENABLED_METRICS macro under the __APPLE__ branch is missing the newly
added Darwin "filesystem" collector; update the NE_DEFAULT_ENABLED_METRICS
definition in the __APPLE__ block to include "filesystem" in the comma-separated
list so a stock node_exporter_metrics input on macOS enables the filesystem
collector by default.
---
Nitpick comments:
In `@plugins/in_node_exporter_metrics/ne_netstat_linux.c`:
- Around line 292-299: The new local variables declared mid-block (idx, d_val,
metric, metric_name, key, val) inside the
NETSTAT_PROTO_TCPEXT/NETSTAT_PROTO_IPEXT parser branch should be moved to the
start of the enclosing function (e.g., the collector function containing this
proto switch) to match project style; find the same pattern in the other parser
blocks referenced (the similar blocks around the ranges corresponding to lines
327-333 and 472-482) and relocate their variable declarations to the top of
their respective functions as well, keeping initialization/assignments where
they currently occur but ensuring all variable declarations appear before any
executable statements.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 2d18b9a8-d3f2-481b-ae9a-d565c68e425b
📒 Files selected for processing (10)
plugins/in_node_exporter_metrics/CMakeLists.txtplugins/in_node_exporter_metrics/ne.cplugins/in_node_exporter_metrics/ne.hplugins/in_node_exporter_metrics/ne_filesystem.cplugins/in_node_exporter_metrics/ne_filesystem_darwin.cplugins/in_node_exporter_metrics/ne_netstat_linux.cplugins/in_node_exporter_metrics/ne_powersupply.cplugins/in_node_exporter_metrics/ne_powersupply.hplugins/in_node_exporter_metrics/ne_powersupply_darwin.cplugins/in_node_exporter_metrics/ne_powersupply_linux.c
7495556 to
463ae0d
Compare
463ae0d to
b0eb350
Compare
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Nitpick comments (1)
plugins/in_node_exporter_metrics/ne_netstat_linux.c (1)
292-299: ⚡ Quick winHoist these new locals to the top of the function.
The added block-scoped declarations break the C style used in this plugin and make the parsing branches inconsistent with the rest of the file.
As per coding guidelines, "
**/*.{c,cpp,cc,cxx}: Declare variables at the start of functions, not mid-block`."Also applies to: 327-333, 472-482
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@plugins/in_node_exporter_metrics/ne_netstat_linux.c` around lines 292 - 299, Hoist the block-scoped variables declared inside the NETSTAT_PROTO_TCPEXT / NETSTAT_PROTO_IPEXT branch (int idx; double d_val; struct cmt_gauge *metric; char metric_name[256]; struct flb_slist_entry *key; struct flb_slist_entry *val;) to the top of the enclosing function so all local variables are declared before any code, and apply the same change for the other similar branches (the later blocks that declare locals mid-block). Keep the same names and types (e.g., idx, d_val, metric, metric_name, key, val) and remove the in-block declarations to match the file’s C style and coding guidelines.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@plugins/in_node_exporter_metrics/ne_powersupply_darwin.c`:
- Around line 229-231: The loop currently ignores update_power_source()'s return
value; change it to capture the return code, and if non-zero log the failure
(use the file's existing logging helper to include the
CFArrayGetValueAtIndex(list, i) or other identifying info) and continue
iterating; also set a local failure flag so the collector function can return a
non-zero status if any per-source parse failed instead of reporting overall
success.
- Around line 165-200: ne_powersupply_init currently ignores failures from
cmt_gauge_create and always returns success, which can later cause null
dereferences in ne_powersupply_update when cmt_gauge_set is called on a NULL
gauge; update ne_powersupply_init to check the return value of each
cmt_gauge_create (for ps_current_capacity, ps_max_capacity, ps_design_capacity,
ps_nominal_capacity, ps_time_to_empty, ps_time_to_full, ps_voltage, ps_current,
ps_temperature, ps_present, ps_charging, ps_charged, ps_internal_failure,
ps_battery_health) and if any is NULL, log an error and return a non-zero
failure code so initialization fails early. Ensure the function returns 0 only
if all gauges were created successfully.
---
Nitpick comments:
In `@plugins/in_node_exporter_metrics/ne_netstat_linux.c`:
- Around line 292-299: Hoist the block-scoped variables declared inside the
NETSTAT_PROTO_TCPEXT / NETSTAT_PROTO_IPEXT branch (int idx; double d_val; struct
cmt_gauge *metric; char metric_name[256]; struct flb_slist_entry *key; struct
flb_slist_entry *val;) to the top of the enclosing function so all local
variables are declared before any code, and apply the same change for the other
similar branches (the later blocks that declare locals mid-block). Keep the same
names and types (e.g., idx, d_val, metric, metric_name, key, val) and remove the
in-block declarations to match the file’s C style and coding guidelines.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: d37a4e23-43fd-4fae-a660-4befe68c70cb
📒 Files selected for processing (10)
plugins/in_node_exporter_metrics/CMakeLists.txtplugins/in_node_exporter_metrics/ne.cplugins/in_node_exporter_metrics/ne.hplugins/in_node_exporter_metrics/ne_filesystem.cplugins/in_node_exporter_metrics/ne_filesystem_darwin.cplugins/in_node_exporter_metrics/ne_netstat_linux.cplugins/in_node_exporter_metrics/ne_powersupply.cplugins/in_node_exporter_metrics/ne_powersupply.hplugins/in_node_exporter_metrics/ne_powersupply_darwin.cplugins/in_node_exporter_metrics/ne_powersupply_linux.c
✅ Files skipped from review due to trivial changes (2)
- plugins/in_node_exporter_metrics/CMakeLists.txt
- plugins/in_node_exporter_metrics/ne_powersupply.h
🚧 Files skipped from review as they are similar to previous changes (5)
- plugins/in_node_exporter_metrics/ne.c
- plugins/in_node_exporter_metrics/ne_powersupply.c
- plugins/in_node_exporter_metrics/ne_powersupply_linux.c
- plugins/in_node_exporter_metrics/ne_filesystem_darwin.c
- plugins/in_node_exporter_metrics/ne.h
b0eb350 to
fbbb283
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (4)
plugins/in_node_exporter_metrics/ne.h (1)
38-38:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winInclude
filesystemin macOS default enabled metrics.Line 38 omits
filesystem, so the new Darwin filesystem collector is not enabled in the default macOS metric set.Suggested fix
-#define NE_DEFAULT_ENABLED_METRICS "cpu,loadavg,meminfo,diskstats,uname,netdev,powersupplyclass" +#define NE_DEFAULT_ENABLED_METRICS "cpu,loadavg,meminfo,diskstats,filesystem,uname,netdev,powersupplyclass"🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@plugins/in_node_exporter_metrics/ne.h` at line 38, The NE_DEFAULT_ENABLED_METRICS macro currently omits the Darwin filesystem collector; update the macro NE_DEFAULT_ENABLED_METRICS to include "filesystem" in the comma-separated list (e.g., "cpu,loadavg,meminfo,diskstats,uname,netdev,powersupplyclass,filesystem" or insert "filesystem" where appropriate) so the macOS default metric set enables the new filesystem collector.plugins/in_node_exporter_metrics/ne_powersupply_darwin.c (2)
214-216:⚠️ Potential issue | 🟠 Major | ⚡ Quick winDo not ignore
update_power_source()failures in the update loop.Line 215 drops the return code, so scrape can report success even when one or more power sources fail to parse.
Suggested fix
- for (i = 0; i < CFArrayGetCount(list); i++) { - update_power_source(ctx, CFArrayGetValueAtIndex(list, i), info, ts); - } + { + int had_error; + int rc; + + had_error = FLB_FALSE; + for (i = 0; i < CFArrayGetCount(list); i++) { + rc = update_power_source(ctx, CFArrayGetValueAtIndex(list, i), info, ts); + if (rc != 0) { + had_error = FLB_TRUE; + } + } + + if (had_error == FLB_TRUE) { + CFRelease(list); + CFRelease(info); + return -1; + } + }🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@plugins/in_node_exporter_metrics/ne_powersupply_darwin.c` around lines 214 - 216, The loop currently ignores update_power_source() return values so failures are lost; change the loop to capture each call's return (e.g., int rc = update_power_source(ctx, CFArrayGetValueAtIndex(list, i), info, ts);) and track an overall status (e.g., int overall_rc = 0; if (rc != 0) overall_rc = rc or overall_rc = 1;) then after the CFArray loop return or propagate overall_rc instead of blindly returning success; ensure you use the existing update_power_source symbol and the CFArrayGetValueAtIndex(list, i) call sites when implementing this change so any parsing errors are surfaced.
150-186:⚠️ Potential issue | 🔴 Critical | ⚡ Quick winFail init when any gauge registration returns
NULL.Line 154 onward creates required gauges, but Line 185 always returns success. If any
cmt_gauge_createfails, later update paths can dereference NULL metric pointers.Suggested fix
static int ne_powersupply_init(struct flb_ne *ctx) { char *label[] = {"power_supply"}; @@ ctx->darwin_ps_battery_health = cmt_gauge_create(ctx->cmt, "node", "powersupply", "battery_health", "Power supply battery health status.", 2, (char *[]) {"power_supply", "state"}); + + if (ctx->darwin_ps_current_capacity == NULL || + ctx->darwin_ps_max_capacity == NULL || + ctx->darwin_ps_design_capacity == NULL || + ctx->darwin_ps_nominal_capacity == NULL || + ctx->darwin_ps_time_to_empty == NULL || + ctx->darwin_ps_time_to_full == NULL || + ctx->darwin_ps_voltage == NULL || + ctx->darwin_ps_current == NULL || + ctx->darwin_ps_temperature == NULL || + ctx->darwin_ps_present == NULL || + ctx->darwin_ps_charging == NULL || + ctx->darwin_ps_charged == NULL || + ctx->darwin_ps_internal_failure == NULL || + ctx->darwin_ps_battery_health == NULL) { + flb_plg_error(ctx->ins, "could not initialize one or more powersupply metrics"); + return -1; + } return 0; }🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@plugins/in_node_exporter_metrics/ne_powersupply_darwin.c` around lines 150 - 186, ne_powersupply_init currently ignores failures from cmt_gauge_create and always returns success; update ne_powersupply_init to check the return of each cmt_gauge_create for NULL (e.g., ctx->darwin_ps_current_capacity, ctx->darwin_ps_max_capacity, ..., ctx->darwin_ps_battery_health) and if any is NULL, log an error and return a failure code (non-zero) after cleaning up any gauges already created; ensure you reference the cmt_gauge_create calls and the ctx->darwin_ps_* fields when implementing the checks and cleanup.plugins/in_node_exporter_metrics/ne_netstat_linux.c (1)
74-121:⚠️ Potential issue | 🟠 Major | ⚡ Quick winUse counter-backed dynamic metrics for
TcpExt/IpExtmetrics.On Line 108 dynamic metrics are created as gauges, and on Line 322 Ext values are written with
cmt_gauge_set. Fornode_netstat_TcpExt_*/node_netstat_IpExt_*, this exports the wrong Prometheus type versus the PR objective (counters).Also applies to: 292-323
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@plugins/in_node_exporter_metrics/ne_netstat_linux.c` around lines 74 - 121, The dynamic metric creation currently always makes gauges in netstat_dynamic_metric_get and later uses cmt_gauge_set; change creation and storage to counters for the TcpExt/IpExt metrics: detect when the incoming name starts with "TcpExt" or "IpExt" and call cmt_counter_create instead of cmt_gauge_create, store the result in a counter pointer field on struct netstat_dynamic_metric (replace or add a struct cmt_counter *counter field and stop using struct cmt_gauge *gauge for these names), and update all places that set these metrics (where cmt_gauge_set is used around the code handling Ext values, e.g. the block referenced 292-323) to call cmt_counter_set for counter-backed entries; keep gauge creation/setting for other metric names. Ensure NULL checks and list insertion behavior remain the same.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@plugins/in_node_exporter_metrics/ne_filesystem_darwin.c`:
- Around line 89-152: ne_filesystem_init currently returns early on
cmt_gauge_create failures and leaks the compiled regex handles
(ctx->fs_regex_skip_mount and ctx->fs_regex_skip_fs_types); change the function
to funnel all error exits through a single cleanup path that calls
ne_filesystem_exit (or explicitly flb_regex_destroy for the two regexes) before
returning -1 so any partially-initialized resources are freed; locate
ne_filesystem_init and update each failing cmt_gauge_create branch to goto a
cleanup label (or call ne_filesystem_exit) instead of returning immediately,
ensuring regex handles are destroyed and
ctx->fs_regex_skip_mount/ctx->fs_regex_skip_fs_types are nulled.
---
Duplicate comments:
In `@plugins/in_node_exporter_metrics/ne_netstat_linux.c`:
- Around line 74-121: The dynamic metric creation currently always makes gauges
in netstat_dynamic_metric_get and later uses cmt_gauge_set; change creation and
storage to counters for the TcpExt/IpExt metrics: detect when the incoming name
starts with "TcpExt" or "IpExt" and call cmt_counter_create instead of
cmt_gauge_create, store the result in a counter pointer field on struct
netstat_dynamic_metric (replace or add a struct cmt_counter *counter field and
stop using struct cmt_gauge *gauge for these names), and update all places that
set these metrics (where cmt_gauge_set is used around the code handling Ext
values, e.g. the block referenced 292-323) to call cmt_counter_set for
counter-backed entries; keep gauge creation/setting for other metric names.
Ensure NULL checks and list insertion behavior remain the same.
In `@plugins/in_node_exporter_metrics/ne_powersupply_darwin.c`:
- Around line 214-216: The loop currently ignores update_power_source() return
values so failures are lost; change the loop to capture each call's return
(e.g., int rc = update_power_source(ctx, CFArrayGetValueAtIndex(list, i), info,
ts);) and track an overall status (e.g., int overall_rc = 0; if (rc != 0)
overall_rc = rc or overall_rc = 1;) then after the CFArray loop return or
propagate overall_rc instead of blindly returning success; ensure you use the
existing update_power_source symbol and the CFArrayGetValueAtIndex(list, i) call
sites when implementing this change so any parsing errors are surfaced.
- Around line 150-186: ne_powersupply_init currently ignores failures from
cmt_gauge_create and always returns success; update ne_powersupply_init to check
the return of each cmt_gauge_create for NULL (e.g.,
ctx->darwin_ps_current_capacity, ctx->darwin_ps_max_capacity, ...,
ctx->darwin_ps_battery_health) and if any is NULL, log an error and return a
failure code (non-zero) after cleaning up any gauges already created; ensure you
reference the cmt_gauge_create calls and the ctx->darwin_ps_* fields when
implementing the checks and cleanup.
In `@plugins/in_node_exporter_metrics/ne.h`:
- Line 38: The NE_DEFAULT_ENABLED_METRICS macro currently omits the Darwin
filesystem collector; update the macro NE_DEFAULT_ENABLED_METRICS to include
"filesystem" in the comma-separated list (e.g.,
"cpu,loadavg,meminfo,diskstats,uname,netdev,powersupplyclass,filesystem" or
insert "filesystem" where appropriate) so the macOS default metric set enables
the new filesystem collector.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: fde9a8af-3268-4b15-a71e-cee9a688de45
📒 Files selected for processing (10)
plugins/in_node_exporter_metrics/CMakeLists.txtplugins/in_node_exporter_metrics/ne.cplugins/in_node_exporter_metrics/ne.hplugins/in_node_exporter_metrics/ne_filesystem.cplugins/in_node_exporter_metrics/ne_filesystem_darwin.cplugins/in_node_exporter_metrics/ne_netstat_linux.cplugins/in_node_exporter_metrics/ne_powersupply.cplugins/in_node_exporter_metrics/ne_powersupply.hplugins/in_node_exporter_metrics/ne_powersupply_darwin.cplugins/in_node_exporter_metrics/ne_powersupply_linux.c
✅ Files skipped from review due to trivial changes (4)
- plugins/in_node_exporter_metrics/CMakeLists.txt
- plugins/in_node_exporter_metrics/ne_powersupply.h
- plugins/in_node_exporter_metrics/ne_filesystem.c
- plugins/in_node_exporter_metrics/ne_powersupply.c
🚧 Files skipped from review as they are similar to previous changes (2)
- plugins/in_node_exporter_metrics/ne.c
- plugins/in_node_exporter_metrics/ne_powersupply_linux.c
Signed-off-by: Hiroshi Hatake <hiroshi@chronosphere.io>
Signed-off-by: Hiroshi Hatake <hiroshi@chronosphere.io>
Signed-off-by: Hiroshi Hatake <hiroshi@chronosphere.io>
Signed-off-by: Hiroshi Hatake <hiroshi@chronosphere.io>
dc7a1a4 to
c785d9d
Compare
Signed-off-by: Hiroshi Hatake <hiroshi@chronosphere.io>
Signed-off-by: Hiroshi Hatake <hiroshi@chronosphere.io>
I added filesystem metrics on macOS, powersupplyclass for Linux/macOS, and EXT extensions for netstat of Linux.
Closes #11763.
Enter
[N/A]in the box, if an item is not applicable to your change.Testing
Before we can approve your change; please submit the following in a comment:
For macOS, I tested with:
For Linux, I tested with:
For macOS:
For Linux,
With leaks:
With Valgrind:
If this is a change to packaging of containers or native binaries then please confirm it works for all targets.
ok-package-testlabel to test for all targets (requires maintainer to do).Documentation
Backporting
Fluent Bit is licensed under Apache 2.0, by submitting this pull request I understand that this code will be released under the terms of that license.
Summary by CodeRabbit
New Features
Chores