I tried
jsonPayload.elapsed_ms > 5000
and I'm clearly getting a lexicographical comparison of the character "5" because I only see results that are "6", "7", "8", "9" (see final number per line, after the "200"):
I tried
double(jsonPayload.elapsed_ms)>5000
as well but doesn't seem to be the right syntax.
There's a whole section on conversions here but no examples.
I am from the Cloud Logging team.
Since the jsonPayload.elapsed_ms
field is being logged as a string, the range comparison is evaluated lexicographically. Is it possible for you to log the field as a numeric type in the JSON payload?
https://cloud.google.com/logging/docs/view/advanced-queries#values_conversions documents the auto-conversions when evaluating a filter expression. However, it is currently not supported to cast the logged values to a different type at query time.
We plan to add support for this in the query language. Please follow and +1 the following public issue https://issuetracker.google.com/issues/140348005 for updates.