Skip to content

Event Deltas: Heatmap symlog scale for zero-inclusive metrics #1910

@alex-fedotyev

Description

@alex-fedotyev

Context

The current log-scale heatmap uses greatest(value, effectiveMin) to avoid log(0). This clamps all near-zero values into the bottom bucket, losing resolution. Similarly, values above p99 land in an overflow bucket at the top.

Proposal

Use a symlog (symmetric log) scale that smoothly transitions through zero:

  • sign(x) * log1p(|x|) — handles zero and negative values naturally
  • No clamping needed, so no data loss at the extremes
  • Well-established in matplotlib, d3, etc.

This would eliminate the need for effectiveMin and the greatest() workaround, while preserving log-scale benefits for the bulk of the distribution.

Bundle with

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions