-
Notifications
You must be signed in to change notification settings - Fork 285
Description
HyperDX UI automatically parses JSON strings in the StatusMessage
column but fails to generate proper ClickHouse queries when users attempt to filter on nested JSON fields through the Search for this value only
feature.
Steps to Reproduce
-
Have a span with a
StatusMessage
field (stored as aString
in ClickHouse) containing JSON data. -
In the HyperDX UI, the string is automatically parsed as JSON and displayed in a tree structure:
-
Navigate to the nested field (e.g.,
failures.0.index
with value"identities"
) -
Click
Search for this value only
:
Expected Behavior
The UI should generate a valid ClickHouse query using proper JSON Functions such as:
Actual Behavior
HyperDX generates an invalid query that fails with a ClickHouse syntax error. The UI knows how to parse and display the JSON structure correctly but cannot translate user filtering actions into proper ClickHouse queries.

Suggested Fix
The UI should:
- Detect when a field is a JSON string that has been automatically parsed
- Prefer
simpleJSONExtractString
for basic field matching as it's more reliable for nested JSON - Fall back to
JSONExtractString
only when precise path specification is required
Impact
This significantly impacts usability as users cannot effectively filter on JSON data through the UI, forcing them to write raw ClickHouse queries manually.