Skip to content

fix(billing): rename 'Total ingested' to 'Total billed' in usage UI - #117475

Open
maxkosty wants to merge 3 commits into
masterfrom
fix/billing-total-ingested-label
Open

fix(billing): rename 'Total ingested' to 'Total billed' in usage UI#117475
maxkosty wants to merge 3 commits into
masterfrom
fix/billing-total-ingested-label

Conversation

@maxkosty

@maxkosty maxkosty commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Important

This was authered entirely by @jr and I'm a not in billing or even SWE, please review carefully

Summary

Renames the "Total ingested" heading in the subscription usage chart to "Total billed".

The value displayed is sourced from the billing side, not the events-accepted side. During a trial, Sentry stops billing for consumed events — so the number shown can be significantly lower than actual ingestion volume. Calling it "Total ingested" is misleading; "Total billed" accurately reflects what the metric represents.

Context from #discuss-billing: a customer saw 1.2B accepted spans vs 300M shown here, because their trial began mid-period and billing only counted pre-trial consumption.

Changes

  • static/gsApp/views/subscriptionPage/usageTotalsTable.tsx — updated heading label
  • static/gsApp/views/subscriptionPage/usageOverview/components/charts.spec.tsx — updated matching test assertion

Verification

Test assertion updated to match new label. No logic changes.


View Session in Sentry

The billed total can be lower than actual ingestion volume during trials
(billing stops when a trial begins), so 'Total ingested' is misleading.
'Total billed' more accurately reflects what the number represents.

Co-Authored-By: sentry-junior[bot] <264270552+sentry-junior[bot]@users.noreply.github.com>
@github-actions github-actions Bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Jun 11, 2026
@getsantry

getsantry Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

This pull request has gone three weeks without activity. In another week, I will close it.

But! If you comment or otherwise update it, I will reset the clock, and if you add the label WIP, I will leave it alone unless WIP is removed ... forever!


"A weed is but an unloved flower." ― Ella Wheeler Wilcox 🥀

@getsantry getsantry Bot added Stale and removed Stale labels Jul 3, 2026
@maxkosty
maxkosty marked this pull request as ready for review July 10, 2026 23:05
@maxkosty
maxkosty requested a review from a team as a code owner July 10, 2026 23:05
@getsantry

getsantry Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

This issue has gone three weeks without activity. In another week, I will close it.

But! If you comment or otherwise update it, I will reset the clock, and if you remove the label Waiting for: Community, I will leave it alone ... forever!


"A weed is but an unloved flower." ― Ella Wheeler Wilcox 🥀

@getsantry getsantry Bot added the Stale label Aug 1, 2026
@getsantry getsantry Bot closed this Aug 9, 2026
@maxkosty maxkosty reopened this Aug 21, 2026
Comment on lines +193 to +196
<Flex direction="column" gap="md">
<Heading as="h4">{t('Total billed')}</Heading>
<Stack gap="md">
<Heading as="h4">{t('Total ingested')}</Heading>
<Heading as="h4">{t('Total billed')}</Heading>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The IngestionSummary component renders two identical headings with the text 'Total billed', which will cause tests using getByRole to fail due to multiple matches.
Severity: HIGH

Suggested Fix

Remove the new <Flex> wrapper and the duplicate heading it contains. The intended change was likely just to rename the original heading inside the <Stack> from 'Total ingested' to 'Total billed'. Ensure all JSX tags are properly closed.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.

Location: static/gsApp/views/subscriptionPage/usageTotalsTable.tsx#L193-L196

Potential issue: In the `IngestionSummary` component, a new `<Flex>` wrapper was added
which includes a `<Heading as="h4">{t('Total billed')}</Heading>`. However, the original
heading inside the `<Stack>` component was also renamed to have the same text. This
results in two identical headings being rendered on the page. This duplication will
cause tests that use `screen.getByRole('heading', {name: 'Total billed'})` to fail, as
React Testing Library's `getByRole` function throws an error when it finds multiple
matching elements. The code also introduces a syntax error with an unclosed `<Flex>`
tag.

Also affects:

  • static/gsApp/views/subscriptionPage/usageOverview/components/charts.spec.tsx:68~68

Did we get this right? 👍 / 👎 to inform future reviews.

@getsantry

getsantry Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

This pull request has gone three weeks without activity. In another week, I will close it.

But! If you comment or otherwise update it, I will reset the clock, and if you add the label WIP, I will leave it alone unless WIP is removed ... forever!


"A weed is but an unloved flower." ― Ella Wheeler Wilcox 🥀

@getsantry getsantry Bot added the Stale label Sep 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Frontend Automatically applied to PRs that change frontend components Stale

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants