Skip to content

Commit 620064c

Browse files
authored
fix: Look for ASPNETCORE_IIS_APP_POOL_ID if APP_POOL_ID isn't found. (#3036)
1 parent ab81d1c commit 620064c

File tree

2 files changed

+30
-5
lines changed

2 files changed

+30
-5
lines changed

src/Agent/NewRelic/Agent/Core/Configuration/DefaultConfiguration.cs

+3
Original file line numberDiff line numberDiff line change
@@ -376,6 +376,9 @@ private string GetAppPoolId()
376376
var appPoolId = _environment.GetEnvironmentVariable("APP_POOL_ID");
377377
if (!string.IsNullOrEmpty(appPoolId)) return appPoolId;
378378

379+
appPoolId = _environment.GetEnvironmentVariable("ASPNETCORE_IIS_APP_POOL_ID");
380+
if (!string.IsNullOrEmpty(appPoolId)) return appPoolId;
381+
379382
var isW3wp = _processStatic.GetCurrentProcess().ProcessName?.Equals("w3wp", StringComparison.InvariantCultureIgnoreCase);
380383
if (!isW3wp.HasValue || !isW3wp.Value) return appPoolId;
381384

tests/Agent/UnitTests/Core.UnitTest/Configuration/DefaultConfigurationTests.cs

+27-5
Original file line numberDiff line numberDiff line change
@@ -1898,7 +1898,7 @@ public void ApplicationNamesPullsSingleNameFromIisExpressSitenameEnvironmentVari
18981898
}
18991899

19001900
[Test]
1901-
public void ApplicationNamesPullsMultipleNamesFromIisExpressSitenameEnvironmentVariaible()
1901+
public void ApplicationNamesPullsMultipleNamesFromIisExpressSitenameEnvironmentVariable()
19021902
{
19031903
_runTimeConfig.ApplicationNames = new List<string>();
19041904
Mock.Arrange(() => _configurationManagerStatic.GetAppSetting(Constants.AppSettingsAppName)).Returns((string)null);
@@ -1918,7 +1918,7 @@ public void ApplicationNamesPullsMultipleNamesFromIisExpressSitenameEnvironmentV
19181918
}
19191919

19201920
[Test]
1921-
public void ApplicationNamesPullsSingleNameFromRoleNameEnvironmentVariaible()
1921+
public void ApplicationNamesPullsSingleNameFromRoleNameEnvironmentVariable()
19221922
{
19231923
_runTimeConfig.ApplicationNames = new List<string>();
19241924

@@ -1941,7 +1941,7 @@ public void ApplicationNamesPullsSingleNameFromRoleNameEnvironmentVariaible()
19411941
}
19421942

19431943
[Test]
1944-
public void ApplicationNamesPullsMultipleNamesFromRoleNameEnvironmentVariaible()
1944+
public void ApplicationNamesPullsMultipleNamesFromRoleNameEnvironmentVariable()
19451945
{
19461946
_runTimeConfig.ApplicationNames = new List<string>();
19471947

@@ -1988,7 +1988,29 @@ public void ApplicationNamesPullsNamesFromNewRelicConfig()
19881988
}
19891989

19901990
[Test]
1991-
public void ApplicationNamesPullsSingleNameFromAppPoolIdEnvironmentVariaible()
1991+
public void ApplicationNamesPullsNameFromAspNetCoreIISAppPool_IfAppPoolId_IsNotAvailable()
1992+
{
1993+
_runTimeConfig.ApplicationNames = new List<string>();
1994+
1995+
//Sets to default return null for all calls unless overriden by later arrange.
1996+
Mock.Arrange(() => _environment.GetEnvironmentVariable(Arg.IsAny<string>())).Returns<string>(null);
1997+
1998+
Mock.Arrange(() => _configurationManagerStatic.GetAppSetting(Constants.AppSettingsAppName)).Returns((string)null);
1999+
2000+
_localConfig.application.name = new List<string>();
2001+
Mock.Arrange(() => _environment.GetEnvironmentVariable("ASPNETCORE_IIS_APP_POOL_ID")).Returns("MyAppName");
2002+
Mock.Arrange(() => _httpRuntimeStatic.AppDomainAppVirtualPath).Returns("NotNull");
2003+
Mock.Arrange(() => _processStatic.GetCurrentProcess().ProcessName).Returns("OtherAppName");
2004+
2005+
NrAssert.Multiple(
2006+
() => Assert.That(_defaultConfig.ApplicationNames.Count(), Is.EqualTo(1)),
2007+
() => Assert.That(_defaultConfig.ApplicationNames.FirstOrDefault(), Is.EqualTo("MyAppName")),
2008+
() => Assert.That(_defaultConfig.ApplicationNamesSource, Is.EqualTo("Application Pool"))
2009+
);
2010+
}
2011+
2012+
[Test]
2013+
public void ApplicationNamesPullsSingleNameFromAppPoolIdEnvironmentVariable()
19922014
{
19932015
_runTimeConfig.ApplicationNames = new List<string>();
19942016

@@ -2010,7 +2032,7 @@ public void ApplicationNamesPullsSingleNameFromAppPoolIdEnvironmentVariaible()
20102032
}
20112033

20122034
[Test]
2013-
public void ApplicationNamesPullsMultipleNamesFromAppPoolIdEnvironmentVariaible()
2035+
public void ApplicationNamesPullsMultipleNamesFromAppPoolIdEnvironmentVariable()
20142036
{
20152037
_runTimeConfig.ApplicationNames = new List<string>();
20162038

0 commit comments

Comments
 (0)