Due to this wrong mapping, once the "track_io_timing" feature is enabled at PostgreSQL side then the fields postgresql.database.blocks.time.read.ms and postgresql.database.blocks.time.write.ms are always missing (more than probably due to an error while mapping).
Version: metricbeat 7.11 + PostgreSQL 11
Operating System: k8s v1.18.9+k3s1 under k3OS v0.11.1
Discuss Forum URL: https://discuss.elastic.co/t/metricbeat-module-postgresql-wrong-mapping-of-blk-read-time-and-blk-write-time/270722
Steps to Reproduce:
track_io_timing
viapostgresql.conf
--> uncomment or addtrack_io_timing = on
database
metricsetpostgresql.database.blocks.time.read.ms
andpostgresql.database.blocks.time.write.ms
are missing while expected (due to step n°2).Detailed description:
According to beats/metricbeat/module/postgresql/database/data.go, the following fields are mapped as Integer:
But according to the official PostgreSQL documentation, theses columns are double precision - see PostgreSQL: Documentation: 9.2: The Statistics Collector
Due to this wrong mapping, once the "track_io_timing" feature is enabled at PostgreSQL side then the fields
postgresql.database.blocks.time.read.ms
andpostgresql.database.blocks.time.write.ms
are always missing (more than probably due to an error while mapping).