elastic / elastic/opentelemetry-lib

Handle root spans that are both incoming and outgoing calls - e.g. nginx

Open
#162 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
5
Forks
18
Avg merge
2d 12h
Merged PRs (30d)
7

Description

Continuing the discussion from https://github.com/elastic/opentelemetry-lib/pull/125#discussion_r1863663594

https://github.com/elastic/opentelemetry-lib/pull/125 addressed the default case of root spans that represent a dependency.

There are some (I'd argue non OTel/SemConv compliant) cases where the check we added may not identify the span as a transaction:

```
isExitRootSpan := s.isTransaction && span.Kind() == ptrace.SpanKindClient || span.Kind() == ptrace.SpanKindProducer
```

One known case is nginx where nginx behaves as a proxy and creates a single HTTP span for those - where span kind may not be client.

Question is how we address those. So far the option on the table is to also take attributes into consideration in the code above.

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.