dust off Agent

This commit is contained in:
Collin M. Barrett 2018-06-05 15:33:33 -05:00
parent 769ee7d0da
commit 26f4d1517b

View file

@ -2,6 +2,7 @@
using System.IO;
using FilterLists.Services.DependencyInjection.Extensions;
using FilterLists.Services.Snapshot;
using JetBrains.Annotations;
using Microsoft.ApplicationInsights;
using Microsoft.ApplicationInsights.Extensibility;
using Microsoft.Extensions.Configuration;
@ -9,65 +10,63 @@
namespace FilterLists.Agent
{
[UsedImplicitly]
public class Program
{
private static TelemetryClient telemetryClient;
private static ServiceProvider serviceProvider;
private static IConfigurationRoot configurationRoot;
private const int BatchSize = 1;
private static TelemetryClient _telemetryClient;
private static ServiceProvider _serviceProvider;
private static IConfigurationRoot _configurationRoot;
public static int Main(string[] args)
public static int Main()
{
InstantiateConfigurationRoot();
InstantiateTelemetryClient();
InstantiateServiceProvider();
const int batchSize = 1;
CaptureSnapshots(batchSize);
CaptureSnapshots(BatchSize);
return 0;
}
private static void InstantiateConfigurationRoot()
{
configurationRoot = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", false, true)
.Build();
_configurationRoot = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", false, true)
.Build();
}
private static void InstantiateTelemetryClient()
{
TelemetryConfiguration.Active.InstrumentationKey =
configurationRoot["ApplicationInsights:InstrumentationKey"];
telemetryClient = new TelemetryClient();
_configurationRoot["ApplicationInsights:InstrumentationKey"];
_telemetryClient = new TelemetryClient();
}
private static void InstantiateServiceProvider()
{
var serviceCollection = new ServiceCollection();
ConfigureServices(serviceCollection);
serviceProvider = serviceCollection.BuildServiceProvider();
_serviceProvider = serviceCollection.BuildServiceProvider();
}
private static void ConfigureServices(IServiceCollection serviceCollection)
{
serviceCollection.AddFilterListsServices(configurationRoot);
serviceCollection.AddFilterListsServices(_configurationRoot);
}
private static void CaptureSnapshots(int batchSize)
{
var snapshotService = serviceProvider.GetService<SnapshotService>();
var snapshotService = _serviceProvider.GetService<SnapshotService>();
Log("Capturing FilterList snapshots...");
snapshotService.CaptureAsync(batchSize).Wait();
Log("\nSnapshots captured.");
telemetryClient.Flush();
_telemetryClient.Flush();
}
private static void Log(string message)
{
Console.WriteLine(message);
telemetryClient.TrackTrace(message);
_telemetryClient.TrackTrace(message);
}
}
}