След запроса в Nest
Агент уже стоит, но в дашборде пусто, пока клиент не обратится к живому адресу: без реального HTTP обмена Nest не открывает корневой узел следа.
После подключения ObserveModule
и ObserveInstrument
каждый входящий запрос получает
свой след. Корневой узел несёт
метод и путь; под ним агент
сам собирает цепочку контроллера,
слоёв и провайдеров. Дополнительный
код на странице для этого
не нужен.
Покажем на примере постов:
import { Controller, Get } from '@nestjs/common';
import { PostService } from './post.service.js';
@Controller()
export class PostController {
constructor(private postService: PostService) {}
@Get('posts')
getPosts(): string {
return this.postService.getPosts();
}
}
Зарегистрируем контроллер и сервис в корневом модуле как обычно. После перезапуска обращение к списку по HTTP появится в Observe отдельным следом с длительностью и деревом вложенных шагов.
import { Module } from '@nestjs/common';
import { ObserveModule } from './observe.js';
import { PostController } from './post.controller.js';
import { PostService } from './post.service.js';
@Module({
imports: [
ObserveModule.forRoot({
appKey: process.env.OBSERVE_APP_KEY!,
appSecret: process.env.OBSERVE_APP_SECRET!,
serviceId: 'posts-api',
}),
],
controllers: [PostController],
providers: [PostService],
})
export class AppModule {}
Добавьте страницу списка
в WorkerController
и откройте её по HTTP,
чтобы в дашборде появился
след запроса.