We have spent some time trying out the APM server in the last 2 days. Since we are mostly a .NET shop, there isn't an official agent for us to try. As a result we are sending messages directly to the APM server through the REST APIs.
Overall we think the APM module has huge potential, however we are running into a few things here and there and would like to get some clarifications.
- When we have span within span (i.e. span referencing another span by the parent id), how can you tell it's a sub-span visually with the APM GUI?
Currently the sub-span is shown as another span below the parent span, but there is no indication there is a parent/child relationship. Visually it makes no difference than 2 unrelated spans.
If that's the case, what's the reason of having nested span? I am expecting maybe you can click on the parent and it will drill into the details in the next layer, etc.
- Is there a way to display only a particular "run" of an application or transaction in the APM GUI? Seems like it's showing sampled data within a particular bucket. If you have many "runs" within the same bucket, how can you narrow it down just a specific run/transaction?
For instance, when there is an error for a particular run or during the development/testing of a new algorithm I would like to look at the detail timing for a specific run.
Along the same line as above, how to group multiple transactions in the same run for display in the APM GUI?
In the Error intake API, you can link the error with a transaction Id. In the APM GUI, it lists the error but I can't find a way to display the corresponding timing details. Is there a way to do that? Otherwise, what's the point of linking the error to the transaction?
Looking at the schema and the GUI more closely, seems like the current APM is mainly targeted for long running web services? Any plans for making it also more applicable to applications?
Since all the data is already in Elasticsearch, would it be possible to write our own GUI in Kibana to fit our specific needs? Or maybe easier to fetch data from Elasticsearch and plot them with 3rd party tool?
It's definitely possible that we are not sending messages with the expected format or assumptions. Anyways, any clarification or comments would be much appreciated.