前提条件
完成vpce接入。
接入步骤
1.引入相关依赖。
2.查看接入点信息。
应用列表的接入指引会根据您所在资源池提供“通过 HTTP 上报数据”和“通过 gRPC 上报数据”的ENDPOINT(天翼云vpc网络接入点)、鉴权TOKEN信息。
3.server 端上报示例。
- 请将url和token替换成第2步中获取的接入点信息。
编写以下 server 端代码,保存为 nodejs-demo-server-jaeger.js 文件
// nodejs-demo-server-jaeger.js
const initTracer = require('jaeger-client').initTracer
const config = {
serviceName: 'nodejs-demo-server-jaeger',
sampler: {
type: 'const',
param: 1,
},
reporter: {
logSpans: true,
collectorEndpoint: '<url>',
username: 'apm',
password: '<token>',
},
}
const tracer = initTracer(config)
const express = require('express')
const app = express()
const port = 3000
const { opentracing } = require('jaeger-client')
app.all('*', (req, res, next) => {
req.span = tracer.startSpan('http_server', {
tags: {
[opentracing.Tags.HTTP_METHOD]: req.method,
[opentracing.Tags.HTTP_URL]: req.url,
[opentracing.Tags.SPAN_KIND]: opentracing.Tags.SPAN_KIND_RPC_SERVER,
},
})
next()
})
app.get('/', (req, res) => {
console.log('received request')
const span = req.span
span.log({
event: 'timestamp',
value: Date.now(),
})
span.finish()
res.send('Hello World!')
})
app.listen(port, () => {
console.log(`server running at http://localhost:${port}`)
})
运行 server 端代码。
4.client端上报示例。
编写以下 client 端代码,保存为 nodejs-demo-client-jaeger.js 文件
// nodejs-demo-client-jaeger.js
import('node-fetch').then(async ({ default: fetch }) => {
const response = await fetch('http://localhost:3000/')
const data = await response.text()
console.log(data)
})
运行 client 端代码。
5.通过以上步骤即可在控制台查看接入的Node.js应用。