slowRouteModel.js 915 Bytes
const model = require('../../../lib/model');
const mysqlPromise = require('../../../lib/mysql-apm');
const vars = require('./vars');

class slowRouteModel extends model {
    constructor(ctx) {
        super(ctx);
        this.mysql = new mysqlPromise();
    }

    async getList(app, page, pageSize) {
        pageSize =  pageSize || 10;

        let recordsTotal = await this.mysql.query('SELECT COUNT(*) as count from slow_duration where app = ?', [app]).then(([r]) => r.count);
        let data = await this.mysql.query('SELECT id, app, `type`, preq_id, req_id, uid, udid, api, route, duration from slow_duration where app = ? limit ?, ? order by create_time desc', [app, page, pageSize]).then(r => {
            return r.map(vars.handleItem)
        });

        return {
            recordsTotal,
            recordsFiltered: recordsTotal,
            data
        }
    }
}

module.exports = slowRouteModel;