Package-level declarations

Types

Link copied to clipboard

One of Wow's metrics, which registers its meters: name, type and description, and its tags in the order their values are given. values holds the closed value set of each tag whose values the framework names (an outcome, a kind, a reason); any other tag takes the application's names (a context, an aggregate type, a subscription, a store, a problem code).

Link copied to clipboard

The kind of meter a MetricSpec registers.

Link copied to clipboard
class NodeMetrics(node: ServiceNode, meters: MeterRegistry, sampler: NodeSampler)

The gauges of a node that are read, not heard, set in meters from each of the node's samples (sampler):

Link copied to clipboard
class OtelObserver(openTelemetry: OpenTelemetry, meters: MeterRegistry, clock: () -> Long = System::currentTimeMillis, messagingSystem: String = MEMORY_SYSTEM) : Observer

The core's Observer on OpenTelemetry and Micrometer: a span for each stage the core observes, in the trace its work belongs to, and the stage's metrics in meters.

Link copied to clipboard
class OtelQueryObserver(openTelemetry: OpenTelemetry, meters: MeterRegistry) : QueryObserver

Observes every query a gateway runs: a span query <context>.<aggregate> with its query type, the child of the span the query is asked in, and its time in the WowMetrics.QUERY_DURATION timer of meters, tagged with how it ended: ok, cached, error or cancelled. A query of a dataset is tagged with the dataset (WowMetrics.DATASET) instead of an aggregate type, and timed in WowMetrics.DATASET_QUERY_DURATION.

Link copied to clipboard
class ParkedMetrics(meters: MeterRegistry) : ParkedNotifier

Counts what the node's subscriptions park: each ParkedNotice in the WowMetrics.PARKED_NOTICES counter of meters, by group, subscription and kind (parked, an entry parked; exhausted, one whose automatic retries are spent). How many are parked now is NodeMetrics's gauge.

Link copied to clipboard

The query bulkheads' meters, read live: WowMetrics.QUERY_LIMIT_CURRENT of every bulkhead, and, of those whose limit adapts, WowMetrics.QUERY_PRESSURE and WowMetrics.QUERY_LIMIT_DECREASES; each tagged with its store.

Link copied to clipboard
class TracingTopicProducer(val delegate: TopicProducer, openTelemetry: OpenTelemetry, messagingSystem: String = OtelObserver.MEMORY_SYSTEM) : TopicProducer, AutoCloseable

A TopicProducer that sends through delegate in a span of its own, send <topic> of kind PRODUCER, the child of the span the sender runs in: a Kafka produce, its messaging.system messagingSystem. The span ends with its wow.outcome, and error.type after a failure. The messages themselves carry the sender's trace already (me.ahoo.wow.spi.log.Transport.trace), so their consumers continue the sender's trace, beside this span.

Link copied to clipboard

The catalog of Wow's Micrometer metrics, each a MetricSpec that registers it, in OpenTelemetry's form: