### @aller/express-opentracing

This repo is to easier allow tracing on a unanimous way with express, + having access to a tracing-middleware for express with opentracing.

Usage;

#### Start global

```ts
import { startGlobalTracer } from '@aller/express-opentracing'

const { tracer, options } = startGlobalTracer()


// If you use @promster/express, this is a good place to add that middleware;
import { createMiddleware } from '@promster/express'

app.use(createMiddleware({ app, options }))
```

#### Add tracing-middleware

```ts
import { tracingMiddleware } from '@aller/express-opentracing'
[...]

app.use('/', tracingMiddleware({}: ITracingOptions), (_, _) => {
    [...]
})

[...]
```

Where with `ITracingOptions` you can define certain paths you would like to exclude from the traces with `.ignoreRoute` as a string-regex

#### Fetch-data with tracing

```ts
import { fetchWithTracing } from '@aller/express-opentracing'

const { body, headers } = await fetchWithTracing(
   {...}, req.span
)
```


#### Log data

```ts
import { log } from '@aller/express-opentracing'

[...]

log({
    span,
    event: 'EVENTNAME',
    description: 'DESCRIPTION',
    error?: Error
    phase: IPhase
})

[...]
```