fuck docker, I'm just running thal in the vm itself

This commit is contained in:
Lio Young 2021-07-12 18:45:27 +02:00
parent 3660503ecc
commit 053dcdf236
4 changed files with 71 additions and 71 deletions

View File

@ -3,7 +3,7 @@ import { readdirSync as read } from "fs";
import path from "path"; import path from "path";
import { Command } from "../../utils/types"; import { Command } from "../../utils/types";
import Logger from "../../utils/logger"; import Logger from "../../utils/logger";
import { Prom } from "../../utils/prometheus"; // import { Prom } from "../../utils/prometheus";
// const server = require('../../website/server'); // const server = require('../../website/server');
export default class Thaldrin extends Client { export default class Thaldrin extends Client {
@ -26,9 +26,9 @@ export default class Thaldrin extends Client {
this.lastEval = null; this.lastEval = null;
// @ts-ignore // @ts-ignore
this.on("raw", packet => { // this.on("raw", packet => {
Prom.events.labels(packet.t).inc() // Prom.events.labels(packet.t).inc()
}) // })
this.login(config.token); this.login(config.token);
this.load(); this.load();

View File

@ -1,6 +1,6 @@
import Command from '../../handler/structures/Command'; import Command from '../../handler/structures/Command';
import { Context, Usage } from '../../utils/types'; import { Context, Usage } from '../../utils/types';
import lingua from '../../utils/lingua'; // import lingua from '../../utils/lingua';
import { MessageEmbed } from 'discord.js'; import { MessageEmbed } from 'discord.js';
import CommandUsage from '../../utils/command.usage'; import CommandUsage from '../../utils/command.usage';
import { commitHash } from "../../utils/git" import { commitHash } from "../../utils/git"
@ -42,7 +42,7 @@ export = class Stats extends Command {
let embed = new MessageEmbed().setColor(ctx.config.variables.color).setFooter(`${ctx.config.variables.name} v${ctx.config.pkg.version} [${commitHash}]`, ctx.config.variables.avatar) let embed = new MessageEmbed().setColor(ctx.config.variables.color).setFooter(`${ctx.config.variables.name} v${ctx.config.pkg.version} [${commitHash}]`, ctx.config.variables.avatar)
.setTitle(`Statistics`) .setTitle(`Statistics`)
.setDescription(`Visit [our System Dashboard](https://system.thaldr.in) for more in-depth stats`) // .setDescription(`Visit [our System Dashboard](https://system.thaldr.in) for more in-depth stats`)
.addField(`Misc`, MiscValues.map((value) => `${value}`)) .addField(`Misc`, MiscValues.map((value) => `${value}`))

View File

@ -1,5 +1,5 @@
import { Prom } from "./prometheus"; // import { Prom } from "./prometheus";
Prom.load() // Prom.load()
export default Prom // export default Prom

View File

@ -1,67 +1,67 @@
//! Code taken from NinoDiscord/Nino // //! Code taken from NinoDiscord/Nino
import prom from "prom-client" // import prom from "prom-client"
import { createServer, IncomingMessage, ServerResponse } from 'http' // import { createServer, IncomingMessage, ServerResponse } from 'http'
import vars from "../../variables" // import vars from "../../variables"
import Logger from "./logger" // import Logger from "./logger"
export default class Prometheus { // export default class Prometheus {
public commandsExecuted!: prom.Counter<string> // public commandsExecuted!: prom.Counter<string>
public messagesSeen!: prom.Counter<string> // public messagesSeen!: prom.Counter<string>
public guildCount!: prom.Gauge<string> // public guildCount!: prom.Gauge<string>
public totalGuilds!: prom.Gauge<string> // public totalGuilds!: prom.Gauge<string>
public uptime!: prom.Gauge<string> // public uptime!: prom.Gauge<string>
public events!: prom.Counter<string> // public events!: prom.Counter<string>
#server!: ReturnType<typeof createServer> // #server!: ReturnType<typeof createServer>
load() { // load() {
prom.collectDefaultMetrics() // prom.collectDefaultMetrics()
this.commandsExecuted = new prom.Counter({ // this.commandsExecuted = new prom.Counter({
labelNames: ['command'], // labelNames: ['command'],
name: "thaldrin_commands_executed", // name: "thaldrin_commands_executed",
help: "How many commands Thaldrin has executed successfully" // help: "How many commands Thaldrin has executed successfully"
}) // })
this.messagesSeen = new prom.Counter({ // this.messagesSeen = new prom.Counter({
name: "thaldrin_messages_seen", // name: "thaldrin_messages_seen",
help: "How many Messages Thaldrin has seen throughout the process lifespan" // help: "How many Messages Thaldrin has seen throughout the process lifespan"
}) // })
this.guildCount = new prom.Gauge({ // this.guildCount = new prom.Gauge({
name: "thaldrin_guild_count", // name: "thaldrin_guild_count",
help: "Number of Guilds Thaldrin joined this Lifecycle" // help: "Number of Guilds Thaldrin joined this Lifecycle"
}) // })
this.totalGuilds = new prom.Gauge({ // this.totalGuilds = new prom.Gauge({
name: "thaldrin_guilds_total", // name: "thaldrin_guilds_total",
help: "Total Number of Guilds Thaldrin is in" // help: "Total Number of Guilds Thaldrin is in"
}) // })
this.events = new prom.Counter({ // this.events = new prom.Counter({
labelNames: ['event'], // labelNames: ['event'],
name: "thaldrin_discord_events", // name: "thaldrin_discord_events",
help: "Received WebSocket events from Discord" // help: "Received WebSocket events from Discord"
}) // })
this.uptime = new prom.Gauge({ // this.uptime = new prom.Gauge({
name: "thaldrin_uptime", // name: "thaldrin_uptime",
help: "Thaldrin's Uptime" // help: "Thaldrin's Uptime"
}) // })
this.#server = createServer(this.onRequest.bind(this)); // this.#server = createServer(this.onRequest.bind(this));
this.#server.once('listening', () => Logger.info({ type: 'event:prometheusStart', message: `Prometheus: Listening at http://localhost:${vars.prometheus.port}` })); // this.#server.once('listening', () => Logger.info({ type: 'event:prometheusStart', message: `Prometheus: Listening at http://localhost:${vars.prometheus.port}` }));
this.#server.on('error', error => console.error(error)); // this.#server.on('error', error => console.error(error));
this.#server.listen(vars.prometheus.port); // this.#server.listen(vars.prometheus.port);
} // }
private async onRequest(req: IncomingMessage, res: ServerResponse) { // private async onRequest(req: IncomingMessage, res: ServerResponse) {
this.uptime.set(process.uptime()) // this.uptime.set(process.uptime())
if (req.url! === '/metrics') { // if (req.url! === '/metrics') {
res.writeHead(200, { 'Content-Type': prom.register.contentType }); // res.writeHead(200, { 'Content-Type': prom.register.contentType });
res.write(await prom.register.metrics()); // res.write(await prom.register.metrics());
} else if (req.url! === '/favicon.ico') { // } else if (req.url! === '/favicon.ico') {
res.writeHead(404, { 'Content-Type': 'application/json' }); // res.writeHead(404, { 'Content-Type': 'application/json' });
res.write('{"fuck":"you uwu"}'); // res.write('{"fuck":"you uwu"}');
} else { // } else {
res.writeHead(400, { 'Content-Type': 'application/json' }); // res.writeHead(400, { 'Content-Type': 'application/json' });
res.write('{"uwu":"owo"}'); // res.write('{"uwu":"owo"}');
} // }
res.end(); // res.end();
} // }
} // }
export const Prom = new Prometheus() // export const Prom = new Prometheus()