It's better than bad, it's good!
its-log is a tiny event logger.
On a Mac M4, its-log can sustain logging 30K events/second to a local SQLite database.
Events are app-specific, keyed, valueless moments in time.
- moment in time: an event has a timestamp
- app-specific: each app provides a unique ID to distinguish it from other apps using an its-log instance (e.g.
gov.agency.app) - keyed: a key or label tells us what the event was: "v3.api"
- valueless: no value (e.g.
42) is associated with a key; there are keys but not values.
There are two is one endpoint in the its-log API:
- PUT /event/<app-id>/<event>
Log a timestamped event
These are described in the API docs.
To run the test suite (which is small, but exercises the API and process network supporting it)
make test
In order to run performance checks
make serve
to run the logger locally. Once it is running, performance K6 load tests can be run against the server with
make k6