1.0.0-rc.24 • Published 2 months ago

@exobase/use-lambda-tracer v1.0.0-rc.24

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

title: 'useLambdaTracer' description: 'A hook to capture AWS Lambda tracing data'

group: 'Hooks'

Provides an Exobase hook that will capture tracing data in an AWS Lambda function.

Install

yarn add @exobase/use-lambda-tracer
# or
yarn add @exobase/hooks

Import

import { useLambdaTracer } from '@exobase/use-lambda-tracer'
// or
import { useLambdaTracer } from '@exobase/hooks'

Usage

import type { Props } from '@exobase/core'
import exo from '@exobase/core'
import { useLambda } from '@exobase/use-lambda'
import { useLambdaTracer } from '@exobase/use-lambda-tracer'

export default exo()
  .root(useLambda())
  .hook(useLambdaTracer())
  .endpoint(async () => {
    return { message: 'traced' }
  })

If you want to customize the tracer instance you can provide your own Tracer in the hook options.

import type { Props } from '@exobase/core'
import exo from '@exobase/core'
import { useLambda } from '@exobase/use-lambda'
import { useLambdaTracer } from '@exobase/use-lambda-tracer'

export default exo()
  .root(useLambda())
  .hook(
    useLambdaTracer({
      tracer: () => new Tracer({ serviceName: 'warehouse' }),
      tracer: async props => new Tracer({ serviceName: 'warehouse' }),
      tracer: new Tracer()
    })
  )
  .endpoint(async () => {
    return { message: 'traced' }
  })

If you do use your own tracer this is a good time to compose hooks so you don't need to repeat your tracer setup.

// hooks/useLambdaTracer.ts
import * as exo from '@exobase/use-lambda-tracer'

const useLambdaTracer = () =>
  exo.useLambdaTracer({
    tracer: new Tracer({ serviceName: 'api' })
  })

then, in all your endpoints import and use your own hook

import { useLambdaTracer } from './hooks/useLambdaTracer'

// ...

export default compose(
  useLambda(),
  useLambdaTracer()
  // ...
)
1.0.0-rc.24

2 months ago

1.0.0-rc.23

2 months ago

1.0.0-rc.22

2 months ago

1.0.0-rc.21

2 months ago

1.0.0-rc.19

1 year ago

1.0.0-rc.17

1 year ago

1.0.0-rc.16

1 year ago

1.0.0-rc.18

1 year ago

1.0.0-rc.15

1 year ago

1.0.0-rc.14

1 year ago

1.0.0-rc.9

1 year ago

1.0.0-rc.8

1 year ago

1.0.0-rc.13

1 year ago

1.0.0-rc.12

1 year ago

1.0.0-rc.11

1 year ago

1.0.0-rc.10

1 year ago

1.0.0-rc.7

1 year ago

1.0.0-rc.6

1 year ago

1.0.0-rc.5

1 year ago

1.0.0-rc.4

1 year ago

1.0.0-rc.3

1 year ago

1.0.0-rc.2

1 year ago