Skip to content

API reference

observability(options) creates a named metrics, events, signals, and traces stream.

Terminal window
import { observability } from "@layeron/modules"

Create a Layeron observability module.

Terminal window
observability(options: ObservabilityModuleOptions): ObservabilityModule

Sampling policy for a named observability stream.

FieldTypeDescription
successfloat64 | undefinedSampling rate for normal metric, event, signal, and trace records. Value must be from 0 to 1.
errorfloat64 | undefinedSampling rate for error records. Value must be from 0 to 1.

Capture switches for a named observability stream.

FieldTypeDescription
metricsboolean | undefinedCapture metric records.
eventsboolean | undefinedCapture event records.
signalsboolean | undefinedCapture signal records.
tracesboolean | undefinedCapture trace span records.
errorsboolean | undefinedCapture error records.

Options accepted by observability(options).

FieldTypeDescription
namestringStable observability stream name inside the Layeron app.
namespacestringPlatform namespace for the instance. Defaults to default.
samplingObservabilityModuleSamplingOptions | undefinedSampling policy for this stream.
redactionLayeron.Observability.RedactionPolicy | undefinedRedaction policy applied before attributes are emitted.
captureObservabilityModuleCaptureOptions | undefinedCapture switches for this stream.
sinkObservabilitySink | undefinedRuntime sink. The first supported sink is worker_logs.

Layeron observability module returned by observability(options).

FieldTypeDescription
name”observability”Module name.
configObservabilityModuleOptionsNormalized module configuration.
observabilityLayeron.Observability.ObservabilityConfig | undefinedEffective observability policy recorded on the module declaration.

Sink used by the observability module.

ValueDescription
worker_logsEmit structured observability records through Cloudflare Worker Logs.

Emit a metric point.

Terminal window
observabilityMetric(name: string, value: float64, attributes?: unknown): void

Increment a counter metric.

Terminal window
observabilityIncrement(name: string, value?: float64, attributes?: unknown): void

Emit a gauge metric.

Terminal window
observabilityGauge(name: string, value: float64, attributes?: unknown): void

Emit a histogram metric.

Terminal window
observabilityHistogram(name: string, value: float64, attributes?: unknown): void

Emit a signal point.

Terminal window
observabilitySignal(name: string, value: float64, attributes?: unknown): void

Emit an event record.

Terminal window
observabilityEvent(name: string, attributes?: unknown): void

Capture an error record.

Terminal window
observabilityCapture(error: unknown, attributes?: unknown): void

Measure callback duration and emit a timing metric.

Terminal window
observabilityTiming(name: string, callback: unknown, attributes?: unknown): unknown

Measure callback duration and emit a span record.

Terminal window
observabilitySpan(name: string, callback: unknown, attributes?: unknown): unknown