feat: Less indentation for deep trees with single child#686
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #686 +/- ##
=======================================
Coverage 31.76% 31.76%
=======================================
Files 92 92
Lines 5519 5521 +2
Branches 100 100
=======================================
+ Hits 1753 1754 +1
- Misses 3766 3767 +1 ☔ View full report in Codecov by Sentry. |
|
I dont LOVE the solution, but I'm also struggling to come up w/ a better idea. We still have this issue on production Sentry too and its kind of a disaster... |
|
TBH this is quite a hacky solution and I certainly don't like it much. However until we can do better design and span grouping, this solution is the best bang for the buck. With the upcoming profiling work, it is a necessity as profiles can go deep fast with 1-child trees. |
|
I'm good w/ this - @vuluongj20 mentioned we tried an approach with a dashed line that would simply collapse a lot of these single child spans. I htink something akin to that is the right direction, but the dashed implementation IMO is still not obvious enough. We'll follow up with something better in future. |
|
Created #686 for a proper follow up. |
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or [setup this action to publish automatically](https://github.com/changesets/action#with-publishing). If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @spotlightjs/astro@3.0.0 ### Major Changes - Fix Astro v5 compatibility ([#706](#706)) Upgraded all Astro dependencies to v5+. This required suppressing Sentry instrumentation on the sidecar when used programmatically (unless explicitly passed `isStandalone: true`) to prevent Spotlight spamming itself with transactions from the very sidecar instance that it is running. BREAKING: We had to bump minimum required Astro version for the Astro plugin to 4.7+ as we needed the new dev toolbar app APIs. ### Minor Changes - # Add profile grafting into traces ([#692](#692)) With this change, Spotlight can now ingest v1 profiles and graft profiling data into the trace view to fill in the gaps where span/trace instrumentation falls short. This feature is experimental. Breaking change for `tsconfig`: It now targets ES2023 as we needed `Array.findLastIndex()` - Flatter tree view for deeply nested traces with 1 child at each level ([#686](#686)) ### Patch Changes - Sort envelopes from most recent to oldest ([#697](#697)) - Fix some typing issues in sentryDataCache ([#691](#691)) - Fix span details modal resetting trace view tree state on close ([#701](#701)) - Fix some profile samples were not grouped and added to trace span list for detail view ([#698](#698)) - Fix span details showing incorrect span start time ([#689](#689)) - Fix rare error when `score.total` is missing from `measurements` ([#682](#682)) - Make things snappy by using Map() for trace span look ups ([#690](#690)) - Better auto collapsing logic for large or deep span trees ([#699](#699)) - Unify and simplify duration calculations and representations ([#688](#688)) - Updated dependencies \[[`4cde1351151520d576fa173485993f30a29a594a`](4cde135), [`1ffe90f973618b8775753c257d3efc7c688de522`](1ffe90f), [`dab431eccdeb751b0eecdd3a41bbb790011f0c52`](dab431e), [`05e03c749892af0042f3cc4e3e15b85fd5dcdaac`](05e03c7), [`18bee4d0a3c8ea7021866ed09855b3feee40c4c4`](18bee4d), [`289a040d9cdfdf1a4ca65ed0e80aadb7adc36830`](289a040), [`9c498dd3e358e6337ea0d8725bb6bf1b41a66233`](9c498dd), [`52ceec528c4e293d92afc6567886b9ee9dcffc7a`](52ceec5), [`002a1873dab737ffbe647dd608bb00b7bf6ab1a6`](002a187), [`a6dee826c983fb1671930f8187ba98e033f291ff`](a6dee82), [`e31e3da656d4c675845d4f736e93f350d6f8f687`](e31e3da), [`0fcb37d5878568018038d237956426219bf64fc3`](0fcb37d)]: - @spotlightjs/spotlight@2.11.0 ## @spotlightjs/electron@1.5.0 ### Minor Changes - # Add profile grafting into traces ([#692](#692)) With this change, Spotlight can now ingest v1 profiles and graft profiling data into the trace view to fill in the gaps where span/trace instrumentation falls short. This feature is experimental. Breaking change for `tsconfig`: It now targets ES2023 as we needed `Array.findLastIndex()` - Flatter tree view for deeply nested traces with 1 child at each level ([#686](#686)) ### Patch Changes - Sort envelopes from most recent to oldest ([#697](#697)) - Fix some typing issues in sentryDataCache ([#691](#691)) - Fix span details modal resetting trace view tree state on close ([#701](#701)) - Fix some profile samples were not grouped and added to trace span list for detail view ([#698](#698)) - Fix span details showing incorrect span start time ([#689](#689)) - Fix rare error when `score.total` is missing from `measurements` ([#682](#682)) - Fix Astro v5 compatibility ([#706](#706)) Upgraded all Astro dependencies to v5+. This required suppressing Sentry instrumentation on the sidecar when used programmatically (unless explicitly passed `isStandalone: true`) to prevent Spotlight spamming itself with transactions from the very sidecar instance that it is running. BREAKING: We had to bump minimum required Astro version for the Astro plugin to 4.7+ as we needed the new dev toolbar app APIs. - Make things snappy by using Map() for trace span look ups ([#690](#690)) - Better auto collapsing logic for large or deep span trees ([#699](#699)) - Unify and simplify duration calculations and representations ([#688](#688)) - Updated dependencies \[[`4cde1351151520d576fa173485993f30a29a594a`](4cde135), [`1ffe90f973618b8775753c257d3efc7c688de522`](1ffe90f), [`dab431eccdeb751b0eecdd3a41bbb790011f0c52`](dab431e), [`05e03c749892af0042f3cc4e3e15b85fd5dcdaac`](05e03c7), [`18bee4d0a3c8ea7021866ed09855b3feee40c4c4`](18bee4d), [`289a040d9cdfdf1a4ca65ed0e80aadb7adc36830`](289a040), [`9c498dd3e358e6337ea0d8725bb6bf1b41a66233`](9c498dd), [`52ceec528c4e293d92afc6567886b9ee9dcffc7a`](52ceec5), [`002a1873dab737ffbe647dd608bb00b7bf6ab1a6`](002a187), [`a6dee826c983fb1671930f8187ba98e033f291ff`](a6dee82), [`e31e3da656d4c675845d4f736e93f350d6f8f687`](e31e3da), [`0fcb37d5878568018038d237956426219bf64fc3`](0fcb37d)]: - @spotlightjs/overlay@2.12.0 - @spotlightjs/sidecar@1.11.2 ## @spotlightjs/overlay@2.12.0 ### Minor Changes - # Add profile grafting into traces ([#692](#692)) With this change, Spotlight can now ingest v1 profiles and graft profiling data into the trace view to fill in the gaps where span/trace instrumentation falls short. This feature is experimental. Breaking change for `tsconfig`: It now targets ES2023 as we needed `Array.findLastIndex()` - Flatter tree view for deeply nested traces with 1 child at each level ([#686](#686)) ### Patch Changes - Sort envelopes from most recent to oldest ([#697](#697)) - Fix some typing issues in sentryDataCache ([#691](#691)) - Fix span details modal resetting trace view tree state on close ([#701](#701)) - Fix some profile samples were not grouped and added to trace span list for detail view ([#698](#698)) - Fix span details showing incorrect span start time ([#689](#689)) - Fix rare error when `score.total` is missing from `measurements` ([#682](#682)) - Fix Astro v5 compatibility ([#706](#706)) Upgraded all Astro dependencies to v5+. This required suppressing Sentry instrumentation on the sidecar when used programmatically (unless explicitly passed `isStandalone: true`) to prevent Spotlight spamming itself with transactions from the very sidecar instance that it is running. BREAKING: We had to bump minimum required Astro version for the Astro plugin to 4.7+ as we needed the new dev toolbar app APIs. - Make things snappy by using Map() for trace span look ups ([#690](#690)) - Better auto collapsing logic for large or deep span trees ([#699](#699)) - Unify and simplify duration calculations and representations ([#688](#688)) ## @spotlightjs/spotlight@2.11.0 ### Minor Changes - # Add profile grafting into traces ([#692](#692)) With this change, Spotlight can now ingest v1 profiles and graft profiling data into the trace view to fill in the gaps where span/trace instrumentation falls short. This feature is experimental. Breaking change for `tsconfig`: It now targets ES2023 as we needed `Array.findLastIndex()` - Flatter tree view for deeply nested traces with 1 child at each level ([#686](#686)) ### Patch Changes - Sort envelopes from most recent to oldest ([#697](#697)) - Fix some typing issues in sentryDataCache ([#691](#691)) - Fix span details modal resetting trace view tree state on close ([#701](#701)) - Fix some profile samples were not grouped and added to trace span list for detail view ([#698](#698)) - Fix span details showing incorrect span start time ([#689](#689)) - Fix rare error when `score.total` is missing from `measurements` ([#682](#682)) - Fix Astro v5 compatibility ([#706](#706)) Upgraded all Astro dependencies to v5+. This required suppressing Sentry instrumentation on the sidecar when used programmatically (unless explicitly passed `isStandalone: true`) to prevent Spotlight spamming itself with transactions from the very sidecar instance that it is running. BREAKING: We had to bump minimum required Astro version for the Astro plugin to 4.7+ as we needed the new dev toolbar app APIs. - Make things snappy by using Map() for trace span look ups ([#690](#690)) - Better auto collapsing logic for large or deep span trees ([#699](#699)) - Unify and simplify duration calculations and representations ([#688](#688)) - Updated dependencies \[[`4cde1351151520d576fa173485993f30a29a594a`](4cde135), [`1ffe90f973618b8775753c257d3efc7c688de522`](1ffe90f), [`dab431eccdeb751b0eecdd3a41bbb790011f0c52`](dab431e), [`05e03c749892af0042f3cc4e3e15b85fd5dcdaac`](05e03c7), [`18bee4d0a3c8ea7021866ed09855b3feee40c4c4`](18bee4d), [`289a040d9cdfdf1a4ca65ed0e80aadb7adc36830`](289a040), [`9c498dd3e358e6337ea0d8725bb6bf1b41a66233`](9c498dd), [`52ceec528c4e293d92afc6567886b9ee9dcffc7a`](52ceec5), [`002a1873dab737ffbe647dd608bb00b7bf6ab1a6`](002a187), [`a6dee826c983fb1671930f8187ba98e033f291ff`](a6dee82), [`e31e3da656d4c675845d4f736e93f350d6f8f687`](e31e3da), [`0fcb37d5878568018038d237956426219bf64fc3`](0fcb37d)]: - @spotlightjs/overlay@2.12.0 - @spotlightjs/sidecar@1.11.2 ## @spotlightjs/sidecar@1.11.2 ### Patch Changes - Fix Astro v5 compatibility ([#706](#706)) Upgraded all Astro dependencies to v5+. This required suppressing Sentry instrumentation on the sidecar when used programmatically (unless explicitly passed `isStandalone: true`) to prevent Spotlight spamming itself with transactions from the very sidecar instance that it is running. BREAKING: We had to bump minimum required Astro version for the Astro plugin to 4.7+ as we needed the new dev toolbar app APIs. ## @spotlightjs/tsconfig@2.0.0 ### Major Changes - # Add profile grafting into traces ([#692](#692)) With this change, Spotlight can now ingest v1 profiles and graft profiling data into the trace view to fill in the gaps where span/trace instrumentation falls short. This feature is experimental. Breaking change for `tsconfig`: It now targets ES2023 as we needed `Array.findLastIndex()` Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Before:  After:  Before:  After: 
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or [setup this action to publish automatically](https://github.com/changesets/action#with-publishing). If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @spotlightjs/astro@3.0.0 ### Major Changes - Fix Astro v5 compatibility ([#706](#706)) Upgraded all Astro dependencies to v5+. This required suppressing Sentry instrumentation on the sidecar when used programmatically (unless explicitly passed `isStandalone: true`) to prevent Spotlight spamming itself with transactions from the very sidecar instance that it is running. BREAKING: We had to bump minimum required Astro version for the Astro plugin to 4.7+ as we needed the new dev toolbar app APIs. ### Minor Changes - # Add profile grafting into traces ([#692](#692)) With this change, Spotlight can now ingest v1 profiles and graft profiling data into the trace view to fill in the gaps where span/trace instrumentation falls short. This feature is experimental. Breaking change for `tsconfig`: It now targets ES2023 as we needed `Array.findLastIndex()` - Flatter tree view for deeply nested traces with 1 child at each level ([#686](#686)) ### Patch Changes - Sort envelopes from most recent to oldest ([#697](#697)) - Fix some typing issues in sentryDataCache ([#691](#691)) - Fix span details modal resetting trace view tree state on close ([#701](#701)) - Fix some profile samples were not grouped and added to trace span list for detail view ([#698](#698)) - Fix span details showing incorrect span start time ([#689](#689)) - Fix rare error when `score.total` is missing from `measurements` ([#682](#682)) - Make things snappy by using Map() for trace span look ups ([#690](#690)) - Better auto collapsing logic for large or deep span trees ([#699](#699)) - Unify and simplify duration calculations and representations ([#688](#688)) - Updated dependencies \[[`4cde1351151520d576fa173485993f30a29a594a`](4cde135), [`1ffe90f973618b8775753c257d3efc7c688de522`](1ffe90f), [`dab431eccdeb751b0eecdd3a41bbb790011f0c52`](dab431e), [`05e03c749892af0042f3cc4e3e15b85fd5dcdaac`](05e03c7), [`18bee4d0a3c8ea7021866ed09855b3feee40c4c4`](18bee4d), [`289a040d9cdfdf1a4ca65ed0e80aadb7adc36830`](289a040), [`9c498dd3e358e6337ea0d8725bb6bf1b41a66233`](9c498dd), [`52ceec528c4e293d92afc6567886b9ee9dcffc7a`](52ceec5), [`002a1873dab737ffbe647dd608bb00b7bf6ab1a6`](002a187), [`a6dee826c983fb1671930f8187ba98e033f291ff`](a6dee82), [`e31e3da656d4c675845d4f736e93f350d6f8f687`](e31e3da), [`0fcb37d5878568018038d237956426219bf64fc3`](0fcb37d)]: - @spotlightjs/spotlight@2.11.0 ## @spotlightjs/electron@1.5.0 ### Minor Changes - # Add profile grafting into traces ([#692](#692)) With this change, Spotlight can now ingest v1 profiles and graft profiling data into the trace view to fill in the gaps where span/trace instrumentation falls short. This feature is experimental. Breaking change for `tsconfig`: It now targets ES2023 as we needed `Array.findLastIndex()` - Flatter tree view for deeply nested traces with 1 child at each level ([#686](#686)) ### Patch Changes - Sort envelopes from most recent to oldest ([#697](#697)) - Fix some typing issues in sentryDataCache ([#691](#691)) - Fix span details modal resetting trace view tree state on close ([#701](#701)) - Fix some profile samples were not grouped and added to trace span list for detail view ([#698](#698)) - Fix span details showing incorrect span start time ([#689](#689)) - Fix rare error when `score.total` is missing from `measurements` ([#682](#682)) - Fix Astro v5 compatibility ([#706](#706)) Upgraded all Astro dependencies to v5+. This required suppressing Sentry instrumentation on the sidecar when used programmatically (unless explicitly passed `isStandalone: true`) to prevent Spotlight spamming itself with transactions from the very sidecar instance that it is running. BREAKING: We had to bump minimum required Astro version for the Astro plugin to 4.7+ as we needed the new dev toolbar app APIs. - Make things snappy by using Map() for trace span look ups ([#690](#690)) - Better auto collapsing logic for large or deep span trees ([#699](#699)) - Unify and simplify duration calculations and representations ([#688](#688)) - Updated dependencies \[[`4cde1351151520d576fa173485993f30a29a594a`](4cde135), [`1ffe90f973618b8775753c257d3efc7c688de522`](1ffe90f), [`dab431eccdeb751b0eecdd3a41bbb790011f0c52`](dab431e), [`05e03c749892af0042f3cc4e3e15b85fd5dcdaac`](05e03c7), [`18bee4d0a3c8ea7021866ed09855b3feee40c4c4`](18bee4d), [`289a040d9cdfdf1a4ca65ed0e80aadb7adc36830`](289a040), [`9c498dd3e358e6337ea0d8725bb6bf1b41a66233`](9c498dd), [`52ceec528c4e293d92afc6567886b9ee9dcffc7a`](52ceec5), [`002a1873dab737ffbe647dd608bb00b7bf6ab1a6`](002a187), [`a6dee826c983fb1671930f8187ba98e033f291ff`](a6dee82), [`e31e3da656d4c675845d4f736e93f350d6f8f687`](e31e3da), [`0fcb37d5878568018038d237956426219bf64fc3`](0fcb37d)]: - @spotlightjs/overlay@2.12.0 - @spotlightjs/sidecar@1.11.2 ## @spotlightjs/overlay@2.12.0 ### Minor Changes - # Add profile grafting into traces ([#692](#692)) With this change, Spotlight can now ingest v1 profiles and graft profiling data into the trace view to fill in the gaps where span/trace instrumentation falls short. This feature is experimental. Breaking change for `tsconfig`: It now targets ES2023 as we needed `Array.findLastIndex()` - Flatter tree view for deeply nested traces with 1 child at each level ([#686](#686)) ### Patch Changes - Sort envelopes from most recent to oldest ([#697](#697)) - Fix some typing issues in sentryDataCache ([#691](#691)) - Fix span details modal resetting trace view tree state on close ([#701](#701)) - Fix some profile samples were not grouped and added to trace span list for detail view ([#698](#698)) - Fix span details showing incorrect span start time ([#689](#689)) - Fix rare error when `score.total` is missing from `measurements` ([#682](#682)) - Fix Astro v5 compatibility ([#706](#706)) Upgraded all Astro dependencies to v5+. This required suppressing Sentry instrumentation on the sidecar when used programmatically (unless explicitly passed `isStandalone: true`) to prevent Spotlight spamming itself with transactions from the very sidecar instance that it is running. BREAKING: We had to bump minimum required Astro version for the Astro plugin to 4.7+ as we needed the new dev toolbar app APIs. - Make things snappy by using Map() for trace span look ups ([#690](#690)) - Better auto collapsing logic for large or deep span trees ([#699](#699)) - Unify and simplify duration calculations and representations ([#688](#688)) ## @spotlightjs/spotlight@2.11.0 ### Minor Changes - # Add profile grafting into traces ([#692](#692)) With this change, Spotlight can now ingest v1 profiles and graft profiling data into the trace view to fill in the gaps where span/trace instrumentation falls short. This feature is experimental. Breaking change for `tsconfig`: It now targets ES2023 as we needed `Array.findLastIndex()` - Flatter tree view for deeply nested traces with 1 child at each level ([#686](#686)) ### Patch Changes - Sort envelopes from most recent to oldest ([#697](#697)) - Fix some typing issues in sentryDataCache ([#691](#691)) - Fix span details modal resetting trace view tree state on close ([#701](#701)) - Fix some profile samples were not grouped and added to trace span list for detail view ([#698](#698)) - Fix span details showing incorrect span start time ([#689](#689)) - Fix rare error when `score.total` is missing from `measurements` ([#682](#682)) - Fix Astro v5 compatibility ([#706](#706)) Upgraded all Astro dependencies to v5+. This required suppressing Sentry instrumentation on the sidecar when used programmatically (unless explicitly passed `isStandalone: true`) to prevent Spotlight spamming itself with transactions from the very sidecar instance that it is running. BREAKING: We had to bump minimum required Astro version for the Astro plugin to 4.7+ as we needed the new dev toolbar app APIs. - Make things snappy by using Map() for trace span look ups ([#690](#690)) - Better auto collapsing logic for large or deep span trees ([#699](#699)) - Unify and simplify duration calculations and representations ([#688](#688)) - Updated dependencies \[[`4cde1351151520d576fa173485993f30a29a594a`](4cde135), [`1ffe90f973618b8775753c257d3efc7c688de522`](1ffe90f), [`dab431eccdeb751b0eecdd3a41bbb790011f0c52`](dab431e), [`05e03c749892af0042f3cc4e3e15b85fd5dcdaac`](05e03c7), [`18bee4d0a3c8ea7021866ed09855b3feee40c4c4`](18bee4d), [`289a040d9cdfdf1a4ca65ed0e80aadb7adc36830`](289a040), [`9c498dd3e358e6337ea0d8725bb6bf1b41a66233`](9c498dd), [`52ceec528c4e293d92afc6567886b9ee9dcffc7a`](52ceec5), [`002a1873dab737ffbe647dd608bb00b7bf6ab1a6`](002a187), [`a6dee826c983fb1671930f8187ba98e033f291ff`](a6dee82), [`e31e3da656d4c675845d4f736e93f350d6f8f687`](e31e3da), [`0fcb37d5878568018038d237956426219bf64fc3`](0fcb37d)]: - @spotlightjs/overlay@2.12.0 - @spotlightjs/sidecar@1.11.2 ## @spotlightjs/sidecar@1.11.2 ### Patch Changes - Fix Astro v5 compatibility ([#706](#706)) Upgraded all Astro dependencies to v5+. This required suppressing Sentry instrumentation on the sidecar when used programmatically (unless explicitly passed `isStandalone: true`) to prevent Spotlight spamming itself with transactions from the very sidecar instance that it is running. BREAKING: We had to bump minimum required Astro version for the Astro plugin to 4.7+ as we needed the new dev toolbar app APIs. ## @spotlightjs/tsconfig@2.0.0 ### Major Changes - # Add profile grafting into traces ([#692](#692)) With this change, Spotlight can now ingest v1 profiles and graft profiling data into the trace view to fill in the gaps where span/trace instrumentation falls short. This feature is experimental. Breaking change for `tsconfig`: It now targets ES2023 as we needed `Array.findLastIndex()` Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

Before:

After:

Before:
After: