Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

213
Visualizações
generate response time and save it in mongo

I want to save the response time (from the time a request is sent, until it returns) in mongo db, I am not an expert on the subject, and I would like you to please shake my hand on this topic.

  query: async (params = []) => {
    const startTime = new Date().getTime();
    let result = null;
    let error = null;
    try {
      result = await mongoose.query(params);
      const executionTime = (new Date().getTime() - startTime) / 1000;
      logger.info(`${executionTime} s`);
    } catch (err) {
      error = err;
      const executionTime = (new Date().getTime() - startTime) / 1000;
      logger.info(`${executionTime} s`);
    }

    if (result !== null) { return result; }
    throw error;
  }
}; ```
this is what it returns:
```(node:48160) UnhandledPromiseRejectionWarning: TypeError: mongoose.query is not a function

previously working with postgres and where it says query placed pol, it was more intuitive. I would appreciate any help. thanks in advance.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

I would recommend subscribing on CommandSucceeded/CommandFailed events and analyze duration field. See details here

about 4 years ago · Juan Pablo Isaza Relatório

0

the solution was simpler than the problem, when I sin I was making balls, for anyone who wants to save a duration of a response time is in the following way:

    const startTime = new Date().getTime();//start of time counter
    const result = { success: false, statusCode: null, data: {} };
    const { action } = config;

    delete payload.action;
    const resultRequest = await watsonSupport.proxyRequest(action, payload);

    result.success = resultRequest.success;
    result.statusCode = resultRequest.statusCode;
    result.data = resultRequest.response;
    try {
      const executionTime = (new Date().getTime() - startTime) / 1000;//a new counter is started and subtracted with the previous counter
      logger.info(`${executionTime} s`);

      const saveLog = new RequestLog({
        action: config.action,
        authorizedSkill: config.skillId,
        url: resultRequest.url,
        method: resultRequest.method,
        request: payload,
        response: resultRequest.response,
        responseStr: JSON.stringify(resultRequest.response),
        statusCode: resultRequest.statusCode,
        conversationId: config.conversationId,
        responseTime: executionTime
      });
      await saveLog.save();
    } catch (error) {
      logger.error(error);
      const executionTime = (new Date().getTime() - startTime) / 1000;
      logger.info(`${executionTime} s`);```
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda