Skip to content

Commit e9d2df3

Browse files
committed
Use single instance of WebhostMetricsLogger
1 parent 023e969 commit e9d2df3

File tree

5 files changed

+13
-9
lines changed

5 files changed

+13
-9
lines changed

src/WebJobs.Script.WebHost/DependencyInjection/DependencyValidator/DependencyValidator.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ private static ExpectedDependencyBuilder CreateExpectedDependencies()
2929
expected.ExpectNone<IEventGenerator>();
3030

3131
expected.Expect<ILoggerFactory, ScriptLoggerFactory>();
32-
expected.Expect<IMetricsLogger, WebHostMetricsLogger>();
32+
expected.ExpectInstance<IMetricsLogger, WebHostMetricsLogger>();
3333

3434
expected.Expect<IWebJobsExceptionHandler, WebScriptHostExceptionHandler>();
3535

src/WebJobs.Script.WebHost/WebHostServiceCollectionExtensions.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,9 +109,6 @@ public static void AddWebJobsScriptHost(this IServiceCollection services, IConfi
109109
services.AddTransient<VirtualFileSystem>();
110110
services.AddTransient<VirtualFileSystemMiddleware>();
111111

112-
// Logging and diagnostics
113-
services.AddSingleton<IMetricsLogger, WebHostMetricsLogger>();
114-
115112
// Secret management
116113
services.TryAddSingleton<ISecretManagerProvider, DefaultSecretManagerProvider>();
117114

src/WebJobs.Script.WebHost/WebScriptHostBuilderExtension.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,13 @@ public static IHostBuilder AddWebScriptHost(this IHostBuilder builder, IServiceP
9191
}
9292

9393
// Logging and diagnostics
94-
services.AddSingleton<IMetricsLogger, WebHostMetricsLogger>();
94+
// Get WebHostMetricsLogger registered at webhost
95+
IMetricsLogger metricsLogger = rootServiceProvider.GetService<IMetricsLogger>();
96+
if (metricsLogger != null)
97+
{
98+
services.AddSingleton(metricsLogger);
99+
}
100+
95101
services.AddSingleton<IEventCollectorProvider, FunctionInstanceLogCollectorProvider>();
96102

97103
// Hosted services

src/WebJobs.Script/ScriptHostBuilderExtensions.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,10 @@ public static IHostBuilder AddScriptHostCore(this IHostBuilder builder, ScriptAp
133133
services.AddSingleton<ITypeLocator, ScriptTypeLocator>();
134134
services.AddSingleton<ScriptSettingsManager>();
135135
services.AddTransient<IExtensionsManager, ExtensionsManager>();
136+
137+
// Fallback option if webhost is not present.
136138
services.TryAddSingleton<IMetricsLogger, MetricsLogger>();
139+
137140
services.TryAddSingleton<IScriptJobHostEnvironment, ConsoleScriptJobHostEnvironment>();
138141
services.AddTransient<IExtensionBundleContentProvider, ExtensionBundleContentProvider>();
139142

test/WebJobs.Script.Tests/Description/DotNet/DotNetFunctionInvokerTests.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -434,8 +434,6 @@ private RunDependencies CreateDependencies(Action<IServiceCollection> configureS
434434
compilationServiceFactory.Setup(f => f.CreateService(DotNetScriptTypes.CSharp, It.IsAny<IFunctionMetadataResolver>()))
435435
.Returns(compilationService.Object);
436436

437-
var metricsLogger = new MetricsLogger();
438-
439437
var hostBuilder = new HostBuilder()
440438
.ConfigureDefaultTestWebScriptHost(o =>
441439
{
@@ -461,7 +459,7 @@ private RunDependencies CreateDependencies(Action<IServiceCollection> configureS
461459
CompilationServiceFactory = compilationServiceFactory,
462460
LoggerProvider = loggerProvider,
463461
LoggerFactory = loggerFactory,
464-
MetricsLogger = metricsLogger
462+
MetricsLogger = new TestMetricsLogger(),
465463
};
466464
}
467465

@@ -495,7 +493,7 @@ private class RunDependencies
495493

496494
public ILoggerFactory LoggerFactory { get; set; }
497495

498-
public MetricsLogger MetricsLogger { get; set; }
496+
public IMetricsLogger MetricsLogger { get; set; }
499497
}
500498
}
501499
}

0 commit comments

Comments
 (0)