Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[APM] Link to related errors from transaction flyout #29563

Closed
ogupte opened this issue Jan 30, 2019 · 4 comments · Fixed by #29807
Closed

[APM] Link to related errors from transaction flyout #29563

ogupte opened this issue Jan 30, 2019 · 4 comments · Fixed by #29807
Assignees
Labels
Team:APM All issues that need APM UI Team support v7.0.0

Comments

@ogupte
Copy link
Contributor

ogupte commented Jan 30, 2019

In conjunction with #21920, which shows related errors on the transaction details page, we want to also be able to show related errors from the transaction flyout when a user selects any transaction from the waterfall view.

This could be accomplished by making an aggregation for error counts grouped by transactionId/traceId and returned an additional data structure along side the root transaction and waterfall data. The client code can then lookup the error count when selected in the waterfall, and render it in the StickyProperties view.

@ogupte ogupte self-assigned this Jan 30, 2019
@elasticmachine
Copy link
Contributor

Pinging @elastic/apm-ui

@ogupte ogupte added Team:APM All issues that need APM UI Team support [zube]: In Progress v7.0.0 and removed v7.0.0 labels Jan 30, 2019
@sorenlouv
Copy link
Member

@ogupte I have some ideas to how we can improve on how data is being loaded.
Currently the transaction (for the selected bucket) is fetched. Afterwards the timeline is fetched. This introduces a lot of latency, since the timeline has to wait for the transaction to have been retrieved.

It occurred to me that we don't even need to fetch the transaction in the first place. We already have everything we need to fetch the timeline (traceId), and since the timeline already includes the entry transaction, there is no need to fetch it separately.

@ogupte
Copy link
Contributor Author

ogupte commented Jan 31, 2019

@sqren i agree it makes sense to consolidate the data fetching. If we do this, it's possible that the transaction details page will load slower since it will also be querying for a lot more data. for example, a query could respond with 1000 items in the trace, when we need only the root transaction to start rendering the page contents.

@sorenlouv
Copy link
Member

sorenlouv commented Jan 31, 2019

it's possible that the transaction details page will load slower since it will also be querying for a lot more data. for example, a query could respond with 1000 items in the trace, when we need only the root transaction to start rendering the page contents.

Displaying of the transaction sample (between the histogram and the timeline) might be slower but the overall transaction details page will not.

What we do today:

Fetch transaction
|------------------| 
                    Render transaction
                    |-|
                    Fetch waterfall
                    |--------------------------------------| 
                                                            Render waterfall
                                                            |-|

What I'm proposing we do:

Fetch waterfall
|--------------------------------------| 
                                        Render transaction
                                        |-|
                                        Render waterfall
                                        |-|

We can still display the transaction charts and the histogram faster, since they are loaded separately.

ogupte added a commit to ogupte/kibana that referenced this issue Feb 8, 2019
ogupte added a commit that referenced this issue Feb 8, 2019
* [APM] closes #29563 by rendering related errors link with error count in transaction flyout

* [APM] improved get_trace query by  narrowing indices and parallelizing queries, improved code org/readability

* [APM] code improvements, split get_trace queries into separate source files

* [APM] remove initial transaction details request in favor of looking up the
current transaction data within the trace (waterfall) data

* Add test for `getWaterfall`

* Revert change to `getWaterfallItems` test

* simplified aggregation, waterfall helpers code, and moved get_trace_errors_per_transaction.ts under 'errors'

* improved naming and readbility of waterfall properties

* removed unused routes and queries and fixed some invisible bugs in the waterfall helpers

* added trace.id in addition to the transaction.id filter in the kuery bar for related errors
ogupte added a commit to ogupte/kibana that referenced this issue Feb 8, 2019
* [APM] closes elastic#29563 by rendering related errors link with error count in transaction flyout

* [APM] improved get_trace query by  narrowing indices and parallelizing queries, improved code org/readability

* [APM] code improvements, split get_trace queries into separate source files

* [APM] remove initial transaction details request in favor of looking up the
current transaction data within the trace (waterfall) data

* Add test for `getWaterfall`

* Revert change to `getWaterfallItems` test

* simplified aggregation, waterfall helpers code, and moved get_trace_errors_per_transaction.ts under 'errors'

* improved naming and readbility of waterfall properties

* removed unused routes and queries and fixed some invisible bugs in the waterfall helpers

* added trace.id in addition to the transaction.id filter in the kuery bar for related errors
ogupte added a commit to ogupte/kibana that referenced this issue Feb 8, 2019
* [APM] closes elastic#29563 by rendering related errors link with error count in transaction flyout

* [APM] improved get_trace query by  narrowing indices and parallelizing queries, improved code org/readability

* [APM] code improvements, split get_trace queries into separate source files

* [APM] remove initial transaction details request in favor of looking up the
current transaction data within the trace (waterfall) data

* Add test for `getWaterfall`

* Revert change to `getWaterfallItems` test

* simplified aggregation, waterfall helpers code, and moved get_trace_errors_per_transaction.ts under 'errors'

* improved naming and readbility of waterfall properties

* removed unused routes and queries and fixed some invisible bugs in the waterfall helpers

* added trace.id in addition to the transaction.id filter in the kuery bar for related errors
ogupte added a commit that referenced this issue Feb 8, 2019
* [APM] closes #29563 by rendering related errors link with error count in transaction flyout

* [APM] improved get_trace query by  narrowing indices and parallelizing queries, improved code org/readability

* [APM] code improvements, split get_trace queries into separate source files

* [APM] remove initial transaction details request in favor of looking up the
current transaction data within the trace (waterfall) data

* Add test for `getWaterfall`

* Revert change to `getWaterfallItems` test

* simplified aggregation, waterfall helpers code, and moved get_trace_errors_per_transaction.ts under 'errors'

* improved naming and readbility of waterfall properties

* removed unused routes and queries and fixed some invisible bugs in the waterfall helpers

* added trace.id in addition to the transaction.id filter in the kuery bar for related errors
ogupte added a commit that referenced this issue Feb 8, 2019
* [APM] closes #29563 by rendering related errors link with error count in transaction flyout

* [APM] improved get_trace query by  narrowing indices and parallelizing queries, improved code org/readability

* [APM] code improvements, split get_trace queries into separate source files

* [APM] remove initial transaction details request in favor of looking up the
current transaction data within the trace (waterfall) data

* Add test for `getWaterfall`

* Revert change to `getWaterfallItems` test

* simplified aggregation, waterfall helpers code, and moved get_trace_errors_per_transaction.ts under 'errors'

* improved naming and readbility of waterfall properties

* removed unused routes and queries and fixed some invisible bugs in the waterfall helpers

* added trace.id in addition to the transaction.id filter in the kuery bar for related errors
lukeelmers pushed a commit to lukeelmers/kibana that referenced this issue Feb 8, 2019
* [APM] closes elastic#29563 by rendering related errors link with error count in transaction flyout

* [APM] improved get_trace query by  narrowing indices and parallelizing queries, improved code org/readability

* [APM] code improvements, split get_trace queries into separate source files

* [APM] remove initial transaction details request in favor of looking up the
current transaction data within the trace (waterfall) data

* Add test for `getWaterfall`

* Revert change to `getWaterfallItems` test

* simplified aggregation, waterfall helpers code, and moved get_trace_errors_per_transaction.ts under 'errors'

* improved naming and readbility of waterfall properties

* removed unused routes and queries and fixed some invisible bugs in the waterfall helpers

* added trace.id in addition to the transaction.id filter in the kuery bar for related errors
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Team:APM All issues that need APM UI Team support v7.0.0
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants