Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F163453140
D34952.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
5 KB
Referenced Files
None
Subscribers
None
D34952.diff
View Options
diff --git a/sys/netinet/tcp_log_buf.c b/sys/netinet/tcp_log_buf.c
--- a/sys/netinet/tcp_log_buf.c
+++ b/sys/netinet/tcp_log_buf.c
@@ -65,7 +65,7 @@
#define TCP_LOG_EXPIRE_INTVL ((sbintime_t)5 * SBT_1S)
bool tcp_log_verbose;
-static uma_zone_t tcp_log_bucket_zone, tcp_log_node_zone, tcp_log_zone;
+static uma_zone_t tcp_log_id_bucket_zone, tcp_log_id_node_zone, tcp_log_zone;
static int tcp_log_session_limit = TCP_LOG_BUF_DEFAULT_SESSION_LIMIT;
static uint32_t tcp_log_version = TCP_LOG_BUF_VER;
RB_HEAD(tcp_log_id_tree, tcp_log_id_bucket);
@@ -99,16 +99,16 @@
&tcp_log_zone, "Current number of events maintained for all TCP sessions");
SYSCTL_UMA_MAX(_net_inet_tcp_bb, OID_AUTO, log_id_limit, CTLFLAG_RW,
- &tcp_log_bucket_zone, "Maximum number of log IDs");
+ &tcp_log_id_bucket_zone, "Maximum number of log IDs");
SYSCTL_UMA_CUR(_net_inet_tcp_bb, OID_AUTO, log_id_entries, CTLFLAG_RD,
- &tcp_log_bucket_zone, "Current number of log IDs");
+ &tcp_log_id_bucket_zone, "Current number of log IDs");
SYSCTL_UMA_MAX(_net_inet_tcp_bb, OID_AUTO, log_id_tcpcb_limit, CTLFLAG_RW,
- &tcp_log_node_zone, "Maximum number of tcpcbs with log IDs");
+ &tcp_log_id_node_zone, "Maximum number of tcpcbs with log IDs");
SYSCTL_UMA_CUR(_net_inet_tcp_bb, OID_AUTO, log_id_tcpcb_entries, CTLFLAG_RD,
- &tcp_log_node_zone, "Current number of tcpcbs with log IDs");
+ &tcp_log_id_node_zone, "Current number of tcpcbs with log IDs");
SYSCTL_U32(_net_inet_tcp_bb, OID_AUTO, log_version, CTLFLAG_RD, &tcp_log_version,
0, "Version of log formats exported");
@@ -360,7 +360,7 @@
}
TCPID_BUCKET_LOCK_DESTROY(tlb);
counter_u64_add(tcp_log_pcb_ids_cur, (int64_t)-1);
- uma_zfree(tcp_log_bucket_zone, tlb);
+ uma_zfree(tcp_log_id_bucket_zone, tlb);
}
/*
@@ -669,7 +669,7 @@
* will unlock the bucket.
*/
if (tln != NULL)
- uma_zfree(tcp_log_node_zone, tln);
+ uma_zfree(tcp_log_id_node_zone, tln);
tln = tp->t_lin;
tlb = NULL;
bucket_locked = false;
@@ -702,7 +702,8 @@
if (*id) {
/* Get a new tln, if we don't already have one to reuse. */
if (tln == NULL) {
- tln = uma_zalloc(tcp_log_node_zone, M_NOWAIT | M_ZERO);
+ tln = uma_zalloc(tcp_log_id_node_zone,
+ M_NOWAIT | M_ZERO);
if (tln == NULL) {
rv = ENOBUFS;
goto done;
@@ -756,7 +757,7 @@
/* If we need to add a new bucket, do it now. */
if (tmp_tlb == NULL) {
/* Allocate new bucket. */
- tlb = uma_zalloc(tcp_log_bucket_zone, M_NOWAIT);
+ tlb = uma_zalloc(tcp_log_id_bucket_zone, M_NOWAIT);
if (tlb == NULL) {
rv = ENOBUFS;
goto done_noinp;
@@ -803,7 +804,7 @@
#define FREE_NEW_TLB() do { \
TCPID_BUCKET_LOCK_DESTROY(tlb); \
- uma_zfree(tcp_log_bucket_zone, tlb); \
+ uma_zfree(tcp_log_id_bucket_zone, tlb); \
counter_u64_add(tcp_log_pcb_ids_cur, (int64_t)-1); \
counter_u64_add(tcp_log_pcb_ids_tot, (int64_t)-1); \
bucket_locked = false; \
@@ -906,7 +907,7 @@
} else
TCPID_TREE_UNLOCK_ASSERT();
if (tln != NULL)
- uma_zfree(tcp_log_node_zone, tln);
+ uma_zfree(tcp_log_id_node_zone, tln);
return (rv);
}
@@ -1146,10 +1147,10 @@
#endif
NULL, UMA_ALIGN_PTR, 0);
(void)uma_zone_set_max(tcp_log_zone, TCP_LOG_BUF_DEFAULT_GLOBAL_LIMIT);
- tcp_log_bucket_zone = uma_zcreate("tcp_log_bucket",
+ tcp_log_id_bucket_zone = uma_zcreate("tcp_log_id_bucket",
sizeof(struct tcp_log_id_bucket), NULL, NULL, NULL, NULL,
UMA_ALIGN_PTR, 0);
- tcp_log_node_zone = uma_zcreate("tcp_log_node",
+ tcp_log_id_node_zone = uma_zcreate("tcp_log_id_node",
sizeof(struct tcp_log_id_node), NULL, NULL, NULL, NULL,
UMA_ALIGN_PTR, 0);
#ifdef TCPLOG_DEBUG_COUNTERS
@@ -1258,7 +1259,7 @@
tcp_log_free_entries(&tln->tln_entries, &tln->tln_count);
/* Free the node. */
- uma_zfree(tcp_log_node_zone, tln);
+ uma_zfree(tcp_log_id_node_zone, tln);
/* Relock the expiry queue. */
TCPLOG_EXPIREQ_LOCK();
@@ -2441,7 +2442,7 @@
*/
tcp_log_free_entries(&cur_tln->tln_entries,
&cur_tln->tln_count);
- uma_zfree(tcp_log_node_zone, cur_tln);
+ uma_zfree(tcp_log_id_node_zone, cur_tln);
goto done;
}
@@ -2463,7 +2464,7 @@
}
/* No matter what, we are done with the node now. */
- uma_zfree(tcp_log_node_zone, cur_tln);
+ uma_zfree(tcp_log_id_node_zone, cur_tln);
/*
* Because we removed this entry from the list, prev_tln
diff --git a/usr.sbin/prometheus_sysctl_exporter/prometheus_sysctl_exporter.c b/usr.sbin/prometheus_sysctl_exporter/prometheus_sysctl_exporter.c
--- a/usr.sbin/prometheus_sysctl_exporter/prometheus_sysctl_exporter.c
+++ b/usr.sbin/prometheus_sysctl_exporter/prometheus_sysctl_exporter.c
@@ -498,6 +498,7 @@
struct oidvalue ov;
struct oiddescription od;
char metric[BUFSIZ];
+ bool has_desc;
if (!oid_get_format(o, &of) || !oid_get_value(o, &of, &ov))
return;
@@ -511,14 +512,20 @@
if (include && regexec(&inc_regex, metric, 0, NULL, 0) != 0)
return;
+ has_desc = oid_get_description(o, &od);
+ /*
+ * Skip metrics with "(LEGACY)" in the name. It's used by several
+ * redundant ZFS sysctls whose names alias with the non-legacy versions.
+ */
+ if (has_desc && strnstr(od.description, "(LEGACY)", BUFSIZ) != NULL)
+ return;
/*
* Print the line with the description. Prometheus expects a
* single unique description for every metric, which cannot be
* guaranteed by sysctl if labels are present. Omit the
* description if labels are present.
*/
- if (print_description && !oidname_has_labels(on) &&
- oid_get_description(o, &od)) {
+ if (print_description && !oidname_has_labels(on) && has_desc) {
fprintf(fp, "# HELP ");
fprintf(fp, "%s", metric);
fputc(' ', fp);
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Jul 24, 8:06 AM (14 h, 17 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35437801
Default Alt Text
D34952.diff (5 KB)
Attached To
Mode
D34952: prometheus_sysctl_exporter: fix metric aliasing
Attached
Detach File
Event Timeline
Log In to Comment