Backend dependencies granularity for NoSQL and Messaging
- Dominant language
- Gherkin
- Stars
- 427
- Forks
- 125
- PR merge metrics
- No merged PRs in 30d
Description
# Description
Similar to https://github.com/elastic/apm/issues/621, we need to improve the granularity of backend dependencies that are NoSQL-based or messaging-based.
This, in particular, means that `service.target.type`, `service.target.name` need to be set properly and also the old field `destination.service.resource` needs to be updated accordingly.
The detailed changes are described in these spec changes:
- https://github.com/elastic/apm/pull/654
- https://github.com/elastic/apm/pull/655
## Summary of changes
### DBs
- For Cassandra, define `db.instance` to the Keyspace name (if available)
- For MongoDB, define `db.instance` to the Database name (if available)
- For Elasticsearch, define `db.instance` as the Cluster name (if available, with heuristic).
- For Redis do not set the `db.instance` / `service.target.name` fields
- For Memcached do not set the `db.instance` / `service.target.name` fields
- For any other NoSQL database / store follow the spec
### Messaging
- For azurequeue : use `queue name`
- For azureservicebus : use `queue name` or `topic name`
- Other: use already captured `queue name`
## Agent Issues
- [x] https://github.com/elastic/apm-agent-java/issues/2711
- [ ] https://github.com/elastic/apm-agent-dotnet/issues/1754
- [x] https://github.com/elastic/apm-agent-nodejs/issues/2822
- [x] https://github.com/elastic/apm-agent-python/issues/1586
- [x] https://github.com/elastic/apm-agent-go/issues/1267
- [ ] https://github.com/elastic/apm-agent-php/issues/728
- [ ] https://github.com/elastic/apm-agent-ruby/issues/1290
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.