Comments (9)
This should all be fixed with the new release candidate that is in progress. StartSpanFromContext
will take operation name that is set correctly. I don't see where this is set as a tag called resource.name
in the code. It is however set as the default resource unless you specify the resource.name
tag to override.
As for component, it should also be set correctly as a tag, like any other. Do note however that in the case of Datadog it might be best to use the span.type
tag at least for now.
I'd hold of at least until the release candidate is out before switching to this API as there will be some changes. Afterwards bug reports and issues would be super encouraged, welcomed and helpful to us.
P.S. When you say "opentracing branch", what do you mean? Would be very helpful if your references to code would link to the code itself.
from dd-trace-go.
-- Heads-up --
We've approved (and soon it will be merged) the first step for this migration: #171
It will be part of our feature branch and not master
, since we're planning to provide the release candidate from this branch. The next step is to update our integrations using this new API. Will provide a new update as soon we're there.
from dd-trace-go.
Hi, thanks for getting back to me.
I was referring to changes in #171 - looks like the release candidate you're talking about.
Would it be helpful for me to test with that branch?
from dd-trace-go.
Would it be helpful for me to test with that branch?
No, please don't. Not at all at this point. We are still breaking things and it's work in progress. I'd be very happy if you'd like to help us test once we finalise it, which should be soon.
from dd-trace-go.
@lwc we will provide a specific branch with all this work merged, so that we can ship a tag as a release candidate. Having your help to try out our new API, would be very appreciated! Also, we know that we're changing a lot of things in our API, but the end goal is to refactor the API so we can reach a very stable 1.0.
This is just to share or mid-term plan. Thank you for your details!
from dd-trace-go.
Hey, just looking over the v1 branch and it looks like this issue still exists:
The OpenTracing spec defines operation name as:
An operation name, a human-readable string which concisely represents the work done by the Span (for example, an RPC method name, a function name, or the name of a subtask or stage within a larger computation). The operation name should be the most general string that identifies a (statistically) interesting class of Span instances. That is,
get_user
is better thanget_user/314159
.
Your OpenTracing shim passes operation name through to the internal tracer like so: https://github.com/DataDog/dd-trace-go/blob/v1/ddtrace/opentracer/tracer.go#L44
Which ends up here: https://github.com/DataDog/dd-trace-go/blob/v1/ddtrace/tracer/span.go#L29.
This internal version of Operation Name is what the OT spec calls the component:
The software package, framework, library, or module that generated the associated Span. E.g., "grpc", "django", "JDBI".
This is concerning, as it means the OT implementation in this library has a DataDog flavour that will make interoperability with existing OpenTracing libraries impossible.
from dd-trace-go.
@lwc could it be that you are confusing things a little bit? I don't think we have a problem with the operation name. What you refer to as component within the OpenTracing spec is in fact what we call "span type" in the Datadog tracer.
from dd-trace-go.
@lwc you might also notice that if you don't specifically set a resource name on a span, the operation name is used as the resource internally: https://github.com/DataDog/dd-trace-go/blob/v1/ddtrace/tracer/tracer.go#L206
Is this not the behavior you expect?
from dd-trace-go.
This issue has gone quite stale, and I don't see anything actionable here.
I am going to close the issue, but please reopen if there's something that needs to be done.
from dd-trace-go.
Related Issues (20)
- Profiler: Add ability to override logger HOT 1
- Headers not propagated across custom spans within trace HOT 1
- contrib/jackc/pgx.v5: trace acquire and release HOT 1
- [BUG] Datadog Tracer v1.64.0 WARN: Turning off Data Streams Monitoring. Upgrade your agent to 7.34+ HOT 6
- proposal: integrate with github.com/twmb/franz-go HOT 1
- [BUG] fatal error: concurrent map writes when using contrib/net/http.(*roundTripper).RoundTrip HOT 1
- Remove warn logs from tracer/option newConfig HOT 1
- Go 1.19 no longer works HOT 1
- Failed to configure Datadog Profiler locally HOT 1
- labstack/echo v3.3.10 dependency vulnerability HOT 5
- Add WithStatsdClient StartOption for tracer HOT 1
- [BUG] 99designs/gqlgen/tracer.go: panic cause nil pointer
- enable delta memory profiler to reduce storage cost. HOT 3
- [QUESTION] Why is globalconfig.AnalyticsRate() commented out everywhere HOT 1
- [BUG] contrib/dimfeld/httptreemux.v5: default resource namer incorrectly replaces path variables HOT 1
- More precise span error in gin middleware HOT 1
- [BUG] appsec golang 1.23 HOT 1
- Questionable Dependency in internal/appsec/waf_test.go HOT 1
- propose: contrib/net/http: add conditional propagation logic to roundTripper configuration
- shopify sarama has moved to https://github.com/IBM/sarama and broke the integration 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 dd-trace-go.