protected void PopulateContexts()

in sdk/src/Core/AWSXRayRecorderImpl.cs [734:763]


        protected void PopulateContexts()
        {
            RuntimeContext = new Dictionary<string, object>();

            // Prepare XRay section for runtime context
            var xrayContext = new ConcurrentDictionary<string, string>();

#if NETFRAMEWORK
            xrayContext["sdk"] = "X-Ray for .NET";
#else
            xrayContext["sdk"] = "X-Ray for .NET Core";
#endif
            string currentAssemblyLocation = Assembly.GetExecutingAssembly().Location;
            if (!string.IsNullOrEmpty(currentAssemblyLocation))
            {
                xrayContext["sdk_version"] = FileVersionInfo.GetVersionInfo(currentAssemblyLocation).ProductVersion;
            }
            else
            {
                xrayContext["sdk_version"] = "Unknown";
            }

            RuntimeContext["xray"] = xrayContext;
#if NETFRAMEWORK
            ServiceContext["runtime"] = ".NET Framework";
#else
            ServiceContext["runtime"] = ".NET Core Framework";
#endif
            ServiceContext["runtime_version"] = Environment.Version.ToString();
        }