elastic / elastic/apm

Backend dependencies granularity for NoSQL and Messaging

Open
#659 0 comments 0 reactions 0 assignees View on GitHub
8.5-candidate apm-agents meta
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 Milestone
- [ ] https://github.com/elastic/apm-agent-dotnet/issues/1754 Milestone
- [x] https://github.com/elastic/apm-agent-nodejs/issues/2822 Milestone
- [x] https://github.com/elastic/apm-agent-python/issues/1586 Milestone
- [x] https://github.com/elastic/apm-agent-go/issues/1267 Milestone
- [ ] https://github.com/elastic/apm-agent-php/issues/728 Milestone
- [ ] https://github.com/elastic/apm-agent-ruby/issues/1290 Milestone

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.