Thanks for the reply and feedback, I did try these but was still am still
seeing some inconsistency, I have add the metrics just give an idea of what
I am working with:
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="ASYNC_NETWORK_IO"} 20461
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="CMEMTHREAD"} 3080
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="CXCONSUMER"} 3083
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="CXPACKET"} 7046
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="INSTANCE_LOG_RATE_GOVERNOR"} 185
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="IO_COMPLETION"} 1180
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="LATCH_SH"} 184
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="PAGEIOLATCH_EX"} 238
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="PAGEIOLATCH_SH"} 2940
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="PAGELATCH_EX"} 836677
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="PAGELATCH_SH"} 440660
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="PERFORMANCE_COUNTERS_RWLOCK"} 293
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="POOL_LOG_RATE_GOVERNOR"} 10127
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="PREEMPTIVE_NTJOB_CALLS"} 74935
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="PREEMPTIVE_OS_CRYPTACQUIRECONTEXT"} 866371
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="PREEMPTIVE_XHTTP"} 718482
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="RESOURCE_GOVERNOR_IDLE"} 20840
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="RESOURCE_SEMAPHORE_QUERY_COMPILE"} 336606
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="SOS_SCHEDULER_YIELD"} 2.870625e+06
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="WRITELOG"} 2268
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="ASYNC_NETWORK_IO"} 20461
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="CMEMTHREAD"} 3080
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="CXCONSUMER"} 3083
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="CXPACKET"} 7046
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="INSTANCE_LOG_RATE_GOVERNOR"} 185
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="IO_COMPLETION"} 1180
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="LATCH_SH"} 184
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="PAGEIOLATCH_EX"} 238
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="PAGEIOLATCH_SH"} 2940
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="PAGELATCH_EX"} 836677
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="PAGELATCH_SH"} 440660
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="PERFORMANCE_COUNTERS_RWLOCK"} 293
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="POOL_LOG_RATE_GOVERNOR"} 10127
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="PREEMPTIVE_NTJOB_CALLS"} 74935
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="PREEMPTIVE_OS_CRYPTACQUIRECONTEXT"} 866371
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="PREEMPTIVE_XHTTP"} 718482
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="RESOURCE_GOVERNOR_IDLE"} 20840
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="RESOURCE_SEMAPHORE_QUERY_COMPILE"} 336606
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="SOS_SCHEDULER_YIELD"} 2.870625e+06
sqlserver_azuredb_waitstats_wait_time_ms{database_name="$databaseName",
sql_instance="$server",wait_type="WRITELOG"} 2268
And then I want to take each wait_type here and divide it by the following
metric on the same wait_type label name if it is present
sqlserver_azuredb_waitstats_waiting_tasks_count{database_name=
"$databaseName",sql_instance="$server",wait_type="ASYNC_NETWORK_IO"} 18757
sqlserver_azuredb_waitstats_waiting_tasks_count{database_name=
"$databaseName",sql_instance="$server",wait_type="CMEMTHREAD"} 148
sqlserver_azuredb_waitstats_waiting_tasks_count{database_name=
"$databaseName",sql_instance="$server",wait_type="CXCONSUMER"} 780
sqlserver_azuredb_waitstats_waiting_tasks_count{database_name=
"$databaseName",sql_instance="$server",wait_type="CXPACKET"} 909
sqlserver_azuredb_waitstats_waiting_tasks_count{database_name=
"$databaseName",sql_instance="$server",wait_type=
"INSTANCE_LOG_RATE_GOVERNOR"} 33
sqlserver_azuredb_waitstats_waiting_tasks_count{database_name=
"$databaseName",sql_instance="$server",wait_type="IO_COMPLETION"} 437
sqlserver_azuredb_waitstats_waiting_tasks_count{database_name=
"$databaseName",sql_instance="$server",wait_type="LATCH_SH"} 19
sqlserver_azuredb_waitstats_waiting_tasks_count{database_name=
"$databaseName",sql_instance="$server",wait_type="PAGEIOLATCH_EX"} 60
sqlserver_azuredb_waitstats_waiting_tasks_count{database_name=
"$databaseName",sql_instance="$server",wait_type="PAGEIOLATCH_SH"} 437
sqlserver_azuredb_waitstats_waiting_tasks_count{database_name=
"$databaseName",sql_instance="$server",wait_type="PAGELATCH_EX"} 59317
sqlserver_azuredb_waitstats_waiting_tasks_count{database_name=
"$databaseName",sql_instance="$server",wait_type="PAGELATCH_SH"} 48521
sqlserver_azuredb_waitstats_waiting_tasks_count{database_name=
"$databaseName",sql_instance="$server",wait_type=
"PERFORMANCE_COUNTERS_RWLOCK"} 293
sqlserver_azuredb_waitstats_waiting_tasks_count{database_name=
"$databaseName",sql_instance="$server",wait_type="POOL_LOG_RATE_GOVERNOR"}
1059
sqlserver_azuredb_waitstats_waiting_tasks_count{database_name=
"$databaseName",sql_instance="$server",wait_type="PREEMPTIVE_NTJOB_CALLS"}
25600
sqlserver_azuredb_waitstats_waiting_tasks_count{database_name=
"$databaseName",sql_instance="$server",wait_type=
"PREEMPTIVE_OS_CRYPTACQUIRECONTEXT"} 179204
sqlserver_azuredb_waitstats_waiting_tasks_count{database_name=
"$databaseName",sql_instance="$server",wait_type="PREEMPTIVE_XHTTP"} 76800
sqlserver_azuredb_waitstats_waiting_tasks_count{database_name=
"$databaseName",sql_instance="$server",wait_type="RESOURCE_GOVERNOR_IDLE"}
2994
sqlserver_azuredb_waitstats_waiting_tasks_count{database_name=
"$databaseName",sql_instance="$server",wait_type=
"RESOURCE_SEMAPHORE_QUERY_COMPILE"} 5409
sqlserver_azuredb_waitstats_waiting_tasks_count{database_name=
"$databaseName",sql_instance="$server",wait_type="SOS_SCHEDULER_YIELD"}
1.391014e+06
sqlserver_azuredb_waitstats_waiting_tasks_count{database_name=
"$databaseName",sql_instance="$server",wait_type="WRITELOG"} 551
Here is my most recent query:
rate(sqlserver_azuredb_waitstats_wait_time_ms{sql_instance=“$server”,
database_name= “$databaseName”}[5m]) / on (wait_type) rate(
sqlserver_azuredb_waitstats_waiting_tasks_count{sql_instance=“$server”,
database_name=“$databaseName”}[5m])
now if I add a separate query and specify each wait_type as it's own query
I get the desired result, but doing the above returns weirdness
On Sunday, May 3, 2020 at 8:15:38 AM UTC+1, Brian Candler wrote:
>
> I'm not going to attempt to analyse your query in detail, since you
> haven't provided any examples of the metrics and labels in question, but I
> would expect you need to look at
>
> foo / ON(...) bar
> or
> foo / IGNORING(...) bar
> as described here
> <https://prometheus.io/docs/prometheus/latest/querying/operators/#one-to-one-vector-matches>,
>
> or GROUP_LEFT / GROUP_RIGHT as described here
> <https://prometheus.io/docs/prometheus/latest/querying/operators/#many-to-one-and-one-to-many-vector-matches>
> .
>
> However I just wanted to point out that your expression is missing
> parentheses. Operator precedence
> <https://prometheus.io/docs/prometheus/latest/querying/operators/#binary-operator-precedence>
> says
> that
> foo >= 0 / bar >= 0
> is parsed as
> foo >= (0 / bar) >= 0
>
> you want:
> (foo >= 0) / (bar >= 0)
>
> Having said that, the ">= 0" is redundant here, because rate() can only
> ever return a positive value. If the input value drops, it's treated as a
> counter reset.
>
--
You received this message because you are subscribed to the Google Groups
"Prometheus Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/prometheus-users/2de537db-d441-44e8-9439-20833ae08c94%40googlegroups.com.