2017-10-16 4 views
0

J'essaie de capturer des événements d'affaires - APIs (http-GET et http sortant-POST, PUT) et j'utilise le paquet appmetrics mais il capures événements de la demande http de la pageNodejs- capturer des événements d'affaires - http, http sortant

mais il ne capte pas tous les appels API fait et l'affichage des données

const appmetrics = require('appmetrics'); 
const monitoring = appmetrics.monitor(); 
const request = require('request'); 
const http = require("http"); 
const metrics = require('./index.js'); 

module.exports = http.createServer(function (request, response) { 

    response.writeHead(200, {'Content-Type': 'text/plain'}); 

    response.end('Hello World\n'); 
}).listen(8083); 

request 
    .get('https://jsonplaceholder.typicode.com/users') 
    .on('response', function(response) { 
    console.log(response.statusCode) // 200 
    console.log(response.headers['content-type']); 
    }) 

console.log('Server running at http://127.0.0.1:3000/'); 

appmetrics.enable('http'); 
appmetrics.enable('request'); 
monitoring.on('request', function (request) { 
     console.log('request', request); 
}); 
monitoring.on('http', function (http) { 
     console.log('http', http); 
}); 

au-dessus appmetrics capture les demandes de page seulement, mais pas tous api recevoir des appels de ce script

Répondre

0

« demande » dans appmetrics est pas réellement lié au module de demande, cela signifie quelque chose d'autre. Ajoutez monitoring.on('http-outbound', ...) pour enregistrer les appels HTTP sortants et assurez-vous de les avoir mis avant votre appel au request.get, par ex.

const appmetrics = require('appmetrics'); 
const monitoring = appmetrics.monitor(); 
const request = require('request'); 
const http = require("http"); 
const metrics = require('./index.js'); 


monitoring.on('http', function (http) { 
    console.log('http', http); 
}); 


monitoring.on('http-outbound', function (http) { 
    console.log('http-outbound', http); 
}); 

module.exports = http.createServer(function (request, response) { 

    response.writeHead(200, {'Content-Type': 'text/plain'}); 

    response.end('Hello World\n'); 
}).listen(8083); 

request 
    .get('https://jsonplaceholder.typicode.com/users') 
    .on('response', function(response) { 
    console.log(response.statusCode) // 200 
    console.log(response.headers['content-type']); 
    }) 

console.log('Server running at http://127.0.0.1:3000/');