mirror of
https://github.com/PluralKit/PluralKit.git
synced 2026-02-04 13:06:50 +00:00
Split Core modules into separate files
This commit is contained in:
parent
a328867e76
commit
dee25fcc23
4 changed files with 81 additions and 68 deletions
32
PluralKit.Core/Modules/MetricsModule.cs
Normal file
32
PluralKit.Core/Modules/MetricsModule.cs
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
using App.Metrics;
|
||||
|
||||
using Autofac;
|
||||
|
||||
namespace PluralKit.Core
|
||||
{
|
||||
public class MetricsModule: Module
|
||||
{
|
||||
private readonly string _onlyContext;
|
||||
|
||||
public MetricsModule(string onlyContext = null)
|
||||
{
|
||||
_onlyContext = onlyContext;
|
||||
}
|
||||
|
||||
protected override void Load(ContainerBuilder builder)
|
||||
{
|
||||
builder.Register(c => InitMetrics(c.Resolve<CoreConfig>()))
|
||||
.AsSelf().As<IMetrics>().SingleInstance();
|
||||
}
|
||||
|
||||
private IMetricsRoot InitMetrics(CoreConfig config)
|
||||
{
|
||||
var builder = AppMetrics.CreateDefaultBuilder();
|
||||
if (config.InfluxUrl != null && config.InfluxDb != null)
|
||||
builder.Report.ToInfluxDb(config.InfluxUrl, config.InfluxDb);
|
||||
if (_onlyContext != null)
|
||||
builder.Filter.ByIncludingOnlyContext(_onlyContext);
|
||||
return builder.Build();
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue