iamseth / oracledb_exporter

Prometheus Oracle database exporter.
MIT License
484 stars 237 forks source link

It doesn't work when the name of custom metric is uppercase. #176

Open Shiiho11 opened 3 years ago

Shiiho11 commented 3 years ago

I don't know if lowercase is a convention.

When I write the following into the "custom-metrics.toml" :

[[metric]]
context = "sum_capacity"
request = "SELECT SUM(NODE_CAPACITY.CPU_CAPACITY)as CPU, SUM(NODE_CAPACITY.MEM_CAPACITY)as MEMORY FROM NODE_CAPACITY"
metricsdesc = { CPU = "合计可用cpu.", MEMORY = "合计可用memory." }

[[metric]]
context = "sum_uasge"
request = "SELECT SUM(TASK_USAGE.CPU_USAGE) AS CPU, SUM(TASK_USAGE.MEM_USAGE) AS MEMORY FROM TASK_USAGE"
metricsdesc = { CPU = "合计使用cpu.", MEMORY = "合计使用memory." }

ERROR :

ERRO[0373] Unable to convert current value to float (metric=CPU,metricHelp=合计可用cpu.,value=<>)  source="main.go:321"
ERRO[0373] Unable to convert current value to float (metric=MEMORY,metricHelp=合计可用memory.,value=<>)  source="main.go:321"

On the contrary, when I write the following into the "custom-metrics.toml" :

[[metric]]
context = "sum_capacity"
request = "SELECT SUM(NODE_CAPACITY.CPU_CAPACITY)as cpu, SUM(NODE_CAPACITY.MEM_CAPACITY)as memory FROM NODE_CAPACITY"
metricsdesc = { cpu = "合计可用cpu.", memory = "合计可用memory." }

[[metric]]
context = "sum_uasge"
request = "SELECT SUM(TASK_USAGE.CPU_USAGE) AS cpu, SUM(TASK_USAGE.MEM_USAGE) AS memory FROM TASK_USAGE"
metricsdesc = { cpu = "合计使用cpu.", memory = "合计使用memory." }

It works.

# HELP oracledb_sum_capacity_cpu 合计可用cpu.
# TYPE oracledb_sum_capacity_cpu gauge
oracledb_sum_capacity_cpu 3461
# HELP oracledb_sum_capacity_memory 合计可用memory.
# TYPE oracledb_sum_capacity_memory gauge
oracledb_sum_capacity_memory 3461
# HELP oracledb_sum_uasge_cpu 合计使用cpu.
# TYPE oracledb_sum_uasge_cpu gauge
oracledb_sum_uasge_cpu 5244.67400163
# HELP oracledb_sum_uasge_memory 合计使用memory.
# TYPE oracledb_sum_uasge_memory gauge
oracledb_sum_uasge_memory 3827.262049744
Yannig commented 3 years ago

Hi @Shi-Iho and thank you for the report.

I'm not a big fan of uppercase metrics but at least we can say that it's a bug. :)