Telemetry

Telemetry

OpenTelemetry

Estoria components can be instrumented with OpenTelemetry to provide tracing and metrics. The estoria-contrib repository provides OTEL wrappers for event stores, aggregate stores, and snapshot stores. A complete runnable example can be found in estoria-examples.

import (
    otelaggregatestore "github.com/go-estoria/estoria-contrib/opentelemetry/aggregatestore"
    oteleventstore "github.com/go-estoria/estoria-contrib/opentelemetry/eventstore"
    otelsnapshotstore "github.com/go-estoria/estoria-contrib/opentelemetry/snapshotstore"
)

// instrument an event store
eventStore, _err_ = oteleventstore.NewInstrumentedStore(eventStore)

// instrument an aggregate store
aggregateStore, _err_ = otelaggregatestore.NewInstrumentedStore(aggregateStore)

// instrument a snapshot store
snapshotStore, _err_ = otelsnapshotstore.NewInstrumentedStore(snapshotStore)

Other Telemetry Providers

Telemetry ProviderDriverComponents SupportedDetails
DataDoghttps://github.com/DataDog/dd-trace-goEvent Store, Aggregate Store, Snapshot StoreUses DataDog APM for tracing and metrics.