PluralKit/PluralKit.Core/Modules/MetricsModule.cs
spiral 0bad2e8ff9
Revert "refactor: run InfluxDB reporter through AppMetrics instead of per-minute task"
This reverts commit 38a3683fca78d40aba625a8798bdc0ebb609b91c.
2022-03-23 19:28:51 -04:00

31 lines
835 B
C#

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();
}
}