.NET 7 introduced some changes in the way, P/Invoke is being done, which requires some deeper changes in our managed<->native interface within OneAgent. That's why unfortunately this time it will take a bit longer for us to support new newest major version. The team is currently working on it and our current estimate is to have support in OneAgent Version 1.261 (~ March 2023) - no guarantees at this point though.
Here is the Up-to-date Tech Support Roadmap Page.
Update: OneAgent Version 1.163 will add full supporting .NET 7, to be released in April 2023.
Are you serious? Like, really serious? 🙃
This can't be true...
.NET 7 is a major SDK release from a major vendor, I don't know if you know this little start-up, what's its name again? Maybe Microsoft ? (They even have a dedicated emoji on this forum).
The first RC of NET 7 (RC1, production ready) has been released the 14th of September. The first preview version was released 17th of February, ok it wasn't production ready, but previews builds published so that vendors and developers can start updating their tools in anticipation of the migration.
And you're telling us that we'll have to wait till March 2023, without guarantees, to be able to monitor our NET 7 apps. That's 7 months (let that sink in, 7 !!! MONTHS !!!) to upgrade your agent to the latest .NET SDK version, unbelievable.
I understand that there are some major changes introduced with .NET 7, but your competitors have done the job...
Just for your information, if you finish the .NET 7 migration in March/April 2023, .NET 8 will probably be already released as a preview build and RCs release will be a few weeks ahead.
I'll have a chat with our AM, this is a shame, it doesn't make any sense to postpone a major SDK version migration just because of a monitoring agent that's not up-to-date.
We hear you.
We typically aim for 0-day support for new runtime versions. Unfortunately, this time, technical complications and competing priorities have delayed us. The team is working hard to get this fixed. March is the conservative estimation. Chances are it will land sooner, but we can't promise it at this time.
Yes. .NET 7 Apps are fully supported by Dynatrace, April 2023, as documented here: https://docs.dynatrace.com/docs/whats-new/new-technology-support#id-1-263-oneagent
Meanwhile, .NET 8 was just released by Microsoft just last week and we have 0-day support for it (with OneAgent 1.277): https://docs.dynatrace.com/docs/whats-new/new-technology-support#id-1-277-oneagent
@LinusYng Our agent will work the same way in that regard in .NET 7, like also in previous versions.
The DiagnosticSource Activity support instruments the Activity API's, and re-creates those Activities as Spans in the PurePath model. Including all attributes/tags.
Can you elaborate what you think we could improve within that feature?
Currently we do not have TraceContext in-process interop.
This means that the OneAgent TraceContext does not coordinate with .NET Core TraceContext. So both systems create their own, which is why you see different ids
We had issues with OneAgent instrumentation so I ask dynatrace support and they replied with the above. So unless that is solved, the no I would not say that trace context works as one might expect because it is then impossible to add instrumentation or other sources using OneAgent and open telemetry. The SDKfeels like dead end and then we had turn to otel ingestion which adds addtional costs.
It depends what your use-case is.
It is true that OneAgent cannot synchronize the TraceId with DiagnosticSource. Each system uses their own TraceId. If your use-case is log-enrichment with TraceIds, we recommend using the Dynatrace OneAgent SDK, which has an API to access the PurePath TraceId.
If your use-case is enriching PurePath with additional information, or additional Spans, then using the Activity API should work just fine.
If your use-case is Distributed Tracing, this should also work, if you use the built-in .NET Propagators (or OpenTelemetry Propagators for that matter) in order to extract or inject context. OneAgent should properly integrate with these API's as well.