Hi @sureshkumargarlapati,
- Would I be able to modify apm init configuration at run time?
Interesting question. You can tune any config at runtime locally other than these following properties
-
instrument & active
- you can go from false
to true
and not the other way around
-
disableInstrumentations
- you can activate the instrumentation for supported values (page-load
, route-change
, error
etc), but not the other way around
The reason for this is that , we register event listeners for the load and error events during the init phase and we don't have any mechanism currently to remove those already registered ones. We have not seen any use-case at the moment but wouldn't be hard to implement if there is a strong reason.
- One strange thing is, I am not getting code autoCompletion for elastic rum angular package items.
We currently do not publish Typescript bindings for the Angular package, that is why you are not getting the auto completion. But it would be easier to build it from our base package @elastic-apm-rum
which is available here https://github.com/elastic/apm-agent-rum-js/blob/master/packages/rum/src/apm-base.js. Feel free to give a PR if you can.
- Do you guys have any article/ code repo using
ngrx
with elastic APM RUM. This is some what different how we handle asynchronous operations.
Not at the moment, sorry. We are planning to rewrite the Angular package to support the Angular packaging format out of the box. Please check the issue here https://github.com/elastic/apm-agent-rum-js/issues/757, not sure if it helps but if you want to handle async operations that the agent cannot auto instrument, use our Custom transaction API to get timing information.
- Would I be able to customize transaction name which is generated by eventTarget and also can I add any labels on this transaction?
Yes, you can. To observe these events you can add an observe
function and listen for these specific transactions.
apm.observe('end', function (transaction) {
if (transaction.type === 'user-interaction') {
transaction.name = // change it here
transaction.addLabels({ 'custom-label': 'custom-value' })
}
})
In angular we get multiple sourcemap files like "polyfills/main/runtime/css" etc. I need to upload all these files into the service and the rest kibana will take care on mapping stuff right?
Yes, here are the docs https://www.elastic.co/guide/en/apm/agent/rum-js/current/sourcemap.html
Let us know if you need any help.
Thanks,
Vignesh