-
Notifications
You must be signed in to change notification settings - Fork 8.2k
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
Upgrade elastic.apm.* configuration to "beta" #99328
Comments
Pinging @elastic/kibana-core (Team:Core) |
There is work ongoing to improve the instrumentation for task manager (and thus, alert/detection engine executions) here: #99160. The most useful part of that change is the more granular grouping for transactions. We could also consider extracting that and backporting it to 7.13. The other changes concern distributed tracing for tasks (rule execution > action execution), some other minor improvements and a possible performance fix, that we'll like split out as well. |
Grooming notes:
|
@joshdover: @SylvainJuge from the APM Java Agent team has been looking into instrumenting ES. He might have an idea of how the slow query log can be correlated to a trace. |
@joshdover what do we want to do with the slow query logs that we cannot get from the elasticsearch spans? Other than those being sampled. We have an experimental feature for tail-based sampling, but I'm not sure if that is able to select outliers yet, I'll follow up on that. |
What's primary driving this as a priority at this time is our inability to correlate slow & expensive queries in Elasticsearch to the underlying feature or visualization in Kibana. I'm concerned that finding slow ES queries with APM data only from Kibana may be hard, at least with the default UI. But I think we would actually have all the raw data we need. To find the slowest ES queries coming from Kibana, we'd just need to drop down into Discover and search for spans with
Anywhere I can read about this feature? |
You can also use
There is none, I think: elastic/apm-server#4586. I don't think it can select spans to sample based on duration, but I'm still trying to figure out whether that might be possible in the future. |
@joshdover it could be possible in the future to make sampling decisions based on slow Elasticsearch queries (eg keep all transactions that have a slow ES span). Not something we can use for a while though. It might be relevant here because if we have a very low sampling rate (eg 2%), most of the queries logged by ES as slow would not have a corresponding Elasticsearch span. |
Note https://github.com/elastic/cloud/pull/90839#issuecomment-960942239 |
These are checked above, but is it possible that the #117492 suggests:
which may differ from the default kibana/packages/kbn-apm-config-loader/src/config.ts Lines 97 to 103 in a2b086f
skipping the CENTRALIZED_*_CONFIG blocks that are the only ones setting captureSpanStackTraces , breakdownMetrics , captureHeaders , captureBody , etc.
I'm not confident I've read this correctly. |
Docs on how to configure APM were added in #127892 I'm closing the issue for now. Feel free to reopen if you find this necessary 🙏🏻 |
Though we've had a working APM agent integration since 7.12, we have not yet documented the configuration keys or allowed customers to configure these on Cloud/ESS.
This issue is to discuss the remaining work needed to get this feature up to a "beta" status in order to allow customers to debug problematic visualizations, dashboards, and other user-created features that may be causing performance problems in their Stack cluster.
To do
captureSpanStackTraces
should default tofalse
breakdownMetrics
should default tofalse
transactionSampleRate
should default to0.1
elastic.apm.*
configuration keys, marked as betaelastic.apm.*
configsThe text was updated successfully, but these errors were encountered: