41.0.1 • Published 9 months ago

@mwcp/otel v41.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

@mwcp/otel

Open Telemetry Component for Midway.js

GitHub tag Version License npm.io ci codecov Conventional Commits lerna

Note

ESM build only, requires @midwayjs >= 3.12 and set "type": "module" in packages.json

安装依赖

npm i @mwcp/otel

更新配置

Update project src/configuration.ts

import { Configuration } from '@midwayjs/decorator'
import * as koa from '@midwayjs/koa'
import * as otel from '@mwcp/otel'

@Configuration({
  imports: [
    koa,
    otel,
  ],
  importConfigs: [join(__dirname, 'config')],
})
export class ContainerConfiguration implements ILifeCycle {
}

使用

使用 Jaeger 容器快速启动一个 OTLPTraceExporter 服务:

docker run -d --name jaeger \
  -e COLLECTOR_OTLP_ENABLED=true \
  -p 4317:4317 \
  -p 4318:4318 \
  -p 5778:5778 \
  -p 6831:6831/udp \
  -p 6832:6832/udp \
  -p 16686:16686 \
  jaegertracing/all-in-one:latest

启动项目:

export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
npm start

Jaeger Web UI address:

http://localhost:16686/

Trace 装饰器

import { Trace } from '@mwcp/otel'

@Controller('/')
export class FooController {

  @Inject() readonly svc: FooService

  /* span name will be `{class name}/{method name}` => "FooController/hello" */
  @Trace()
  async hello(): Promise<string> {
    return 'hello'
  }

  /* span name will be "hello" */
  @Trace('hello')
  async world(): Promise<string> {
    return 'world'
  }

  @Trace({
    spanName: 'hello'
  })
  async world2(): Promise<string> {
    return 'world'
  }
}

TraceInit 装饰器

// src/configuration.ts
import { TraceInit } from '@mwcp/otel'

export class AutoConfiguration implements ILifeCycle {
  @TraceInit({ namespace: 'Foo' })
  async onReady(container: IMidwayContainer): Promise<void> {
    // some code
  }
}

装饰器泛型参数

从泛型参数自动获取方法调用参数类型

@Controller('/')
export class FooController {

  @Inject() readonly svc: FooService

  hello(): string {
    // spanName should be 'foo-124-abc'
    const msg = this.svc.concat(123, 'abc')
    return msg
  }
}

@Provide()
export class FooService {
  @Trace<FooService['concat']>({
    spanName: ([v1, v2]) => `foo-${v1 + 1}-${v2}`,
  })
  concat(v1: number, v2: string): string {
    return `${v1.toString()}-${v2}`
  }

  @Trace<FooService['concat2']>({
    spanName: (args) => `foo-${args[0] + 1}-${args[1]}`,
  })
  concat2(v1: number, v2: string): string {
    return `${v1.toString()}-${v2}`
  }
}

License

MIT

Languages

39.3.0

12 months ago

39.2.0

12 months ago

40.0.0

12 months ago

41.0.1

9 months ago

41.0.0

11 months ago

40.1.0

12 months ago

40.1.1

12 months ago

38.4.0

1 year ago

39.1.2

1 year ago

39.1.1

1 year ago

39.1.0

1 year ago

39.0.2

1 year ago

39.0.1

1 year ago

39.0.0

1 year ago

38.3.0

1 year ago

38.2.3

1 year ago

38.2.2

1 year ago

38.0.0

1 year ago

38.1.0

1 year ago

38.2.1

1 year ago

38.2.0

1 year ago

37.4.1

1 year ago

37.4.0

1 year ago

37.2.2

1 year ago

37.2.3

1 year ago

37.2.4

1 year ago

37.3.0

1 year ago

37.2.1

1 year ago

30.16.0

1 year ago

30.16.1

1 year ago

36.0.0

1 year ago

35.2.0

1 year ago

35.2.1

1 year ago

30.3.0

1 year ago

29.2.0

1 year ago

36.1.2

1 year ago

36.1.3

1 year ago

36.1.0

1 year ago

30.15.1

1 year ago

36.1.1

1 year ago

30.15.2

1 year ago

30.15.0

1 year ago

28.2.0

1 year ago

31.0.0

1 year ago

30.2.0

1 year ago

29.3.0

1 year ago

29.3.1

1 year ago

30.18.0

1 year ago

30.10.0

1 year ago

30.10.1

1 year ago

30.10.2

1 year ago

30.9.0

1 year ago

30.9.1

1 year ago

30.1.0

1 year ago

30.1.1

1 year ago

30.21.0

1 year ago

37.0.0

1 year ago

29.0.1

1 year ago

29.0.0

1 year ago

30.17.1

1 year ago

30.17.0

1 year ago

30.8.0

1 year ago

30.0.0

1 year ago

34.0.1

1 year ago

34.0.0

1 year ago

30.20.0

1 year ago

37.1.0

1 year ago

29.1.0

1 year ago

30.12.0

1 year ago

30.12.1

1 year ago

30.7.2

1 year ago

30.7.0

1 year ago

30.7.1

1 year ago

37.2.0

1 year ago

30.19.0

1 year ago

30.11.0

1 year ago

30.11.1

1 year ago

30.11.2

