apm-agent-nodejs icon indicating copy to clipboard operation
apm-agent-nodejs copied to clipboard

[META 621] Improve Granularity for SQL Databases

Open AlexanderWert opened this issue 3 years ago • 1 comments

issue details

issue details

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.type and span.context.service.target.name for exit spans.
  • Infer from those new fields the value of span.destination.service.resource and keep sending it.
  • Add service_target_* fields to dropped spans metrics: add service_target_type and service_target_name next to destination_service_resource in transaction.dropped_spans_stats array, the related metrics documents should include span.service.target.type and span.service.target.name fields.
  • Handle span compression with new fields (stop relying on resource internally)

Second step : capture values for new fields

AlexanderWert avatar Mar 24 '22 07:03 AlexanderWert

Here is the Python agent PR if that helps: https://github.com/elastic/apm-agent-python/pull/1585

trentm avatar Jul 29 '22 16:07 trentm