You've already forked linux-packaging-mono
Imported Upstream version 6.6.0.89
Former-commit-id: b39a328747c2f3414dc52e009fb6f0aa80ca2492
This commit is contained in:
parent
cf815e07e0
commit
95fdb59ea6
33
external/api-doc-tools/mdoc/Mono.Documentation/Updater/Statistics/StatisticsCollector.cs
vendored
Normal file
33
external/api-doc-tools/mdoc/Mono.Documentation/Updater/Statistics/StatisticsCollector.cs
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Mono.Documentation.Updater.Statistics
|
||||
{
|
||||
/// <summary>
|
||||
/// The class stores statistics for different frameworks
|
||||
/// </summary>
|
||||
public class StatisticsCollector
|
||||
{
|
||||
/// <summary>
|
||||
/// Collected statistics for each framework
|
||||
/// </summary>
|
||||
public Dictionary<string, StatisticsStorage> Storages { get; } =
|
||||
new Dictionary<string, StatisticsStorage>();
|
||||
|
||||
/// <summary>
|
||||
/// Change metric value for the item
|
||||
/// </summary>
|
||||
/// <param name="framework">The framework name which statistics is being collected</param>
|
||||
/// <param name="item">The item which metrics value is changing</param>
|
||||
/// <param name="metrics">The metrics which value is changing</param>
|
||||
/// <param name="delta">The value by which the metrics value should be changed</param>
|
||||
public void AddMetric(string framework, StatisticsItem item, StatisticsMetrics metrics, int delta = 1)
|
||||
{
|
||||
if (!Storages.ContainsKey(framework))
|
||||
{
|
||||
Storages[framework] = new StatisticsStorage();
|
||||
}
|
||||
|
||||
Storages[framework].AddMetric(item, metrics, delta);
|
||||
}
|
||||
}
|
||||
}
|
||||
31
external/api-doc-tools/mdoc/Mono.Documentation/Updater/Statistics/StatisticsFormatter.cs
vendored
Normal file
31
external/api-doc-tools/mdoc/Mono.Documentation/Updater/Statistics/StatisticsFormatter.cs
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace Mono.Documentation.Updater.Statistics
|
||||
{
|
||||
public static class StatisticsFormatter
|
||||
{
|
||||
public static string Format(Dictionary<string, StatisticsStorage> input)
|
||||
{
|
||||
var result = new StringBuilder();
|
||||
foreach (var statisticsStoragePair in input)
|
||||
{
|
||||
var framework = statisticsStoragePair.Key;
|
||||
var statisticsStorage = statisticsStoragePair.Value;
|
||||
result.AppendLine($"Framework: {framework}");
|
||||
result.AppendLine("--------");
|
||||
foreach (var statistics in statisticsStorage.Values)
|
||||
{
|
||||
var staticsItem = statistics.Key;
|
||||
foreach (var statisticsValuePair in statistics.Value)
|
||||
{
|
||||
result.AppendLine($"{staticsItem} {statisticsValuePair.Key}: {statisticsValuePair.Value}");
|
||||
}
|
||||
result.AppendLine();
|
||||
}
|
||||
}
|
||||
|
||||
return result.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
9
external/api-doc-tools/mdoc/Mono.Documentation/Updater/Statistics/StatisticsItem.cs
vendored
Normal file
9
external/api-doc-tools/mdoc/Mono.Documentation/Updater/Statistics/StatisticsItem.cs
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace Mono.Documentation.Updater.Statistics
|
||||
{
|
||||
public enum StatisticsItem
|
||||
{
|
||||
Types,
|
||||
Namespaces,
|
||||
Members
|
||||
}
|
||||
}
|
||||
9
external/api-doc-tools/mdoc/Mono.Documentation/Updater/Statistics/StatisticsMetrics.cs
vendored
Normal file
9
external/api-doc-tools/mdoc/Mono.Documentation/Updater/Statistics/StatisticsMetrics.cs
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace Mono.Documentation.Updater.Statistics
|
||||
{
|
||||
public enum StatisticsMetrics
|
||||
{
|
||||
Added,
|
||||
Removed,
|
||||
Total
|
||||
}
|
||||
}
|
||||
23
external/api-doc-tools/mdoc/Mono.Documentation/Updater/Statistics/StatisticsSaver.cs
vendored
Normal file
23
external/api-doc-tools/mdoc/Mono.Documentation/Updater/Statistics/StatisticsSaver.cs
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
namespace Mono.Documentation.Updater.Statistics
|
||||
{
|
||||
public static class StatisticsSaver
|
||||
{
|
||||
private const string DefaltStatisticsFileName = "statistics.txt";
|
||||
|
||||
/// <summary>
|
||||
/// Save statistics to the file
|
||||
/// </summary>
|
||||
/// <param name="statisticsCollector">Statistics values which should be saved</param>
|
||||
/// <param name="statisticsFilePath">Path to the file where statistics should be saved</param>
|
||||
public static void Save(StatisticsCollector statisticsCollector, string statisticsFilePath)
|
||||
{
|
||||
if (Directory.Exists(statisticsFilePath))
|
||||
statisticsFilePath = Path.Combine(statisticsFilePath, DefaltStatisticsFileName);
|
||||
File.WriteAllText(statisticsFilePath, StatisticsFormatter.Format(statisticsCollector.Storages));
|
||||
Console.WriteLine($"Statistics saved to {statisticsFilePath}");
|
||||
}
|
||||
}
|
||||
}
|
||||
30
external/api-doc-tools/mdoc/Mono.Documentation/Updater/Statistics/StatisticsStorage.cs
vendored
Normal file
30
external/api-doc-tools/mdoc/Mono.Documentation/Updater/Statistics/StatisticsStorage.cs
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Mono.Documentation.Updater.Statistics
|
||||
{
|
||||
/// <summary>
|
||||
/// The class stores statistics: int value for each StatisticsItem-StatisticsMetrics pair
|
||||
/// </summary>
|
||||
public class StatisticsStorage
|
||||
{
|
||||
public Dictionary<StatisticsItem, Dictionary<StatisticsMetrics, int>> Values { get; } = new Dictionary<StatisticsItem, Dictionary<StatisticsMetrics, int>>();
|
||||
|
||||
public StatisticsStorage()
|
||||
{
|
||||
foreach (var statisticsItem in Enum.GetValues(typeof(StatisticsItem)))
|
||||
{
|
||||
var metrics = Values[(StatisticsItem)statisticsItem] = new Dictionary<StatisticsMetrics, int>();
|
||||
foreach (var statisticsMetrics in Enum.GetValues(typeof(StatisticsMetrics)))
|
||||
{
|
||||
metrics[(StatisticsMetrics) statisticsMetrics] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void AddMetric(StatisticsItem item, StatisticsMetrics metrics, int delta = 1)
|
||||
{
|
||||
Values[item][metrics] += delta;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user