1 year ago

30.6.1

1 year ago

30.6.0

1 year ago

27.0.1

1 year ago

33.0.0

1 year ago

28.1.0

1 year ago

30.14.0

1 year ago

28.1.1

1 year ago

30.5.0

1 year ago

35.0.0

1 year ago

35.0.1

1 year ago

32.0.0

1 year ago

28.0.0

1 year ago

30.13.0

1 year ago

30.4.0

1 year ago

35.1.0

1 year ago

27.0.0

1 year ago

26.5.3

1 year ago

26.5.2

1 year ago

26.5.1

2 years ago

26.3.2

2 years ago

26.5.0

2 years ago

26.4.0

2 years ago

26.3.1

2 years ago

26.3.0

2 years ago

26.2.0

2 years ago

26.1.0

2 years ago

26.0.2

2 years ago

26.0.0

2 years ago

25.2.3

2 years ago

25.1.0

2 years ago

25.2.0

2 years ago

25.2.2

2 years ago

25.2.1

2 years ago

25.0.2

2 years ago

25.0.1

2 years ago

25.0.0

2 years ago

24.2.3

2 years ago

24.2.4

2 years ago

24.2.2

2 years ago

24.2.1

2 years ago

24.2.0

2 years ago

24.1.0

2 years ago

23.1.0

2 years ago

24.0.0

2 years ago

23.0.0

2 years ago

22.1.2

2 years ago

22.1.0

2 years ago

20.11.0

2 years ago

21.0.0

2 years ago

22.0.1

2 years ago

22.0.0

2 years ago

20.12.0

2 years ago

20.10.0

2 years ago

20.10.1

2 years ago

20.9.0

2 years ago

20.6.0

2 years ago

20.3.0

2 years ago

20.7.0

2 years ago

20.8.0

2 years ago

20.5.0

2 years ago

20.0.0

2 years ago

19.0.0

2 years ago

19.0.3

2 years ago

10.11.0

2 years ago

15.0.0

2 years ago

10.12.0

2 years ago

19.2.1

2 years ago

19.2.0

2 years ago

10.13.3

2 years ago

10.13.4

2 years ago

10.13.1

2 years ago

10.13.2

2 years ago

10.13.0

2 years ago

10.13.5

2 years ago

19.1.0

2 years ago

19.1.1

2 years ago

10.8.0

2 years ago

10.7.0

2 years ago

10.6.1

2 years ago

10.9.0

2 years ago

10.9.1

2 years ago

10.9.2

2 years ago

10.9.3

2 years ago

10.9.4

2 years ago

10.10.2

2 years ago

10.10.0

2 years ago

10.10.1

2 years ago

10.6.0

3 years ago

5.1.0

3 years ago

10.0.0

3 years ago

10.0.1

3 years ago

10.2.0

3 years ago

10.0.2

3 years ago

7.3.0

3 years ago

7.1.2

3 years ago

7.1.1

3 years ago

7.1.0

3 years ago

10.5.0

3 years ago

5.2.1

3 years ago

5.2.0

3 years ago

5.0.0

3 years ago

6.0.0

3 years ago

10.1.0

3 years ago

10.3.0

3 years ago

7.0.0

3 years ago

7.4.0

3 years ago

7.0.3

3 years ago

7.2.0

3 years ago

7.0.2

3 years ago

7.0.1

3 years ago

8.0.1

3 years ago

8.0.0

3 years ago

9.0.1

3 years ago

9.0.0

3 years ago

4.0.7

3 years ago

4.1.3

3 years ago

4.1.0

3 years ago

4.1.2

3 years ago

4.1.1

3 years ago

3.17.0

3 years ago

3.17.1

3 years ago

4.0.5

3 years ago

4.0.4

3 years ago

4.0.6

3 years ago

4.0.1

3 years ago

4.0.0

3 years ago

4.0.3

3 years ago

4.0.2

3 years ago

3.16.7

3 years ago

3.16.6

3 years ago

3.16.3

3 years ago

3.16.5

3 years ago

3.16.4

3 years ago

3.15.0

3 years ago

3.14.0

3 years ago

3.16.1

3 years ago

3.16.0

3 years ago

3.9.0

3 years ago

3.8.8

3 years ago

3.16.2

3 years ago

3.11.0

3 years ago

3.10.1

3 years ago

3.10.0

3 years ago

3.13.0

3 years ago

3.11.2

3 years ago

3.12.0

3 years ago

3.11.1

3 years ago

3.8.7

3 years ago

3.8.6

3 years ago

3.8.5

3 years ago

3.8.4

3 years ago

3.8.3

3 years ago

3.8.2

3 years ago

3.8.1

3 years ago

3.8.0

3 years ago

3.7.0

3 years ago

3.6.0

3 years ago

3.5.0

3 years ago

3.4.1

3 years ago

3.4.0

3 years ago

3.3.0

3 years ago

3.2.5

3 years ago

3.2.4

3 years ago

3.2.3

3 years ago

3.2.2

3 years ago

3.2.1

3 years ago

3.2.0

3 years ago

3.1.0

3 years ago

3.0.0

3 years ago

2.1.1

3 years ago

2.0.0

3 years ago

1.3.0

3 years ago

1.2.0

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago