Topik ini menjelaskan cara melaporkan data aplikasi Node.js ke Analisis Tracing.
Prasyarat
Dependensi Jaeger telah ditambahkan ke paket proyek Node.js.
"dependencies": {
"jaeger-client": "^3.12.0"
}Informasi latar belakang
Prosedur
Atur parameter untuk inisialisasi.
CatatanGanti
<endpoint>dengan titik akhir wilayah tempat klien Anda berada. Anda dapat masuk ke Konsol Managed Service for OpenTelemetry dan melihat titik akhir di tab Access point information pada halaman . Untuk informasi lebih lanjut tentang cara mendapatkan titik akhir, lihat bagian "Prasyarat" dari topik ini.const initTracer = require("jaeger-client").initTracer; const config = { serviceName: 'node-service', sampler: { type: "const", param: 1 }, reporter: { collectorEndpoint: "<endpoint>" }, };Buat objek Tracer.
const tracer = initTracer(config);Buat rentang.
const span = tracer.startSpan("say-hello"); // Opsional. Atur satu atau lebih tag. span.setTag("tagKey-01", "tagValue-01"); // Opsional. Atur satu atau lebih log. span.log({event: "timestamp", value: Date.now()}); // Selesaikan rentang. span.finish();Masuk ke Konsol Analisis Tracing dan lihat jejak.
Kode sampel lengkap berdasarkan Express
const express = require("express");
const initTracer = require("jaeger-client").initTracer;
const app = express();
const config = {
serviceName: 'node-service',
sampler: {
type: "const",
param: 1
},
reporter: {
collectorEndpoint: "<endpoint>"
},
};
const tracer = initTracer(config);
app.all('*', function (req, res, next) {
req.span = tracer.startSpan("say-hello");
next();
});
app.get("/api", function (req, res) {
const span = req.span;
span.log({event: "timestamp", value: Date.now()});
req.span.finish();
res.send({code: 200, msg: "success"});
});
app.listen(3000, '127.0.0.1', function () {
console.log('start');
});