I am trying to convert a SQL Server query to Flux
SQL Server query:
SELECT
CAST(100.0 * SUM(signal_wait_time_ms) / SUM (wait_time_ms) AS NUMERIC(20, 2)) AS [%signal (cpu) waits]
FROM
sys.dm_os_wait_stats
OPTION (RECOMPILE);
My version of the Flux query
from(bucket: "mssql")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r["sql_instance"] == "wp000081511")
|> filter(fn: (r) => r["_measurement"] == "sqlserver_waitstats")
|> aggregateWindow(every: 1s, fn: sum, column: "signal_wait_time_ms")
|> yield(name: "sum_signal_wait_time_ms")
|> aggregateWindow(every:1s, fn: sum, column: "wait_time_ms")
|> yield(name: "sum_wait_time_ms")
|> map(fn: (r) => ({r with ratio: r.signal_wait_time_ms/r.sum_wait_time_ms}))
|> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
|> yield(name: "last")
The error produced by Flux query
runtime error: column "signal_wait_time_ms" does not exist
I am sure my syntax here has issues I just don't know how to address. I have not properly formulated the map function. The query was working before I added the map function.