mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-12-19 03:42:23 -06:00
chore: Add telemetry system
Added new file 'telemetry.guard.ts' in 'src/api/guards' directory. Modified 'index.router.ts' in 'src/api/routes' directory to integrate the new telemetry system. This change improves the monitoring and data gathering capabilities of the application, allowing for better performance analysis and potential issue detection.
This commit is contained in:
32
src/api/guards/telemetry.guard.ts
Normal file
32
src/api/guards/telemetry.guard.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import axios from 'axios';
|
||||
import { NextFunction, Request, Response } from 'express';
|
||||
import fs from 'fs';
|
||||
|
||||
const packageJson = JSON.parse(fs.readFileSync('./package.json', 'utf8'));
|
||||
|
||||
interface TelemetryData {
|
||||
route: string;
|
||||
apiVersion: string;
|
||||
timestamp: Date;
|
||||
}
|
||||
|
||||
class Telemetry {
|
||||
public collectTelemetry(req: Request, res: Response, next: NextFunction): void {
|
||||
const telemetry: TelemetryData = {
|
||||
route: req.path,
|
||||
apiVersion: `${packageJson.version}`,
|
||||
timestamp: new Date(),
|
||||
};
|
||||
|
||||
axios
|
||||
.post('https://log.evolution-api.com/telemetry', telemetry)
|
||||
.then(() => {})
|
||||
.catch((error) => {
|
||||
console.error('Telemetry error', error);
|
||||
});
|
||||
|
||||
next();
|
||||
}
|
||||
}
|
||||
|
||||
export default Telemetry;
|
||||
Reference in New Issue
Block a user