-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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] Display warning if transaction groups are dropped #146648
Comments
Pinging @elastic/apm-ui (Team:APM) |
We created a synthtrace scenario to create more than 1000tx groups and we got this warning: @sqren with this changes, should we get rid of this warning? I think it's not valid anymore |
The warning might be ok to keep in addition to the tooltip on the isAggregationAccurate:
(response.aggregations?.transaction_groups.sum_other_doc_count ?? 0) ===
0, The new logic should show a warning, if there is an const didReachMaxNumberOfGroups = transactionGroups.includes(group => group.name === '_other') |
Closes #146648. ### Changes - `transaction_detail_link.tsx` prevent navigation to tx details when bucket name is other and display the warning tooltip - `xpack.apm.ui.transactionGroupBucketSize` ui setting was removed and now we have a hardcoded limit of `1000` buckets when querying transactions. **After this change** https://user-images.githubusercontent.com/1313018/214321647-e0ae59d6-0761-4d9e-a0fe-ef21397aeff7.mov - When kibana limit has been reached <img width="1391" alt="image" src="https://user-images.githubusercontent.com/1313018/214321902-05fbfa6c-7c99-4b21-a67b-7e134c14ab73.png"> - When having only `_other` <img width="1390" alt="image" src="https://user-images.githubusercontent.com/1313018/214332887-d6fd59a2-d1ef-4b61-b6ed-79a6d458f0a0.png"> ### Test instructions 1. Checkout PR branch 2. Execute Synthtrace scenario a. For reaching kibana limit callout ``` node scripts/synthtrace --clean other_transaction_group_bucket.ts --scenarioOpts.txGroups=1001 ``` b. For `_other` callout ``` node scripts/synthtrace --clean other_transaction_group_bucket.ts ``` --------- Co-authored-by: Achyut Jhunjhunwala <achyut.jhunjhunwala@elastic.co>
No need to have `_other` bucket for services and transaction in separate scenarios. Additionally this scenario is prepared to receive number of services and/or number of transaction groups through params: ``` e.g. --scenarioOpts.services=10001 --scenarioOpts.txGroups=1001 ``` Relates to #146650 and #146648.
Closes elastic#146648. ### Changes - `transaction_detail_link.tsx` prevent navigation to tx details when bucket name is other and display the warning tooltip - `xpack.apm.ui.transactionGroupBucketSize` ui setting was removed and now we have a hardcoded limit of `1000` buckets when querying transactions. **After this change** https://user-images.githubusercontent.com/1313018/214321647-e0ae59d6-0761-4d9e-a0fe-ef21397aeff7.mov - When kibana limit has been reached <img width="1391" alt="image" src="https://user-images.githubusercontent.com/1313018/214321902-05fbfa6c-7c99-4b21-a67b-7e134c14ab73.png"> - When having only `_other` <img width="1390" alt="image" src="https://user-images.githubusercontent.com/1313018/214332887-d6fd59a2-d1ef-4b61-b6ed-79a6d458f0a0.png"> ### Test instructions 1. Checkout PR branch 2. Execute Synthtrace scenario a. For reaching kibana limit callout ``` node scripts/synthtrace --clean other_transaction_group_bucket.ts --scenarioOpts.txGroups=1001 ``` b. For `_other` callout ``` node scripts/synthtrace --clean other_transaction_group_bucket.ts ``` --------- Co-authored-by: Achyut Jhunjhunwala <achyut.jhunjhunwala@elastic.co>
…9923) No need to have `_other` bucket for services and transaction in separate scenarios. Additionally this scenario is prepared to receive number of services and/or number of transaction groups through params: ``` e.g. --scenarioOpts.services=10001 --scenarioOpts.txGroups=1001 ``` Relates to elastic#146650 and elastic#146648.
Relates to #146648. `maxTransactionGroupsExceeded` is currently `true` by default which is causing a flickering in transactions page specifically for the table, where we can see the callout for some milliseconds and then, after getting results from endpoint, disappears. ### before this change https://user-images.githubusercontent.com/1313018/217316916-e6434f4a-c4e6-4e12-ba2b-5f5ab0011984.mov
Closes elastic/kibana#146648. ### Changes - `transaction_detail_link.tsx` prevent navigation to tx details when bucket name is other and display the warning tooltip - `xpack.apm.ui.transactionGroupBucketSize` ui setting was removed and now we have a hardcoded limit of `1000` buckets when querying transactions. **After this change** https://user-images.githubusercontent.com/1313018/214321647-e0ae59d6-0761-4d9e-a0fe-ef21397aeff7.mov - When kibana limit has been reached <img width="1391" alt="image" src="https://user-images.githubusercontent.com/1313018/214321902-05fbfa6c-7c99-4b21-a67b-7e134c14ab73.png"> - When having only `_other` <img width="1390" alt="image" src="https://user-images.githubusercontent.com/1313018/214332887-d6fd59a2-d1ef-4b61-b6ed-79a6d458f0a0.png"> ### Test instructions 1. Checkout PR branch 2. Execute Synthtrace scenario a. For reaching kibana limit callout ``` node scripts/synthtrace --clean other_transaction_group_bucket.ts --scenarioOpts.txGroups=1001 ``` b. For `_other` callout ``` node scripts/synthtrace --clean other_transaction_group_bucket.ts ``` --------- Co-authored-by: Achyut Jhunjhunwala <achyut.jhunjhunwala@elastic.co>
Closes elastic/kibana#146648. ### Changes - `transaction_detail_link.tsx` prevent navigation to tx details when bucket name is other and display the warning tooltip - `xpack.apm.ui.transactionGroupBucketSize` ui setting was removed and now we have a hardcoded limit of `1000` buckets when querying transactions. **After this change** https://user-images.githubusercontent.com/1313018/214321647-e0ae59d6-0761-4d9e-a0fe-ef21397aeff7.mov - When kibana limit has been reached <img width="1391" alt="image" src="https://user-images.githubusercontent.com/1313018/214321902-05fbfa6c-7c99-4b21-a67b-7e134c14ab73.png"> - When having only `_other` <img width="1390" alt="image" src="https://user-images.githubusercontent.com/1313018/214332887-d6fd59a2-d1ef-4b61-b6ed-79a6d458f0a0.png"> ### Test instructions 1. Checkout PR branch 2. Execute Synthtrace scenario a. For reaching kibana limit callout ``` node scripts/synthtrace --clean other_transaction_group_bucket.ts --scenarioOpts.txGroups=1001 ``` b. For `_other` callout ``` node scripts/synthtrace --clean other_transaction_group_bucket.ts ``` --------- Co-authored-by: Achyut Jhunjhunwala <achyut.jhunjhunwala@elastic.co>
Background
Some services (e.g. RUM) may produce high cardinality transaction names, which could lead to an extremely high number of transaction groups. To avoid one service eating up the limit for all other services, a transaction group limit per-service is introduced.
Once the limit is reached, any additional transaction will be added to a dedicated "other" bucket, (
transaction.name: "_other"
)UI implications for transactions table
The "other" bucket will automatically show up in the transactions table on the service overview and transactions overview.
We should change the link for the "other" group so it is no longer possible to navigate to the transaction details page. Instead, we should show a warning sign with a tooltip that explains what the other group is ("The transaction group limit of 10.000 has been reached. Please see the APM Server docs for $SETTING_NAME to increase this").
Links
The text was updated successfully, but these errors were encountered: