prometheus.controller.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import { NextFunction, Request, Response, Router } from 'express';
  2. import { PrometheusService } from './prometheus.service';
  3. export class PrometheusController {
  4. private router: Router;
  5. private prometheusService: PrometheusService;
  6. constructor() {
  7. this.prometheusService = new PrometheusService();
  8. this.router = Router();
  9. }
  10. generateRoutes() {
  11. this.router.get('/setPrometheus', this.setPrometheus.bind(this));
  12. this.router.get(
  13. '/getMilvusHealthyData',
  14. this.getMilvusHealthyData.bind(this)
  15. );
  16. return this.router;
  17. }
  18. async setPrometheus(req: Request, res: Response, next: NextFunction) {
  19. try {
  20. const result = await this.prometheusService.setPrometheus(
  21. req.query as any
  22. );
  23. res.send(result);
  24. } catch (err) {
  25. console.error(err);
  26. next(err);
  27. }
  28. }
  29. async getMilvusHealthyData(req: Request, res: Response, next: NextFunction) {
  30. try {
  31. const result = await this.prometheusService.getMilvusHealthyData(
  32. req.query as any
  33. );
  34. res.send(result);
  35. } catch (err) {
  36. console.error(err);
  37. next(err);
  38. }
  39. }
  40. }