Skip to content

Commit

Permalink
vdo_compression_state and vdo_index_state strings are info, not metrics
Browse files Browse the repository at this point in the history
`vdo_compression_state` and `vdo_index_state` are string fields which
can't be parsed as numbers.

Reported in issue #29.
  • Loading branch information
hansmi committed Jun 28, 2023
1 parent 539a714 commit a855fad
Show file tree
Hide file tree
Showing 10 changed files with 125 additions and 38 deletions.
1 change: 1 addition & 0 deletions collector_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ func TestCollector(t *testing.T) {
{name: "mirrored"},
{name: "mirrored-unhealthy"},
{name: "snapshot"},
{name: "issue29-vdo-online"},
} {
t.Run(tc.name, func(t *testing.T) {
c := newCollector()
Expand Down
20 changes: 10 additions & 10 deletions lv.go
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,16 @@ var lvGroup = &group{
metricName: "lv_raidintegritymode",
desc: "The integrity mode",
},
{
fieldName: "vdo_compression_state",
metricName: "lv_vdo_compression_state",
desc: "For vdo pools, whether compression is running",
},
{
fieldName: "vdo_index_state",
metricName: "lv_vdo_index_state",
desc: "For vdo pools, state of index for deduplication",
},
{
fieldName: "vdo_operating_mode",
metricName: "lv_vdo_operating_mode",
Expand Down Expand Up @@ -478,16 +488,6 @@ var lvGroup = &group{
metricName: "lv_sync_percent",
desc: "For Cache, RAID, mirrors and pvmove, current percentage in-sync",
},
{
fieldName: "vdo_compression_state",
metricName: "lv_vdo_compression_state",
desc: "For vdo pools, whether compression is running",
},
{
fieldName: "vdo_index_state",
metricName: "lv_vdo_index_state",
desc: "For vdo pools, state of index for deduplication",
},
{
fieldName: "vdo_saving_percent",
metricName: "lv_vdo_saving_percent",
Expand Down
24 changes: 24 additions & 0 deletions testdata/issue29-vdo-online.golden
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# HELP lvm_lv_info
# TYPE lvm_lv_info gauge
lvm_lv_info{lv_active="",lv_allocation_policy="",lv_ancestors="",lv_attr="",lv_convert_lv="",lv_convert_lv_uuid="",lv_data_lv="",lv_data_lv_uuid="",lv_descendants="",lv_dm_path="",lv_full_ancestors="",lv_full_descendants="",lv_full_name="",lv_health_status="",lv_host="",lv_kernel_cache_policy="",lv_kernel_cache_settings="",lv_kernel_discards="",lv_kernel_metadata_format="",lv_kernel_read_ahead_bytes="",lv_layout="",lv_metadata_lv="",lv_metadata_lv_uuid="",lv_mirror_log="",lv_mirror_log_uuid="",lv_modules="",lv_move_pv="",lv_move_pv_uuid="",lv_name="[vpool0_vdata]",lv_origin="",lv_origin_uuid="",lv_parent="",lv_path="",lv_permissions="",lv_pool_lv="",lv_pool_lv_uuid="",lv_raid_sync_action="",lv_raidintegritymode="",lv_role="",lv_tags="",lv_uuid="tHnHR1-bjg8-ycJX-eyhR-heEp-L4qs-S510dO",lv_vdo_compression_state="",lv_vdo_index_state="",lv_vdo_operating_mode="",lv_when_full=""} 1
lvm_lv_info{lv_active="",lv_allocation_policy="",lv_ancestors="",lv_attr="",lv_convert_lv="",lv_convert_lv_uuid="",lv_data_lv="",lv_data_lv_uuid="",lv_descendants="",lv_dm_path="",lv_full_ancestors="",lv_full_descendants="",lv_full_name="",lv_health_status="",lv_host="",lv_kernel_cache_policy="",lv_kernel_cache_settings="",lv_kernel_discards="",lv_kernel_metadata_format="",lv_kernel_read_ahead_bytes="",lv_layout="",lv_metadata_lv="",lv_metadata_lv_uuid="",lv_mirror_log="",lv_mirror_log_uuid="",lv_modules="",lv_move_pv="",lv_move_pv_uuid="",lv_name="lv_data",lv_origin="",lv_origin_uuid="",lv_parent="",lv_path="",lv_permissions="",lv_pool_lv="",lv_pool_lv_uuid="",lv_raid_sync_action="",lv_raidintegritymode="",lv_role="",lv_tags="",lv_uuid="5UyOrx-zG6u-w7cF-G2Ny-HmVd-0lsb-4J6lG2",lv_vdo_compression_state="",lv_vdo_index_state="",lv_vdo_operating_mode="",lv_when_full=""} 1
lvm_lv_info{lv_active="",lv_allocation_policy="",lv_ancestors="",lv_attr="",lv_convert_lv="",lv_convert_lv_uuid="",lv_data_lv="",lv_data_lv_uuid="",lv_descendants="",lv_dm_path="",lv_full_ancestors="",lv_full_descendants="",lv_full_name="",lv_health_status="",lv_host="",lv_kernel_cache_policy="",lv_kernel_cache_settings="",lv_kernel_discards="",lv_kernel_metadata_format="",lv_kernel_read_ahead_bytes="",lv_layout="",lv_metadata_lv="",lv_metadata_lv_uuid="",lv_mirror_log="",lv_mirror_log_uuid="",lv_modules="",lv_move_pv="",lv_move_pv_uuid="",lv_name="lv_db_backup",lv_origin="",lv_origin_uuid="",lv_parent="",lv_path="",lv_permissions="",lv_pool_lv="",lv_pool_lv_uuid="",lv_raid_sync_action="",lv_raidintegritymode="",lv_role="",lv_tags="",lv_uuid="r7Btja-nL3P-Co38-X2K4-DLWS-LMhT-LajcQa",lv_vdo_compression_state="online",lv_vdo_index_state="online",lv_vdo_operating_mode="normal",lv_when_full=""} 1
lvm_lv_info{lv_active="",lv_allocation_policy="",lv_ancestors="",lv_attr="",lv_convert_lv="",lv_convert_lv_uuid="",lv_data_lv="",lv_data_lv_uuid="",lv_descendants="",lv_dm_path="",lv_full_ancestors="",lv_full_descendants="",lv_full_name="",lv_health_status="",lv_host="",lv_kernel_cache_policy="",lv_kernel_cache_settings="",lv_kernel_discards="",lv_kernel_metadata_format="",lv_kernel_read_ahead_bytes="",lv_layout="",lv_metadata_lv="",lv_metadata_lv_uuid="",lv_mirror_log="",lv_mirror_log_uuid="",lv_modules="",lv_move_pv="",lv_move_pv_uuid="",lv_name="root",lv_origin="",lv_origin_uuid="",lv_parent="",lv_path="",lv_permissions="",lv_pool_lv="",lv_pool_lv_uuid="",lv_raid_sync_action="",lv_raidintegritymode="",lv_role="",lv_tags="",lv_uuid="cqZnVQ-FUPG-btWz-3fff-cMX5-wViK-8MM3QY",lv_vdo_compression_state="",lv_vdo_index_state="",lv_vdo_operating_mode="",lv_when_full=""} 1
lvm_lv_info{lv_active="",lv_allocation_policy="",lv_ancestors="",lv_attr="",lv_convert_lv="",lv_convert_lv_uuid="",lv_data_lv="",lv_data_lv_uuid="",lv_descendants="",lv_dm_path="",lv_full_ancestors="",lv_full_descendants="",lv_full_name="",lv_health_status="",lv_host="",lv_kernel_cache_policy="",lv_kernel_cache_settings="",lv_kernel_discards="",lv_kernel_metadata_format="",lv_kernel_read_ahead_bytes="",lv_layout="",lv_metadata_lv="",lv_metadata_lv_uuid="",lv_mirror_log="",lv_mirror_log_uuid="",lv_modules="",lv_move_pv="",lv_move_pv_uuid="",lv_name="swap",lv_origin="",lv_origin_uuid="",lv_parent="",lv_path="",lv_permissions="",lv_pool_lv="",lv_pool_lv_uuid="",lv_raid_sync_action="",lv_raidintegritymode="",lv_role="",lv_tags="",lv_uuid="lGs7Tn-1Fyv-jMHN-aniN-r8qk-duEI-B9Xl9e",lv_vdo_compression_state="",lv_vdo_index_state="",lv_vdo_operating_mode="",lv_when_full=""} 1
lvm_lv_info{lv_active="",lv_allocation_policy="",lv_ancestors="",lv_attr="",lv_convert_lv="",lv_convert_lv_uuid="",lv_data_lv="",lv_data_lv_uuid="",lv_descendants="",lv_dm_path="",lv_full_ancestors="",lv_full_descendants="",lv_full_name="",lv_health_status="",lv_host="",lv_kernel_cache_policy="",lv_kernel_cache_settings="",lv_kernel_discards="",lv_kernel_metadata_format="",lv_kernel_read_ahead_bytes="",lv_layout="",lv_metadata_lv="",lv_metadata_lv_uuid="",lv_mirror_log="",lv_mirror_log_uuid="",lv_modules="",lv_move_pv="",lv_move_pv_uuid="",lv_name="vpool0",lv_origin="",lv_origin_uuid="",lv_parent="",lv_path="",lv_permissions="",lv_pool_lv="",lv_pool_lv_uuid="",lv_raid_sync_action="",lv_raidintegritymode="",lv_role="",lv_tags="",lv_uuid="dylifl-81AF-n2mG-kFKo-Ntxe-mnNQ-3eB7fF",lv_vdo_compression_state="online",lv_vdo_index_state="online",lv_vdo_operating_mode="normal",lv_when_full=""} 1
# HELP lvm_lv_vdo_saving_percent For vdo pools, percentage of saved space
# TYPE lvm_lv_vdo_saving_percent gauge
lvm_lv_vdo_saving_percent{lv_uuid="dylifl-81AF-n2mG-kFKo-Ntxe-mnNQ-3eB7fF"} 55.37
lvm_lv_vdo_saving_percent{lv_uuid="r7Btja-nL3P-Co38-X2K4-DLWS-LMhT-LajcQa"} 55.37
# HELP lvm_lv_vdo_used_size_bytes For vdo pools, currently used space
# TYPE lvm_lv_vdo_used_size_bytes gauge
lvm_lv_vdo_used_size_bytes{lv_uuid="dylifl-81AF-n2mG-kFKo-Ntxe-mnNQ-3eB7fF"} 2.78899963904e+12
lvm_lv_vdo_used_size_bytes{lv_uuid="r7Btja-nL3P-Co38-X2K4-DLWS-LMhT-LajcQa"} 2.78899963904e+12
# HELP lvm_unknown_field_count Fields reported by LVM not recognized by exporter
# TYPE lvm_unknown_field_count gauge
lvm_unknown_field_count{details="",group="lv"} 0
lvm_unknown_field_count{details="",group="pv"} 0
lvm_unknown_field_count{details="",group="vg"} 0
# HELP lvm_up Whether scrape was successful
# TYPE lvm_up gauge
lvm_up{status=""} 1
62 changes: 62 additions & 0 deletions testdata/issue29-vdo-online.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
{
"report": [
{
"lv": [
{
"lv_uuid": "dylifl-81AF-n2mG-kFKo-Ntxe-mnNQ-3eB7fF",
"lv_name": "vpool0",
"vdo_compression_state": "online",
"vdo_index_state": "online",
"vdo_operating_mode": "normal",
"vdo_saving_percent": "55.37",
"vdo_used_size": "2788999639040"
},
{
"lv_uuid": "r7Btja-nL3P-Co38-X2K4-DLWS-LMhT-LajcQa",
"lv_name": "lv_db_backup",
"vdo_compression_state": "online",
"vdo_index_state": "online",
"vdo_operating_mode": "normal",
"vdo_saving_percent": "55.37",
"vdo_used_size": "2788999639040"
},
{
"lv_uuid": "tHnHR1-bjg8-ycJX-eyhR-heEp-L4qs-S510dO",
"lv_name": "[vpool0_vdata]",
"vdo_compression_state": "",
"vdo_index_state": "",
"vdo_operating_mode": "",
"vdo_saving_percent": "",
"vdo_used_size": ""
},
{
"lv_uuid": "5UyOrx-zG6u-w7cF-G2Ny-HmVd-0lsb-4J6lG2",
"lv_name": "lv_data",
"vdo_compression_state": "",
"vdo_index_state": "",
"vdo_operating_mode": "",
"vdo_saving_percent": "",
"vdo_used_size": ""
},
{
"lv_uuid": "lGs7Tn-1Fyv-jMHN-aniN-r8qk-duEI-B9Xl9e",
"lv_name": "swap",
"vdo_compression_state": "",
"vdo_index_state": "",
"vdo_operating_mode": "",
"vdo_saving_percent": "",
"vdo_used_size": ""
},
{
"lv_uuid": "cqZnVQ-FUPG-btWz-3fff-cMX5-wViK-8MM3QY",
"lv_name": "root",
"vdo_compression_state": "",
"vdo_index_state": "",
"vdo_operating_mode": "",
"vdo_saving_percent": "",
"vdo_used_size": ""
}
]
}
]
}

0 comments on commit a855fad

Please sign in to comment.