Я активировал Google Cloud Tracer с nodejs & express, хорошо работает в автоматическом режиме, правильно регистрирует вызовы API.
Я пытаюсь создать трассировку вручную, чтобы узнать время выполнения промежуточных шагов.
controller (req, res) {
tracer.runInRootSpan({ name: 'dnd-task' }, (rootSpan) => {
//promise
myPromise(rootSpan)
.then((data) => {
rootSpan.endSpan()
res.ok(data)
})
.catch((err)=>{
rootSpan.endSpan()
res.send(err)
})
})
}
, но в Google Cloud Trace перечисляются только 1 или 2 вызова, а автоматически сгенерированные вызовы показывают тысячи вызовов API.
Я также прочитал документацию, чтобы попытаться получить контекст экспресса.js middleware, но я не нашел способа получить контекст.
from: google-cloud-trace
Корневой диапазон запускается автоматическипри получении входящего запроса (другими словами, все промежуточное программное обеспечение уже выполняется в пределах корневого диапазона).
Обновление базы на @ kjin комментарий:
внутриконтроллер в экспрессе вам нужен только
tracer.createChildSpan({name: 'name'})