barrel_metrics (barrel_docdb v1.0.0)

View Source

OpenTelemetry metrics for barrel_docdb

Provides metrics for monitoring: - Document operations (put, get, delete) - Query performance - Replication status and throughput - Storage utilization - HTTP request latencies - Peer connectivity

Metrics are exposed via the '/metrics' HTTP endpoint in Prometheus text format for scraping.

Summary

Functions

Export all metrics in Prometheus text format

Export all metrics as a binary string

Increment document operation counter

Increment query operation counter

Increment the query timeout counter (pipeline/pool deadline exceeded).

Increment replicated document counter

Increment replication error counter

Record document operation latency

Record query result count

Set database attachment count

Set database document count

Set database size in bytes

Set replication active status

Set replication lag

Setup all metrics - call this during application startup

Functions

export()

-spec export() -> binary().

Export all metrics in Prometheus text format

export_text()

-spec export_text() -> binary().

Export all metrics as a binary string

handle_call(Request, From, State)

handle_cast(Msg, State)

handle_info(Info, State)

inc_doc_ops(Db, Op)

-spec inc_doc_ops(binary(), atom()) -> ok.

Increment document operation counter

inc_doc_ops(Db, Op, Count)

-spec inc_doc_ops(binary(), atom(), pos_integer()) -> ok.

inc_query_ops(Db)

-spec inc_query_ops(binary()) -> ok.

Increment query operation counter

inc_query_timeouts()

-spec inc_query_timeouts() -> ok.

Increment the query timeout counter (pipeline/pool deadline exceeded).

inc_rep_docs(Direction, Count)

-spec inc_rep_docs(push | pull, pos_integer()) -> ok.

Increment replicated document counter

inc_rep_errors(TaskId)

-spec inc_rep_errors(binary()) -> ok.

Increment replication error counter

init(_)

observe_doc_latency(Db, Op, DurationMs)

-spec observe_doc_latency(binary(), atom(), number()) -> ok.

Record document operation latency

observe_query_latency(Db, DurationMs)

-spec observe_query_latency(binary(), number()) -> ok.

Record query latency

observe_query_results(Db, Count)

-spec observe_query_results(binary(), non_neg_integer()) -> ok.

Record query result count

set_db_attachments(Db, Count)

-spec set_db_attachments(binary(), non_neg_integer()) -> ok.

Set database attachment count

set_db_docs(Db, Count)

-spec set_db_docs(binary(), non_neg_integer()) -> ok.

Set database document count

set_db_size(Db, SizeBytes)

-spec set_db_size(binary(), non_neg_integer()) -> ok.

Set database size in bytes

set_rep_active(TaskId, Active)

-spec set_rep_active(binary(), boolean()) -> ok.

Set replication active status

set_rep_lag(TaskId, LagSeconds)

-spec set_rep_lag(binary(), number()) -> ok.

Set replication lag

setup()

Setup all metrics - call this during application startup

start_link()

terminate(Reason, State)