Alignment of span type/subtype
- Dominant language
- Gherkin
- Stars
- 427
- Forks
- 125
- PR merge metrics
- No merged PRs in 30d
Description
This is a meta-issue to describe all the known alignment issues/inconsistencies with span type / subtype
The current state of specification is stored in [tests/agents/json-specs/span_types.json](https://github.com/elastic/apm/blob/master/tests/agents/json-specs/span_types.json) in JSON format.
For convenience, we will refer to span type & subtype as `type/subtype`.
This issue description will be modified when alignment progresses.
### List of things that need improvement/simplification/alignment
- [ ] create a generic subtype in `app` for internal delegation that is not framework/library specific: we currently have `app/mailer`, `app/controller`, `app/resource` and `app/graphql` #513
- [ ] create a dedicated `external/email` for spans that send emails (would replace `app/mailer`)
- [ ] remove `json/parse` and `json/generate` as it's only used by ruby, span naming might be enough. deprecated in #513
- [ ] no strict specification for `template/*`, thus any value will be accepted as subtype, listing all known values for each platform is required to replace this with an exhaustive list, or we could replace it with a generic subtype.
- [ ] move `websocket` to `external/websocket`
- [ ] merge `db/sqllite` with `db/sqlite3` deprecated in #513
- [ ] merge `db/sqlserver` and `db/mssql` deprecated in #513
- [ ] remove fields deprecated in #513
### Process
1. https://github.com/elastic/apm/issues/555
| Agent | Add automated span type/subtype checking against shared spec |
|---|---:|
| Java | [](https://github.com/elastic/apm-agent-java/issues/2278) [](https://github.com/elastic/apm-agent-java/issues/2278)|
| dot-net | [](https://github.com/elastic/apm-agent-dotnet/issues/1539) [](https://github.com/elastic/apm-agent-dotnet/issues/1539)|
| Go | [](https://github.com/elastic/apm-agent-go/issues/1111) [](https://github.com/elastic/apm-agent-go/issues/1111)|
| PHP | [](https://github.com/elastic/apm-agent-php/issues/534) [](https://github.com/elastic/apm-agent-php/issues/534)|
| Ruby | [](https://github.com/elastic/apm-agent-ruby/issues/1196) [](https://github.com/elastic/apm-agent-ruby/issues/1196)|
| NodeJS | [](https://github.com/elastic/apm-agent-nodejs/issues/2408) [](https://github.com/elastic/apm-agent-nodejs/issues/2408)|
| Python | [](https://github.com/elastic/apm-agent-python/issues/1305) [](https://github.com/elastic/apm-agent-python/issues/1305)|
2. add required type & subtypes the the JSON definition to make tests pass, open PRs (reviews optional)
3. When merging spec PRs, add known inconsistencies to the list above (if required)
4. discuss alignment through comments in this issue
5. goto step 2
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.