Comments (6)
Sounds like there is agreement that we should not close the child spans (I agree as well).
Also, I feel this is a spec (cross-language) issue, and it should work the same in all languages.
from opentelemetry-js.
This looks like a legacy implementation and I am not sure about the logic. I think we should not close child spans forcefully (by default), and like the idea of passing an option to force child spans to end.
Few questions floated in my mind,
- Does it cause memory leakage if anyone failed to end the span, due to bad code?
- How does it get visualized in Zipkin, Jaeger etc exporters? Does it create separate orphan span?
from opentelemetry-js.
it is a good point that cross languages spec needs to document this decision. As an experiment, I've added spec-needed
label and corresponding issue: open-telemetry/opentelemetry-specification#18
from opentelemetry-js.
There are tons of valid use cases for a child span to finish after its parent, and in some cases even start after its parent is finished. This is especially true in Node where everything happens asynchronously.
What is the use case for the configuration option? When would you want to auto finish the children?
from opentelemetry-js.
+1 on not closing child spans automatically. For the same reason, I find it hard to get span ending casualty right around closing an operation.
from opentelemetry-js.
Closed via open-telemetry/opentelemetry-specification#18
from opentelemetry-js.
Related Issues (20)
- ConsoleSpanExporter not logging anything for Custom Spans for prebuilds HOT 3
- LogRecord discards attributes which are `instanceof Error` HOT 4
- propagator-aws-xray broken with GRPC? HOT 2
- (draft) [api] document best-practices and limitations
- Types returned by getMeter are not compatible HOT 2
- [instrumentation] hide `shimmer` types from the public API
- How to set `credentials: include`? If it cannot be done, please add an option to include Cookies for the Exporters.
- [instrumentation] research adding experimental features to `Instrumentation`, `InstrumentationBase`
- Can not use ESM support in lambda environment HOT 2
- @opentelemetry/semantic-conventions out of sync. E.g. 1.25.1 `http.user_agent` does not follow semantic conventions? HOT 4
- traceparent http header field is not extracted correctly when datadog agent also inserts it HOT 2
- [instrumentation] update "Instrumentation for ES Modules" documentation HOT 1
- How to determine Parent Span from a ReadableSpan, check if Parent Span is Remote?
- Unable to access to trace information using opentelemetry-js SDK + aws lambda layer HOT 2
- `HttpInstrumentation` does not create outgoing request span for `http.get` in ESM HOT 1
- Lamda Auto Instrumentation Causes -> Internal Server Error Due To Span not Ending HOT 2
- node http integration: ignoreIncomingRequests() option does not work HOT 2
- couchbase instrumentation doesn't not support?
- Logs Stabilization Plan HOT 1
- Update Typescript HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opentelemetry-js.