Skip to content

A user activity and events tracking engine built to be robust yet flexible

License

Notifications You must be signed in to change notification settings

nathanwdavis/histri

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

histri

histri is a Go (golang) library for capturing events and user activity, and efficiently storing them in PostgreSql.

PostgreSql is used as the data store because it is mature, has a large existing ecosystem of management and reporting tools and profressionals that know how to use it, and it has excellent support for storing and querying JSON data (which is handy for extended event metadata).

Golang is used because it is an excellent choice for writing fast, robust network servers and it is easy to write clean, testable code with.

The goal is for histri to eventually consist of:

  • The above mentioned library
  • A server daemon with a built-in HTTP service that event data can be POSTed to (the Capture service).
  • A command-line utility for managing and querying the event data (the Management CLI).
  • (Longer-term) Another HTTP service for generating reports, charts and data feeds (the Analytics service).

The Capture service is the first focus of attention for the project.

The goals for the Capture service are:

  • It should be able to efficiently capture many thousands of user activity events per second with a single daemon.
  • It should be lightweight enough that it is an option to run it on the same server as the PostgreSql database process.
  • It should optionally accept a timestamp (in UTC) for incoming events so that it can be used to backfill previously recorded events or accept data from a log replay.
  • It should accept extended event metadata without the need to preplan the schema for that extra data.

Please submit bugs to the Issues page for the project. I welcome contributed bug fixes. If you find a bug and want to contribute a fix, please first open an Issue, then proceed with a pull request.

About

A user activity and events tracking engine built to be robust yet flexible

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages