diff --git a/build/version.props b/build/version.props index 7dc91a1e..d705cb49 100644 --- a/build/version.props +++ b/build/version.props @@ -1,7 +1,7 @@ 2 - 1 + 2 0 $(VersionMajor).$(VersionMinor).$(VersionPatch) diff --git a/src/SkyApm.Agent.Hosting/Extensions/ServiceCollectionExtensions.cs b/src/SkyApm.Agent.Hosting/Extensions/ServiceCollectionExtensions.cs index dc9f1643..c722f664 100644 --- a/src/SkyApm.Agent.Hosting/Extensions/ServiceCollectionExtensions.cs +++ b/src/SkyApm.Agent.Hosting/Extensions/ServiceCollectionExtensions.cs @@ -45,33 +45,43 @@ namespace Microsoft.Extensions.DependencyInjection { public static class ServiceCollectionExtensions { - public static IServiceCollection AddSkyAPM(this IServiceCollection services, Action extensionsSetup = null) + public static IServiceCollection AddSkyAPM(this IServiceCollection services, + Action extensionsSetup = null) { + #region can be optimized + string environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"); if (environment == null || environment.Length < 1) { environment = "Development"; } + IConfigurationBuilder configurationBuilder = new ConfigurationBuilder(); configurationBuilder.AddJsonFile("skyapm.json", true); configurationBuilder.AddJsonFile("skyapm." + environment + ".json", true); IConfiguration configuration = configurationBuilder.Build(); - string enable = configuration?.GetSection("SkyWalking:Enable").Value ?? "false"; - if (null == enable || !"true".Equals(enable.ToLower())) + string enable = configuration?.GetSection("SkyWalking:Enable").Value; + if (enable != null && "false".Equals(enable.ToLower())) { return services; } + string serviceName = configuration?.GetSection("SkyWalking:ServiceName").Value ?? ""; if (null == serviceName || serviceName.Length < 1) { return services; } + Environment.SetEnvironmentVariable("SKYWALKING__SERVICENAME", serviceName); + + #endregion + services.AddSkyAPMCore(extensionsSetup); return services; } - private static IServiceCollection AddSkyAPMCore(this IServiceCollection services, Action extensionsSetup = null) + private static IServiceCollection AddSkyAPMCore(this IServiceCollection services, + Action extensionsSetup = null) { if (services == null) { @@ -125,7 +135,7 @@ private static IServiceCollection AddTracing(this IServiceCollection services) services.AddSingleton(); return services; } - + private static IServiceCollection AddSampling(this IServiceCollection services) { services.AddSingleton(); @@ -153,6 +163,5 @@ private static IServiceCollection AddSkyApmLogging(this IServiceCollection servi services.AddSingleton(); return services; } - } } \ No newline at end of file