Skip to content

Metric chart with aggFn increase and a multi-column group-by fails: toString() gets several arguments #3477

Open

Description

@bcanvural

What happened?

A metric chart on a Sum metric with aggFn: increase and a group-by of two or more columns, given as a comma-separated string, fails with:

An incorrect number of arguments was specified for function 'toString'. Expected 1 argument, got 2 arguments: In scope SELECT tuple(Attributes['destination_service_name'], Attributes['response_code']) AS group, sum(Rate) AS bucket_value FROM Bucketed WHERE (Attributes['destination_service_name'], ((Attributes['response_code']) IS NOT NULL) AND (toString(Attributes['destination_service_name'], Attributes['response_code']) != '')) GROUP BY group, __hdx_time_bucket2.

Expected: one series per (destination_service_name, response_code) pair, the same as with a single group-by column.

What we checked on the same metric and time range:

  • increase with one group-by column works.
  • sum with the same two-column group-by works.
  • increase with two columns fails both with Map expressions (Attributes['a'], Attributes['b']) and with plain MATERIALIZED columns (`col_a`, `col_b`).

As far as we can tell, the cause is in the top-N ranking added for increase + group-by (packages/common-utils/src/core/renderChartConfig.ts at 7752c88):

Splitting the string group-by the same way before building groupByEmptyFilter should fix it. The tuple(${groupBySql}) parts already work with the comma-separated form.

Steps to reproduce

Reproduces on play.hyperdx.io? Didn't try. We hit it through the MCP tools on our own deployment.

  1. Use a Metric source whose sum table has a counter with two attributes, for example Istio's istio_requests_total (destination_service_name, response_code).
  2. Call the MCP tool clickstack_table with:
    • select: [{"aggFn": "increase", "metricType": "sum", "metricName": "istio_requests_total"}]
    • groupBy: "Attributes['destination_service_name'], Attributes['response_code']"
  3. It fails with the error above.
  4. Change aggFn to sum, or drop the second group-by column. It works.

We haven't checked the UI chart editor. It renders through the same renderChartConfig, so we expect a two-column group-by on an increase chart to fail the same way there.

How are you running HyperDX?

Helm (ClickStack chart 2.1.0) with the hyperdx:2-nightly image, which is 2.42.0 plus the Node bump from #3456. Our own ClickHouse 26.2.5.45.

Where does it show up?

The API: the MCP tool clickstack_table.

Debug info

N/A. We saw this through the API's MCP tools, not the UI.

Logs

The error is quoted above.


Written with help from an AI assistant (Claude Code). The behaviour and the error come from our own deployment.

Activity

  1. teeohhem commented on Oct 27, 2026

    @teeohhem
    Contributor

    Thanks for the report. We will reproduce the issue and prioritize.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions