DataDog overview
export interface Metric {
metricName: string;
value?: number;
extraTags?: Record<string, string> | string[];
}
Example
import { IO } from 'fp-ts/lib/IO'
import * as TO from 'fp-ts/lib/TaskOption'
import { pipe } from 'fp-ts/lib/function'
import * as DD from '../../src/DataDog'
// Imagine this function does some needed business logic
const main: IO<void> = () => undefined
// Add some DD metrics around main
const appName = 'foo'
const steps = [
DD.incrementMetric({ metricName: 'start', extraTags: { app_name: appName } }),
TO.fromIO(main),
DD.incrementMetric({ metricName: 'end', extraTags: { app_name: appName } }),
] as const
// Sequence into a real program
const program: TO.TaskOption<void> = pipe(steps, TO.sequenceSeqArray, TO.asUnit)
// Go
;(async () => await program())()
Added in v0.0.1
Table of contents
instances
DatadogLambdaJs
Signature
export declare const DatadogLambdaJs: TO.TaskOption<typeof
Added in v0.0.1
HotShots
Signature
export declare const HotShots: TO.TaskOption<typeof
Added in v0.0.1
model
Metric (interface)
Signature
export interface Metric {
metricName: string
value?: number
extraTags?: Record<string, string> | string[]
}
Added in v0.0.1
utils
incrementMetric
Signature
export declare const incrementMetric: (a: Metric) => TO.TaskOption<void>
Added in v0.0.1