AuroraMeter.Store (Aurora Meter v0.1.0)

View Source

Owns the ETS tables that back real-time metering.

This process does nothing on the hot path — it merely creates and owns two public, named ETS tables so that writers (AuroraMeter.Counter) and readers hit ETS directly without a GenServer bottleneck:

  • :aurora_meter_counters{tenant_key, feature, period_start} => value
  • :aurora_meter_dirty — the set of counter keys changed since the last flush

If this process crashes the tables are lost; its supervisor restarts it and the tables are recreated (counter state rehydrates lazily from the database).

Summary

Functions

Returns a specification to start this module under a supervisor.

The ETS table holding counter values.

The ETS table holding the dirty-key set.

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

counters_table()

@spec counters_table() :: atom()

The ETS table holding counter values.

dirty_table()

@spec dirty_table() :: atom()

The ETS table holding the dirty-key set.