apm-agent-nodejs
apm-agent-nodejs copied to clipboard
[META 621] Improve Granularity for SQL Databases
There are two parts to improving the granularity for SQL Databases:
- adding new fields to agent-server protocol, for now it's mostly to future-proof the captured data as we have to keep existing fields for compatibility with UI.
- capture values for those new fields on SQL Databases, which is actually providing better granularity to the end-user.
Each step can be completed independently, but this task will be considered complete when both parts are completed.
First step : add new service fields
- Add and capture values for
span.context.service.target.typeandspan.context.service.target.namefor exit spans. - Infer from those new fields the value of
span.destination.service.resourceand keep sending it. - Add
service_target_*fields to dropped spans metrics: addservice_target_typeandservice_target_namenext todestination_service_resourceintransaction.dropped_spans_statsarray, the related metrics documents should includespan.service.target.typeandspan.service.target.namefields. - Handle span compression with new fields (stop relying on
resourceinternally)
Second step : capture values for new fields
Here is the Python agent PR if that helps: https://github.com/elastic/apm-agent-python/pull/1585