90 th percentile showing wrong values

My setup:

InfluxDB shell version: 1.7.6
Telegraf 1.10.3
Grafana Version 5.3.1

I am using telegraf to collect vsphere metrics and grafana to visualize the data.

I am trying to use grafana’s singlestat counter to display 90th percentile for a vsphere metric and it looks to be showing wrong value. See below (24 hours data):

Here is my query:

Here is my telegraf configuration for vsphere:

[[inputs.vsphere]]
vcenters = [ “https://xxxxx/sdk” ]
username = “xxxx”
password = “xxxxx”
interval = “40s”

vm_metric_include = [
“sys.uptime.latest” ,
“cpu.usage.average” ,
“cpu.ready.summation” ,
“cpu.readiness.average” ,
“cpu.usagemhz.average” ,
“cpu.wait.summation” ,
“cpu.system.summation” ,
“cpu.used.summation” ,
“mem.usage.average” ,
“mem.consumed.average” ,
“mem.active.average” ,
“mem.vmmemctl.average” ,
“mem.swapused.average” ,
“mem.swapIn.average” ,
“mem.swapOut.average” ,
“disk.maxTotalLatency.latest” ,
“net.usage.average” ,
“net.bytesRx.average” ,
“net.bytesTx.average” ,
“net.packetsRx.summation” ,
“net.packetsTx.summation” ,
“net.received.average” ,
“net.transmitted.average” ,
“virtualDisk.read.average” ,
“virtualDisk.write.average” ,
“virtualDisk.totalWriteLatency.average” ,
“virtualDisk.totalReadLatency.average” ,
“virtualDisk.numberReadAveraged.average” ,
“virtualDisk.numberWriteAveraged.average” ,
“virtualDisk.readOIO.latest” ,
“virtualDisk.writeOIO.latest”
]

host_metric_include = [
“cpu.usagemhz.average” ,
“cpu.usage.average” ,
“cpu.corecount.provisioned.average” ,
“mem.capacity.provisioned.average” ,
“mem.active.average” ,
“net.throughput.usage.average” ,
“net.throughput.contention.summation” ,
“storageAdapter.numberReadAveraged.average” ,
“storageAdapter.numberWriteAveraged.average” ,
“storageAdapter.read.average” ,
“storageAdapter.write.average” ,
“storageAdapter.totalReadLatency.average” ,
“storageAdapter.totalWriteLatency.average” ,
“cpu.utilization.average” ,
“cpu.readiness.average” ,
“cpu.ready.summation” ,
“net.bytesRx.average” ,
“net.bytesTx.average” ,
“virtualDisk.totalWriteLatency.average” ,
“virtualDisk.totalReadLatency.average” ,
“net.received.average” ,
“net.transmitted.average” ,
“net.packetsRx.summation” ,
“net.packetsTx.summation” ,
“mem.consumed.average” ,
“mem.totalmb.average”
]

########################## Exclude all historical metrics###########################

datastore_metric_exclude = [““]
cluster_metric_exclude = [”
”]
datacenter_metric_exclude = [“*”]

####################################################################################

separator = “_”
max_query_objects = 150
max_query_metrics = 150

############following parameter values should always match each other, they offer performance boost. Max value for each is 8 ###############

collect_concurrency = 6
discover_concurrency = 6

############################################################################################################

force_discover_on_init = false
object_discovery_interval = “60s”
timeout = “60s”
insecure_skip_verify = true

Am i doing something wrong?