moar logs

This commit is contained in:
Alex 2023-08-13 19:26:39 +01:00
parent 16a6cc9c76
commit 9734c68724
2 changed files with 10 additions and 1 deletions

View File

@ -1,6 +1,6 @@
{ {
"serverLocation": "E:\\spt\\Server", "serverLocation": "E:\\spt\\Server",
"threads": 20, "threads": 10,
"threadPoolingTimeoutMs": 1000, "threadPoolingTimeoutMs": 1000,
"jsonSerializer": "DotNet", "jsonSerializer": "DotNet",
"manualGarbageCollectionCalls": false, "manualGarbageCollectionCalls": false,

View File

@ -42,11 +42,13 @@ public class MultithreadSteppedDumpProcessor : IDumpProcessor
Runners.Clear(); Runners.Clear();
// BSG changed the map data so static containers are now dynamic, so we need to scan all dumps for the static containers. // BSG changed the map data so static containers are now dynamic, so we need to scan all dumps for the static containers.
LoggerFactory.GetInstance().Log("Queuing dumps for static data processing", LogLevel.Info);
foreach (var dumped in dumps) foreach (var dumped in dumps)
{ {
Runners.Add( Runners.Add(
Task.Factory.StartNew(() => Task.Factory.StartNew(() =>
{ {
LoggerFactory.GetInstance().Log($"Processing static data for file {dumped.BasicInfo.FileName}", LogLevel.Info);
var data = _jsonSerializer.Deserialize<RootData>(File.ReadAllText(dumped.BasicInfo.FileName)); var data = _jsonSerializer.Deserialize<RootData>(File.ReadAllText(dumped.BasicInfo.FileName));
// the if statement below will keep track of how many dumps we have for each map // the if statement below will keep track of how many dumps we have for each map
lock (mapDumpCounterLock) lock (mapDumpCounterLock)
@ -62,6 +64,7 @@ public class MultithreadSteppedDumpProcessor : IDumpProcessor
{ {
if (!staticContainers.ContainsKey(data.Data.Name)) if (!staticContainers.ContainsKey(data.Data.Name))
{ {
LoggerFactory.GetInstance().Log($"Doing first time process for map {data.Data.Name} of real static data", LogLevel.Info);
var mapStaticLoot = StaticLootProcessor.CreateRealStaticContainers(data); var mapStaticLoot = StaticLootProcessor.CreateRealStaticContainers(data);
staticContainers[mapStaticLoot.Item1] = mapStaticLoot.Item2; staticContainers[mapStaticLoot.Item1] = mapStaticLoot.Item2;
} }
@ -102,6 +105,7 @@ public class MultithreadSteppedDumpProcessor : IDumpProcessor
} }
Task.WaitAll(Runners.ToArray()); Task.WaitAll(Runners.ToArray());
LoggerFactory.GetInstance().Log("All static data processing threads finished", LogLevel.Info);
// Aggregate and calculate the probability of a static container // Aggregate and calculate the probability of a static container
mapStaticContainersAggregated.ToDictionary( mapStaticContainersAggregated.ToDictionary(
kv => kv.Key, kv => kv.Key,
@ -117,29 +121,34 @@ public class MultithreadSteppedDumpProcessor : IDumpProcessor
// Static containers // Static containers
output.Add(OutputFileType.StaticContainer, staticContainers); output.Add(OutputFileType.StaticContainer, staticContainers);
LoggerFactory.GetInstance().Log("Processing ammo distribution", LogLevel.Info);
// Ammo distribution // Ammo distribution
output.Add( output.Add(
OutputFileType.StaticAmmo, OutputFileType.StaticAmmo,
StaticLootProcessor.CreateAmmoDistribution(dumpProcessData.ContainerCounts) StaticLootProcessor.CreateAmmoDistribution(dumpProcessData.ContainerCounts)
); );
LoggerFactory.GetInstance().Log("Processing static loot distribution", LogLevel.Info);
// Static loot distribution // Static loot distribution
output.Add( output.Add(
OutputFileType.StaticLoot, OutputFileType.StaticLoot,
StaticLootProcessor.CreateStaticLootDistribution(dumpProcessData.ContainerCounts) StaticLootProcessor.CreateStaticLootDistribution(dumpProcessData.ContainerCounts)
); );
LoggerFactory.GetInstance().Log("Processing loose loot distribution", LogLevel.Info);
// Loose loot distribution // Loose loot distribution
var looseLootDistribution = LooseLootProcessor.CreateLooseLootDistribution( var looseLootDistribution = LooseLootProcessor.CreateLooseLootDistribution(
dumpProcessData.MapCounts, dumpProcessData.MapCounts,
dumpProcessData.LooseLootCounts dumpProcessData.LooseLootCounts
); );
LoggerFactory.GetInstance().Log("Collecting loose loot distribution information", LogLevel.Info);
var loot = dumpProcessData.MapCounts var loot = dumpProcessData.MapCounts
.Select(mapCount => mapCount.Key) .Select(mapCount => mapCount.Key)
.ToDictionary(mi => mi, mi => looseLootDistribution[mi]); .ToDictionary(mi => mi, mi => looseLootDistribution[mi]);
output.Add(OutputFileType.LooseLoot, loot); output.Add(OutputFileType.LooseLoot, loot);
LoggerFactory.GetInstance().Log("Dump processing fully completed!", LogLevel.Info);
return output; return output;
} }