diff --git a/collector/fixtures/e2e-64k-page-output.txt b/collector/fixtures/e2e-64k-page-output.txt index 030fa88e..c82c5303 100644 --- a/collector/fixtures/e2e-64k-page-output.txt +++ b/collector/fixtures/e2e-64k-page-output.txt @@ -2253,10 +2253,18 @@ node_mountstats_nfs_total_write_bytes_total{export="192.168.1.1:/srv/test",mount # TYPE node_mountstats_nfs_transport_backlog_queue_total counter node_mountstats_nfs_transport_backlog_queue_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 node_mountstats_nfs_transport_backlog_queue_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_bad_replies_total Total number of bad reply when rarely accessed error counters. +# TYPE node_mountstats_nfs_transport_bad_replies_total counter +node_mountstats_nfs_transport_bad_replies_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_bad_replies_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 # HELP node_mountstats_nfs_transport_bad_transaction_ids_total Number of times the NFS server sent a response with a transaction ID unknown to this client. # TYPE node_mountstats_nfs_transport_bad_transaction_ids_total counter node_mountstats_nfs_transport_bad_transaction_ids_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 node_mountstats_nfs_transport_bad_transaction_ids_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_bcall_requests_total Total number of bcall when rarely accessed error counters. +# TYPE node_mountstats_nfs_transport_bcall_requests_total counter +node_mountstats_nfs_transport_bcall_requests_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_bcall_requests_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 # HELP node_mountstats_nfs_transport_bind_total Number of times the client has had to establish a connection from scratch to the NFS server. # TYPE node_mountstats_nfs_transport_bind_total counter node_mountstats_nfs_transport_bind_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 @@ -2265,22 +2273,82 @@ node_mountstats_nfs_transport_bind_total{export="192.168.1.1:/srv/test",mountadd # TYPE node_mountstats_nfs_transport_connect_total counter node_mountstats_nfs_transport_connect_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 1 node_mountstats_nfs_transport_connect_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_empty_sendctx_q_total Total number of empty sendctx q when rarely accessed error counters. +# TYPE node_mountstats_nfs_transport_empty_sendctx_q_total counter +node_mountstats_nfs_transport_empty_sendctx_q_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_empty_sendctx_q_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_fixup_copies_total Total number of fixup copy accessed when receiving a reply. +# TYPE node_mountstats_nfs_transport_fixup_copies_total counter +node_mountstats_nfs_transport_fixup_copies_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_fixup_copies_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_hardway_registrations_total Total number of hardway register when rarely accessed error counters. +# TYPE node_mountstats_nfs_transport_hardway_registrations_total counter +node_mountstats_nfs_transport_hardway_registrations_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_hardway_registrations_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 # HELP node_mountstats_nfs_transport_idle_time_seconds Duration since the NFS mount last saw any RPC traffic, in seconds. # TYPE node_mountstats_nfs_transport_idle_time_seconds gauge node_mountstats_nfs_transport_idle_time_seconds{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 11 node_mountstats_nfs_transport_idle_time_seconds{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_local_inv_requests_total Total number of local inv needed accessed when receiving a reply. +# TYPE node_mountstats_nfs_transport_local_inv_requests_total counter +node_mountstats_nfs_transport_local_inv_requests_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_local_inv_requests_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_marshal_failures_total Total number of failed marshal when rarely accessed error counters. +# TYPE node_mountstats_nfs_transport_marshal_failures_total counter +node_mountstats_nfs_transport_marshal_failures_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_marshal_failures_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 # HELP node_mountstats_nfs_transport_maximum_rpc_slots Maximum number of simultaneously active RPC requests ever used. # TYPE node_mountstats_nfs_transport_maximum_rpc_slots gauge node_mountstats_nfs_transport_maximum_rpc_slots{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 24 node_mountstats_nfs_transport_maximum_rpc_slots{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 24 +# HELP node_mountstats_nfs_transport_mrs_allocated_total Total number of mrs allocated when rarely accessed error counters. +# TYPE node_mountstats_nfs_transport_mrs_allocated_total counter +node_mountstats_nfs_transport_mrs_allocated_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_mrs_allocated_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_mrs_orphaned_total Total number of mrs orphaned when rarely accessed error counters. +# TYPE node_mountstats_nfs_transport_mrs_orphaned_total counter +node_mountstats_nfs_transport_mrs_orphaned_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_mrs_orphaned_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_mrs_recycled_total Total number of mrs recycled when rarely accessed error counters. +# TYPE node_mountstats_nfs_transport_mrs_recycled_total counter +node_mountstats_nfs_transport_mrs_recycled_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_mrs_recycled_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_nomsg_call_requests_total Total number of nomsg call when rarely accessed error counters. +# TYPE node_mountstats_nfs_transport_nomsg_call_requests_total counter +node_mountstats_nfs_transport_nomsg_call_requests_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_nomsg_call_requests_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 # HELP node_mountstats_nfs_transport_pending_queue_total Total number of items added to the RPC transmission pending queue. # TYPE node_mountstats_nfs_transport_pending_queue_total counter node_mountstats_nfs_transport_pending_queue_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 5726 node_mountstats_nfs_transport_pending_queue_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 5726 +# HELP node_mountstats_nfs_transport_pullup_copies_total Total number of pullup copy when rarely accessed error counters. +# TYPE node_mountstats_nfs_transport_pullup_copies_total counter +node_mountstats_nfs_transport_pullup_copies_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_pullup_copies_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_rdma_reply_requests_total Total number of rdma reply accessed when receiving a reply. +# TYPE node_mountstats_nfs_transport_rdma_reply_requests_total counter +node_mountstats_nfs_transport_rdma_reply_requests_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_rdma_reply_requests_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_rdma_requests_total Total number of rdma request accessed when sending a call. +# TYPE node_mountstats_nfs_transport_rdma_requests_total counter +node_mountstats_nfs_transport_rdma_requests_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_rdma_requests_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_read_chunks_total Total number of read chunk accessed when sending a call. +# TYPE node_mountstats_nfs_transport_read_chunks_total counter +node_mountstats_nfs_transport_read_chunks_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_read_chunks_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 # HELP node_mountstats_nfs_transport_receives_total Number of RPC responses for this mount received from the NFS server. # TYPE node_mountstats_nfs_transport_receives_total counter node_mountstats_nfs_transport_receives_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 6428 node_mountstats_nfs_transport_receives_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 6428 +# HELP node_mountstats_nfs_transport_reply_chunks_total Total number of reply chunk accessed when sending a call. +# TYPE node_mountstats_nfs_transport_reply_chunks_total counter +node_mountstats_nfs_transport_reply_chunks_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_reply_chunks_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_reply_waitsfor_send_total Total number of reply waits for send accessed when receiving a reply. +# TYPE node_mountstats_nfs_transport_reply_waitsfor_send_total counter +node_mountstats_nfs_transport_reply_waitsfor_send_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_reply_waitsfor_send_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 # HELP node_mountstats_nfs_transport_sending_queue_total Total number of items added to the RPC transmission sending queue. # TYPE node_mountstats_nfs_transport_sending_queue_total counter node_mountstats_nfs_transport_sending_queue_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 26 @@ -2289,6 +2357,10 @@ node_mountstats_nfs_transport_sending_queue_total{export="192.168.1.1:/srv/test" # TYPE node_mountstats_nfs_transport_sends_total counter node_mountstats_nfs_transport_sends_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 6428 node_mountstats_nfs_transport_sends_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 6428 +# HELP node_mountstats_nfs_transport_write_chunks_total Total number of write chunk accessed when sending a call. +# TYPE node_mountstats_nfs_transport_write_chunks_total counter +node_mountstats_nfs_transport_write_chunks_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_write_chunks_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 # HELP node_mountstats_nfs_write_bytes_total Number of bytes written using the write() syscall. # TYPE node_mountstats_nfs_write_bytes_total counter node_mountstats_nfs_write_bytes_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 diff --git a/collector/fixtures/e2e-output.txt b/collector/fixtures/e2e-output.txt index 8598f447..267b0ff3 100644 --- a/collector/fixtures/e2e-output.txt +++ b/collector/fixtures/e2e-output.txt @@ -2275,10 +2275,18 @@ node_mountstats_nfs_total_write_bytes_total{export="192.168.1.1:/srv/test",mount # TYPE node_mountstats_nfs_transport_backlog_queue_total counter node_mountstats_nfs_transport_backlog_queue_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 node_mountstats_nfs_transport_backlog_queue_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_bad_replies_total Total number of bad reply when rarely accessed error counters. +# TYPE node_mountstats_nfs_transport_bad_replies_total counter +node_mountstats_nfs_transport_bad_replies_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_bad_replies_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 # HELP node_mountstats_nfs_transport_bad_transaction_ids_total Number of times the NFS server sent a response with a transaction ID unknown to this client. # TYPE node_mountstats_nfs_transport_bad_transaction_ids_total counter node_mountstats_nfs_transport_bad_transaction_ids_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 node_mountstats_nfs_transport_bad_transaction_ids_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_bcall_requests_total Total number of bcall when rarely accessed error counters. +# TYPE node_mountstats_nfs_transport_bcall_requests_total counter +node_mountstats_nfs_transport_bcall_requests_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_bcall_requests_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 # HELP node_mountstats_nfs_transport_bind_total Number of times the client has had to establish a connection from scratch to the NFS server. # TYPE node_mountstats_nfs_transport_bind_total counter node_mountstats_nfs_transport_bind_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 @@ -2287,22 +2295,82 @@ node_mountstats_nfs_transport_bind_total{export="192.168.1.1:/srv/test",mountadd # TYPE node_mountstats_nfs_transport_connect_total counter node_mountstats_nfs_transport_connect_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 1 node_mountstats_nfs_transport_connect_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_empty_sendctx_q_total Total number of empty sendctx q when rarely accessed error counters. +# TYPE node_mountstats_nfs_transport_empty_sendctx_q_total counter +node_mountstats_nfs_transport_empty_sendctx_q_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_empty_sendctx_q_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_fixup_copies_total Total number of fixup copy accessed when receiving a reply. +# TYPE node_mountstats_nfs_transport_fixup_copies_total counter +node_mountstats_nfs_transport_fixup_copies_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_fixup_copies_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_hardway_registrations_total Total number of hardway register when rarely accessed error counters. +# TYPE node_mountstats_nfs_transport_hardway_registrations_total counter +node_mountstats_nfs_transport_hardway_registrations_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_hardway_registrations_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 # HELP node_mountstats_nfs_transport_idle_time_seconds Duration since the NFS mount last saw any RPC traffic, in seconds. # TYPE node_mountstats_nfs_transport_idle_time_seconds gauge node_mountstats_nfs_transport_idle_time_seconds{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 11 node_mountstats_nfs_transport_idle_time_seconds{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_local_inv_requests_total Total number of local inv needed accessed when receiving a reply. +# TYPE node_mountstats_nfs_transport_local_inv_requests_total counter +node_mountstats_nfs_transport_local_inv_requests_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_local_inv_requests_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_marshal_failures_total Total number of failed marshal when rarely accessed error counters. +# TYPE node_mountstats_nfs_transport_marshal_failures_total counter +node_mountstats_nfs_transport_marshal_failures_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_marshal_failures_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 # HELP node_mountstats_nfs_transport_maximum_rpc_slots Maximum number of simultaneously active RPC requests ever used. # TYPE node_mountstats_nfs_transport_maximum_rpc_slots gauge node_mountstats_nfs_transport_maximum_rpc_slots{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 24 node_mountstats_nfs_transport_maximum_rpc_slots{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 24 +# HELP node_mountstats_nfs_transport_mrs_allocated_total Total number of mrs allocated when rarely accessed error counters. +# TYPE node_mountstats_nfs_transport_mrs_allocated_total counter +node_mountstats_nfs_transport_mrs_allocated_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_mrs_allocated_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_mrs_orphaned_total Total number of mrs orphaned when rarely accessed error counters. +# TYPE node_mountstats_nfs_transport_mrs_orphaned_total counter +node_mountstats_nfs_transport_mrs_orphaned_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_mrs_orphaned_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_mrs_recycled_total Total number of mrs recycled when rarely accessed error counters. +# TYPE node_mountstats_nfs_transport_mrs_recycled_total counter +node_mountstats_nfs_transport_mrs_recycled_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_mrs_recycled_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_nomsg_call_requests_total Total number of nomsg call when rarely accessed error counters. +# TYPE node_mountstats_nfs_transport_nomsg_call_requests_total counter +node_mountstats_nfs_transport_nomsg_call_requests_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_nomsg_call_requests_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 # HELP node_mountstats_nfs_transport_pending_queue_total Total number of items added to the RPC transmission pending queue. # TYPE node_mountstats_nfs_transport_pending_queue_total counter node_mountstats_nfs_transport_pending_queue_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 5726 node_mountstats_nfs_transport_pending_queue_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 5726 +# HELP node_mountstats_nfs_transport_pullup_copies_total Total number of pullup copy when rarely accessed error counters. +# TYPE node_mountstats_nfs_transport_pullup_copies_total counter +node_mountstats_nfs_transport_pullup_copies_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_pullup_copies_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_rdma_reply_requests_total Total number of rdma reply accessed when receiving a reply. +# TYPE node_mountstats_nfs_transport_rdma_reply_requests_total counter +node_mountstats_nfs_transport_rdma_reply_requests_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_rdma_reply_requests_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_rdma_requests_total Total number of rdma request accessed when sending a call. +# TYPE node_mountstats_nfs_transport_rdma_requests_total counter +node_mountstats_nfs_transport_rdma_requests_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_rdma_requests_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_read_chunks_total Total number of read chunk accessed when sending a call. +# TYPE node_mountstats_nfs_transport_read_chunks_total counter +node_mountstats_nfs_transport_read_chunks_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_read_chunks_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 # HELP node_mountstats_nfs_transport_receives_total Number of RPC responses for this mount received from the NFS server. # TYPE node_mountstats_nfs_transport_receives_total counter node_mountstats_nfs_transport_receives_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 6428 node_mountstats_nfs_transport_receives_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 6428 +# HELP node_mountstats_nfs_transport_reply_chunks_total Total number of reply chunk accessed when sending a call. +# TYPE node_mountstats_nfs_transport_reply_chunks_total counter +node_mountstats_nfs_transport_reply_chunks_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_reply_chunks_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 +# HELP node_mountstats_nfs_transport_reply_waitsfor_send_total Total number of reply waits for send accessed when receiving a reply. +# TYPE node_mountstats_nfs_transport_reply_waitsfor_send_total counter +node_mountstats_nfs_transport_reply_waitsfor_send_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_reply_waitsfor_send_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 # HELP node_mountstats_nfs_transport_sending_queue_total Total number of items added to the RPC transmission sending queue. # TYPE node_mountstats_nfs_transport_sending_queue_total counter node_mountstats_nfs_transport_sending_queue_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 26 @@ -2311,6 +2379,10 @@ node_mountstats_nfs_transport_sending_queue_total{export="192.168.1.1:/srv/test" # TYPE node_mountstats_nfs_transport_sends_total counter node_mountstats_nfs_transport_sends_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 6428 node_mountstats_nfs_transport_sends_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 6428 +# HELP node_mountstats_nfs_transport_write_chunks_total Total number of write chunk accessed when sending a call. +# TYPE node_mountstats_nfs_transport_write_chunks_total counter +node_mountstats_nfs_transport_write_chunks_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 +node_mountstats_nfs_transport_write_chunks_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="udp"} 0 # HELP node_mountstats_nfs_write_bytes_total Number of bytes written using the write() syscall. # TYPE node_mountstats_nfs_write_bytes_total counter node_mountstats_nfs_write_bytes_total{export="192.168.1.1:/srv/test",mountaddr="192.168.1.1",protocol="tcp"} 0 diff --git a/collector/mountstats_linux.go b/collector/mountstats_linux.go index 03f1a9b6..e16e47d2 100644 --- a/collector/mountstats_linux.go +++ b/collector/mountstats_linux.go @@ -64,6 +64,26 @@ type mountStatsCollector struct { NFSTransportMaximumRPCSlots *prometheus.Desc NFSTransportSendingQueueTotal *prometheus.Desc NFSTransportPendingQueueTotal *prometheus.Desc + // Transport over RDMA. + // Stats below only available with stat version 1.1. + NFSTransportReadChunkTotal *prometheus.Desc + NFSTransportWriteChunkTotal *prometheus.Desc + NFSTransportReplyChunkTotal *prometheus.Desc + NFSTransportRdmaRequestTotal *prometheus.Desc + NFSTransportPullupCopyTotal *prometheus.Desc + NFSTransportHardwayRegisterTotal *prometheus.Desc + NFSTransportFailedMarshalTotal *prometheus.Desc + NFSTransportBadReplyTotal *prometheus.Desc + NFSTransportMrsRecycledTotal *prometheus.Desc + NFSTransportMrsOrphanedTotal *prometheus.Desc + NFSTransportMrsAllocatedTotal *prometheus.Desc + NFSTransportEmptySendctxQTotal *prometheus.Desc + NFSTransportRdmaReplyTotal *prometheus.Desc + NFSTransportFixupCopyTotal *prometheus.Desc + NFSTransportReplyWaitsForSendTotal *prometheus.Desc + NFSTransportLocalInvNeededTotal *prometheus.Desc + NFSTransportNomsgCallTotal *prometheus.Desc + NFSTransportBcallCountTotal *prometheus.Desc // Event statistics NFSEventInodeRevalidateTotal *prometheus.Desc @@ -265,6 +285,129 @@ func NewMountStatsCollector(logger *slog.Logger) (Collector, error) { nil, ), + NFSTransportReadChunkTotal: prometheus.NewDesc( + prometheus.BuildFQName(namespace, subsystem, "transport_read_chunks_total"), + "Total number of read chunk accessed when sending a call.", + labels, + nil, + ), + + NFSTransportWriteChunkTotal: prometheus.NewDesc( + prometheus.BuildFQName(namespace, subsystem, "transport_write_chunks_total"), + "Total number of write chunk accessed when sending a call.", + labels, + nil, + ), + + NFSTransportReplyChunkTotal: prometheus.NewDesc( + prometheus.BuildFQName(namespace, subsystem, "transport_reply_chunks_total"), + "Total number of reply chunk accessed when sending a call.", + labels, + nil, + ), + + NFSTransportRdmaRequestTotal: prometheus.NewDesc( + prometheus.BuildFQName(namespace, subsystem, "transport_rdma_requests_total"), + "Total number of rdma request accessed when sending a call.", + labels, + nil, + ), + + NFSTransportPullupCopyTotal: prometheus.NewDesc( + prometheus.BuildFQName(namespace, subsystem, "transport_pullup_copies_total"), + "Total number of pullup copy when rarely accessed error counters.", + labels, + nil, + ), + + NFSTransportHardwayRegisterTotal: prometheus.NewDesc( + prometheus.BuildFQName(namespace, subsystem, "transport_hardway_registrations_total"), + "Total number of hardway register when rarely accessed error counters.", + labels, + nil, + ), + + NFSTransportFailedMarshalTotal: prometheus.NewDesc( + prometheus.BuildFQName(namespace, subsystem, "transport_marshal_failures_total"), + "Total number of failed marshal when rarely accessed error counters.", + labels, + nil, + ), + + NFSTransportBadReplyTotal: prometheus.NewDesc( + prometheus.BuildFQName(namespace, subsystem, "transport_bad_replies_total"), + "Total number of bad reply when rarely accessed error counters.", + labels, + nil, + ), + + NFSTransportMrsRecycledTotal: prometheus.NewDesc( + prometheus.BuildFQName(namespace, subsystem, "transport_mrs_recycled_total"), + "Total number of mrs recycled when rarely accessed error counters.", + labels, + nil, + ), + + NFSTransportMrsOrphanedTotal: prometheus.NewDesc( + prometheus.BuildFQName(namespace, subsystem, "transport_mrs_orphaned_total"), + "Total number of mrs orphaned when rarely accessed error counters.", + labels, + nil, + ), + + NFSTransportMrsAllocatedTotal: prometheus.NewDesc( + prometheus.BuildFQName(namespace, subsystem, "transport_mrs_allocated_total"), + "Total number of mrs allocated when rarely accessed error counters.", + labels, + nil, + ), + + NFSTransportEmptySendctxQTotal: prometheus.NewDesc( + prometheus.BuildFQName(namespace, subsystem, "transport_empty_sendctx_q_total"), + "Total number of empty sendctx q when rarely accessed error counters.", + labels, + nil, + ), + + NFSTransportRdmaReplyTotal: prometheus.NewDesc( + prometheus.BuildFQName(namespace, subsystem, "transport_rdma_reply_requests_total"), + "Total number of rdma reply accessed when receiving a reply.", + labels, + nil, + ), + + NFSTransportFixupCopyTotal: prometheus.NewDesc( + prometheus.BuildFQName(namespace, subsystem, "transport_fixup_copies_total"), + "Total number of fixup copy accessed when receiving a reply.", + labels, + nil, + ), + + NFSTransportReplyWaitsForSendTotal: prometheus.NewDesc( + prometheus.BuildFQName(namespace, subsystem, "transport_reply_waitsfor_send_total"), + "Total number of reply waits for send accessed when receiving a reply.", + labels, + nil, + ), + NFSTransportLocalInvNeededTotal: prometheus.NewDesc( + prometheus.BuildFQName(namespace, subsystem, "transport_local_inv_requests_total"), + "Total number of local inv needed accessed when receiving a reply.", + labels, + nil, + ), + NFSTransportNomsgCallTotal: prometheus.NewDesc( + prometheus.BuildFQName(namespace, subsystem, "transport_nomsg_call_requests_total"), + "Total number of nomsg call when rarely accessed error counters.", + labels, + nil, + ), + NFSTransportBcallCountTotal: prometheus.NewDesc( + prometheus.BuildFQName(namespace, subsystem, "transport_bcall_requests_total"), + "Total number of bcall when rarely accessed error counters.", + labels, + nil, + ), + NFSOperationsRequestsTotal: prometheus.NewDesc( prometheus.BuildFQName(namespace, subsystem, "operations_requests_total"), "Number of requests performed for a given operation.", @@ -689,6 +832,132 @@ func (c *mountStatsCollector) updateNFSStats(ch chan<- prometheus.Metric, s *pro ) } + ch <- prometheus.MustNewConstMetric( + c.NFSTransportReadChunkTotal, + prometheus.CounterValue, + float64(s.Transport.ReadChunkCount), + labelValues..., + ) + + ch <- prometheus.MustNewConstMetric( + c.NFSTransportWriteChunkTotal, + prometheus.CounterValue, + float64(s.Transport.WriteChunkCount), + labelValues..., + ) + + ch <- prometheus.MustNewConstMetric( + c.NFSTransportReplyChunkTotal, + prometheus.CounterValue, + float64(s.Transport.ReplyChunkCount), + labelValues..., + ) + + ch <- prometheus.MustNewConstMetric( + c.NFSTransportRdmaRequestTotal, + prometheus.CounterValue, + float64(s.Transport.TotalRdmaRequest), + labelValues..., + ) + + ch <- prometheus.MustNewConstMetric( + c.NFSTransportPullupCopyTotal, + prometheus.CounterValue, + float64(s.Transport.PullupCopyCount), + labelValues..., + ) + + ch <- prometheus.MustNewConstMetric( + c.NFSTransportHardwayRegisterTotal, + prometheus.CounterValue, + float64(s.Transport.HardwayRegisterCount), + labelValues..., + ) + + ch <- prometheus.MustNewConstMetric( + c.NFSTransportFailedMarshalTotal, + prometheus.CounterValue, + float64(s.Transport.FailedMarshalCount), + labelValues..., + ) + + ch <- prometheus.MustNewConstMetric( + c.NFSTransportBadReplyTotal, + prometheus.CounterValue, + float64(s.Transport.BadReplyCount), + labelValues..., + ) + + ch <- prometheus.MustNewConstMetric( + c.NFSTransportMrsRecycledTotal, + prometheus.CounterValue, + float64(s.Transport.MrsRecovered), + labelValues..., + ) + + ch <- prometheus.MustNewConstMetric( + c.NFSTransportMrsOrphanedTotal, + prometheus.CounterValue, + float64(s.Transport.MrsOrphaned), + labelValues..., + ) + + ch <- prometheus.MustNewConstMetric( + c.NFSTransportMrsAllocatedTotal, + prometheus.CounterValue, + float64(s.Transport.MrsAllocated), + labelValues..., + ) + + ch <- prometheus.MustNewConstMetric( + c.NFSTransportEmptySendctxQTotal, + prometheus.CounterValue, + float64(s.Transport.EmptySendctxQ), + labelValues..., + ) + + ch <- prometheus.MustNewConstMetric( + c.NFSTransportRdmaReplyTotal, + prometheus.CounterValue, + float64(s.Transport.TotalRdmaReply), + labelValues..., + ) + + ch <- prometheus.MustNewConstMetric( + c.NFSTransportFixupCopyTotal, + prometheus.CounterValue, + float64(s.Transport.FixupCopyCount), + labelValues..., + ) + + ch <- prometheus.MustNewConstMetric( + c.NFSTransportReplyWaitsForSendTotal, + prometheus.CounterValue, + float64(s.Transport.ReplyWaitsForSend), + labelValues..., + ) + + ch <- prometheus.MustNewConstMetric( + c.NFSTransportLocalInvNeededTotal, + prometheus.CounterValue, + float64(s.Transport.LocalInvNeeded), + labelValues..., + ) + + ch <- prometheus.MustNewConstMetric( + c.NFSTransportNomsgCallTotal, + prometheus.CounterValue, + float64(s.Transport.NomsgCallCount), + labelValues..., + ) + + ch <- prometheus.MustNewConstMetric( + c.NFSTransportBcallCountTotal, + prometheus.CounterValue, + float64(s.Transport.BcallCount), + labelValues..., + ) + for _, op := range s.Operations { opLabelValues := []string{export, protocol, mountAddress, op.Operation}