diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 000000000000..c8fce57907b6
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "lib/opentracing-csharp"]
+ path = lib/opentracing-csharp
+ url = https://github.com/bmermet/opentracing-csharp
diff --git a/lib/opentracing-csharp b/lib/opentracing-csharp
new file mode 160000
index 000000000000..0e9fcc5aa03a
--- /dev/null
+++ b/lib/opentracing-csharp
@@ -0,0 +1 @@
+Subproject commit 0e9fcc5aa03a7ac5bf84472e5e802e751867fc4f
diff --git a/src/Datadog.Trace.IntegrationTests.Net45/Datadog.Trace.IntegrationTests.Net45.csproj b/src/Datadog.Trace.IntegrationTests.Net45/Datadog.Trace.IntegrationTests.Net45.csproj
index afe3960c20ff..d4c49be142d4 100644
--- a/src/Datadog.Trace.IntegrationTests.Net45/Datadog.Trace.IntegrationTests.Net45.csproj
+++ b/src/Datadog.Trace.IntegrationTests.Net45/Datadog.Trace.IntegrationTests.Net45.csproj
@@ -34,17 +34,11 @@
..\packages\MsgPack.Cli.0.9.2\lib\net45\MsgPack.dll
-
- ..\packages\OpenTracing.0.10.0\lib\netstandard1.0\OpenTracing.dll
-
-
- ..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll
-
@@ -80,6 +74,10 @@
+
+ {6a48cb37-c924-4df3-8524-abd3bb9b04c4}
+ OpenTracing
+
{5dfdf781-f24c-45b1-82ef-9125875a80a4}
Datadog.Trace
@@ -89,4 +87,4 @@
-
+
\ No newline at end of file
diff --git a/src/Datadog.Trace.IntegrationTests.Net45/packages.config b/src/Datadog.Trace.IntegrationTests.Net45/packages.config
index 61c7774e947c..f9ea5fa10763 100644
--- a/src/Datadog.Trace.IntegrationTests.Net45/packages.config
+++ b/src/Datadog.Trace.IntegrationTests.Net45/packages.config
@@ -1,38 +1,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Datadog.Trace.IntegrationTests/Datadog.Trace.IntegrationTests.csproj b/src/Datadog.Trace.IntegrationTests/Datadog.Trace.IntegrationTests.csproj
index 1d2d35c2ea84..d333059a9a97 100644
--- a/src/Datadog.Trace.IntegrationTests/Datadog.Trace.IntegrationTests.csproj
+++ b/src/Datadog.Trace.IntegrationTests/Datadog.Trace.IntegrationTests.csproj
@@ -16,11 +16,13 @@
-
-
-
+
+
+
+
+
diff --git a/src/Datadog.Trace.Tests.Net45/Datadog.Trace.Tests.Net45.csproj b/src/Datadog.Trace.Tests.Net45/Datadog.Trace.Tests.Net45.csproj
index 2a4351a8aa24..f521944f30db 100644
--- a/src/Datadog.Trace.Tests.Net45/Datadog.Trace.Tests.Net45.csproj
+++ b/src/Datadog.Trace.Tests.Net45/Datadog.Trace.Tests.Net45.csproj
@@ -39,18 +39,12 @@
..\packages\Moq.4.7.142\lib\net45\Moq.dll
-
- ..\packages\OpenTracing.0.10.0\lib\netstandard1.0\OpenTracing.dll
-
-
- ..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll
-
@@ -92,16 +86,22 @@
+
+ {6a48cb37-c924-4df3-8524-abd3bb9b04c4}
+ OpenTracing
+
{5dfdf781-f24c-45b1-82ef-9125875a80a4}
Datadog.Trace
-
+
+ Designer
+
-
+
\ No newline at end of file
diff --git a/src/Datadog.Trace.Tests.Net45/packages.config b/src/Datadog.Trace.Tests.Net45/packages.config
index f3a1c7dcbb99..b1740e169801 100644
--- a/src/Datadog.Trace.Tests.Net45/packages.config
+++ b/src/Datadog.Trace.Tests.Net45/packages.config
@@ -1,39 +1,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Datadog.Trace.Tests/Datadog.Trace.Tests.csproj b/src/Datadog.Trace.Tests/Datadog.Trace.Tests.csproj
index cc05ea681f9e..e4051c39b5a7 100644
--- a/src/Datadog.Trace.Tests/Datadog.Trace.Tests.csproj
+++ b/src/Datadog.Trace.Tests/Datadog.Trace.Tests.csproj
@@ -13,12 +13,17 @@
-
+
+
+
+
+
+
diff --git a/src/Datadog.Trace.sln b/src/Datadog.Trace.sln
index 964d5dc39c1d..377a78a50b18 100644
--- a/src/Datadog.Trace.sln
+++ b/src/Datadog.Trace.sln
@@ -12,6 +12,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Datadog.Trace.Tests.Net45",
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Datadog.Trace.IntegrationTests.Net45", "Datadog.Trace.IntegrationTests.Net45\Datadog.Trace.IntegrationTests.Net45.csproj", "{9DD2FA11-BCBA-4F8A-93CE-D1ED28282A6E}"
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTracing", "..\lib\opentracing-csharp\src\OpenTracing\OpenTracing.csproj", "{6A48CB37-C924-4DF3-8524-ABD3BB9B04C4}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -82,6 +84,18 @@ Global
{9DD2FA11-BCBA-4F8A-93CE-D1ED28282A6E}.Release|x64.Build.0 = Release|Any CPU
{9DD2FA11-BCBA-4F8A-93CE-D1ED28282A6E}.Release|x86.ActiveCfg = Release|Any CPU
{9DD2FA11-BCBA-4F8A-93CE-D1ED28282A6E}.Release|x86.Build.0 = Release|Any CPU
+ {6A48CB37-C924-4DF3-8524-ABD3BB9B04C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6A48CB37-C924-4DF3-8524-ABD3BB9B04C4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6A48CB37-C924-4DF3-8524-ABD3BB9B04C4}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {6A48CB37-C924-4DF3-8524-ABD3BB9B04C4}.Debug|x64.Build.0 = Debug|Any CPU
+ {6A48CB37-C924-4DF3-8524-ABD3BB9B04C4}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {6A48CB37-C924-4DF3-8524-ABD3BB9B04C4}.Debug|x86.Build.0 = Debug|Any CPU
+ {6A48CB37-C924-4DF3-8524-ABD3BB9B04C4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6A48CB37-C924-4DF3-8524-ABD3BB9B04C4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6A48CB37-C924-4DF3-8524-ABD3BB9B04C4}.Release|x64.ActiveCfg = Release|Any CPU
+ {6A48CB37-C924-4DF3-8524-ABD3BB9B04C4}.Release|x64.Build.0 = Release|Any CPU
+ {6A48CB37-C924-4DF3-8524-ABD3BB9B04C4}.Release|x86.ActiveCfg = Release|Any CPU
+ {6A48CB37-C924-4DF3-8524-ABD3BB9B04C4}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/src/Datadog.Trace/Api.cs b/src/Datadog.Trace/Api.cs
index 8592f30afd0c..5af71fdf1835 100644
--- a/src/Datadog.Trace/Api.cs
+++ b/src/Datadog.Trace/Api.cs
@@ -17,6 +17,10 @@ internal class Api : IApi
private const string ServicesPath = "/v0.3/services";
private static SerializationContext _serializationContext;
+#if !NETSTANDARD2_0
+ private static readonly string _frameworkDescription = string.Format(".NET Framework {0}", typeof(object).GetTypeInfo().Assembly.GetName().Version);
+#endif
+
static Api()
{
_serializationContext = new SerializationContext();
@@ -52,7 +56,11 @@ public Api(Uri baseEndpoint, DelegatingHandler delegatingHandler = null)
_servicesEndpoint = new Uri(baseEndpoint, ServicesPath);
// TODO:bertrand add header for os version
_client.DefaultRequestHeaders.Add("Datadog-Meta-Lang", ".NET");
+#if NETSTANDARD2_0
_client.DefaultRequestHeaders.Add("Datadog-Meta-Lang-Interpreter", RuntimeInformation.FrameworkDescription);
+#else
+ _client.DefaultRequestHeaders.Add("Datadog-Meta-Lang-Interpreter", _frameworkDescription);
+#endif
_client.DefaultRequestHeaders.Add("Datadog-Meta-Tracer-Version", Assembly.GetAssembly(typeof(Api)).GetName().Version.ToString());
}
diff --git a/src/Datadog.Trace/Datadog.Trace.csproj b/src/Datadog.Trace/Datadog.Trace.csproj
index 1345fad6f88f..52dd5ccffa63 100644
--- a/src/Datadog.Trace/Datadog.Trace.csproj
+++ b/src/Datadog.Trace/Datadog.Trace.csproj
@@ -10,11 +10,17 @@
Alpha release
Datadog, Inc. 2017
+ $(TargetsForTfmSpecificBuildOutput);IncludeOpentracingLib
+
+
+
+
+
+
-
@@ -24,11 +30,12 @@
-
+
+
-
-
+
+