Facebook
From x, 2 Months ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 156
  1. import { Controller, Get } from '@nestjs/common';
  2. import {
  3.   Ctx,
  4.   EventPattern,
  5.   MessagePattern,
  6.   Payload,
  7.   RedisContext,
  8. } from '@nestjs/microservices';
  9. import { randomInt } from 'crypto';
  10. import { AppService } from './app.service';
  11. import {
  12.   trace,
  13.   Span,
  14.   propagation,
  15.   context,
  16.   createContextKey,
  17.   SpanContext,
  18. } from '@opentelemetry/api';
  19.  
  20. @Controller()
  21. export class AppController {
  22.   constructor(private readonly appService: AppService) {}
  23.  
  24.   @MessagePattern('test_message')
  25.   getMessage(payload: { data: any; spanCtx: SpanContext }) {
  26.     const { data } = payload;
  27.     const parentSpanCtx = payload.spanCtx;
  28.     console.log(parentSpanCtx);
  29.     const parentSpan = trace.setSpanContext(context.active(), parentSpanCtx);
  30.     const span2 = trace
  31.       .getTracer('user-serive')
  32.       .startSpan('childspan', {}, parentSpan);
  33.     console.log('MessagePattern', { data });
  34.     span2.end();
  35.     return 10;
  36.   }
  37.  
  38.   @EventPattern('test_event')
  39.   message(data: any) {
  40.     console.log('EventPattern', { data });
  41.     return 11;
  42.   }
  43. }
  44.