Collect statistics about shard status
This commit is contained in:
		| @@ -13,6 +13,7 @@ namespace PluralKit.Bot | ||||
|         public static GaugeOptions MembersOnline => new GaugeOptions {Name = "Members online", MeasurementUnit = Unit.None, Context = "Bot"}; | ||||
|         public static GaugeOptions Guilds => new GaugeOptions {Name = "Guilds", MeasurementUnit = Unit.None, Context = "Bot"}; | ||||
|         public static GaugeOptions Channels => new GaugeOptions {Name = "Channels", MeasurementUnit = Unit.None, Context = "Bot"}; | ||||
|         public static GaugeOptions ShardsConnected => new GaugeOptions { Name = "Shards Connected", Context = "Bot" }; | ||||
|         public static GaugeOptions WebhookCacheSize => new GaugeOptions { Name = "Webhook Cache Size", Context = "Bot" }; | ||||
|     } | ||||
| } | ||||
| @@ -49,6 +49,7 @@ namespace PluralKit.Bot | ||||
|             // Aggregate guild/channel stats | ||||
|             _metrics.Measure.Gauge.SetValue(BotMetrics.Guilds, _client.Guilds.Count); | ||||
|             _metrics.Measure.Gauge.SetValue(BotMetrics.Channels, _client.Guilds.Sum(g => g.TextChannels.Count)); | ||||
|             _metrics.Measure.Gauge.SetValue(BotMetrics.ShardsConnected, _client.Shards.Count(shard => shard.ConnectionState == ConnectionState.Connected)); | ||||
|  | ||||
|             // Aggregate member stats | ||||
|             var usersKnown = new HashSet<ulong>(); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user