Massive refactor of pretty much everything in the bot
This commit is contained in:
45
src/pluralkit/stats.py
Normal file
45
src/pluralkit/stats.py
Normal file
@@ -0,0 +1,45 @@
|
||||
from aioinflux import InfluxDBClient
|
||||
|
||||
client = None
|
||||
async def connect():
|
||||
global client
|
||||
client = InfluxDBClient(host="influx", db="pluralkit")
|
||||
await client.create_database(db="pluralkit")
|
||||
|
||||
async def report_db_query(query_name, time, success):
|
||||
await client.write({
|
||||
"measurement": "database_query",
|
||||
"tags": {"query": query_name},
|
||||
"fields": {"response_time": time, "success": int(success)}
|
||||
})
|
||||
|
||||
async def report_command(command_name, execution_time, response_time):
|
||||
await client.write({
|
||||
"measurement": "command",
|
||||
"tags": {"command": command_name},
|
||||
"fields": {"execution_time": execution_time, "response_time": response_time}
|
||||
})
|
||||
|
||||
async def report_webhook(time, success):
|
||||
await client.write({
|
||||
"measurement": "webhook",
|
||||
"fields": {"response_time": time, "success": int(success)}
|
||||
})
|
||||
|
||||
async def report_periodical_stats(conn):
|
||||
from pluralkit import db
|
||||
|
||||
systems = await db.system_count(conn)
|
||||
members = await db.member_count(conn)
|
||||
messages = await db.message_count(conn)
|
||||
accounts = await db.account_count(conn)
|
||||
|
||||
await client.write({
|
||||
"measurement": "stats",
|
||||
"fields": {
|
||||
"systems": systems,
|
||||
"members": members,
|
||||
"messages": messages,
|
||||
"accounts": accounts
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user