{"id":36579403,"url":"https://github.com/a-pankif/eventstorage","last_synced_at":"2026-03-10T09:44:53.100Z","repository":{"id":39949036,"uuid":"489711448","full_name":"a-pankif/eventstorage","owner":"a-pankif","description":"Eventstorage - this is an event logger with high-speed recording and event reading capability for golang applications. Supports log rotation.","archived":false,"fork":false,"pushed_at":"2022-06-25T11:55:02.000Z","size":42,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-15T07:30:18.799Z","etag":null,"topics":["eventlog","eventlogger","exchange","go","golang","golang-library","logger","logrotate","readlog"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/a-pankif.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-05-07T15:28:56.000Z","updated_at":"2023-04-11T20:01:22.000Z","dependencies_parsed_at":"2022-09-08T10:01:24.786Z","dependency_job_id":null,"html_url":"https://github.com/a-pankif/eventstorage","commit_stats":null,"previous_names":["pankif/eventstorage","pankif/binarylog"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/a-pankif/eventstorage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-pankif%2Feventstorage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-pankif%2Feventstorage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-pankif%2Feventstorage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-pankif%2Feventstorage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/a-pankif","download_url":"https://codeload.github.com/a-pankif/eventstorage/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-pankif%2Feventstorage/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30329063,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T05:25:20.737Z","status":"ssl_error","status_checked_at":"2026-03-10T05:25:17.430Z","response_time":106,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["eventlog","eventlogger","exchange","go","golang","golang-library","logger","logrotate","readlog"],"created_at":"2026-01-12T07:42:26.839Z","updated_at":"2026-03-10T09:44:53.090Z","avatar_url":"https://github.com/a-pankif.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Eventstorage\n\n![build](https://github.com/pankif/eventstorage/actions/workflows/go.yml/badge.svg?branch=main)\n[![Go Report Card](https://goreportcard.com/badge/github.com/pankif/eventstorage)](https://goreportcard.com/report/github.com/pankif/eventstorage)\n[![MIT license](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/pankif/eventstorage/blob/main/LICENSE)\n\nEventstorage - this is an event logger with high-speed recording and event reading capability. Supports log rotation.\n\nWell suited for tasks where you need to make a lot of writes (tens of thousands per second) and sometimes read them\nfor transmission somewhere. For example, to exchange data between several applications, storages, clusters, etc.\n\n## Benchmarks\n\n```console\ncpu: Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz  \nBenchmarkWriteChar-16                        63323869       19.42 ns/op     4  B/op     0 allocs/op\nBenchmarkEventStorage_ReadChar-16              323152        3665 ns/op     24 B/op     1 allocs/op\nBenchmarkEventStorage_CharReadTo-16            331111        3637 ns/op      8 B/op     1 allocs/op\nBenchmarkEventStorage_CharReadToOffset10000-16  43273       27300 ns/op      8 B/op     1 allocs/op\n````\n\n## Installation\n```\ngo get -u github.com/pankif/eventstorage\n```\n\n## Examples\n\n```go\npackage main\n\nimport (\n    \"fmt\"\n    \"time\"\n    \"github.com/pankif/eventstorage\"\n)\n\nfunc main()  {\n    storage, err := eventstorage.New(\"./\")\n    defer storage.Shutdown()\n\t\n    if err != nil {\n        fmt.Println(err)\n        return\n    }\n\t\n    storage.SetWriteFileMaxSize(10 * eventstorage.MB)\n    storage.SetAutoFlushCount(1)\n    _ = storage.SetAutoFlushTime(60 * time.Millisecond)\n\n    _, _ = storage.Write([]byte(\"some data to write\"))\n\n    fmt.Println(storage.Read(1, 0)) \n}\n```\nMore examples you can find into [here](https://github.com/pankif/eventstorage/tree/main/examples).\n\n## Tests\n- Coverage percent `go test ./... -coverprofile=coverage.out \u0026\u0026 go tool cover -func=coverage.out`\n- Coverage map `go test ./ -coverprofile c.out \u0026\u0026 go tool cover -html=c.out`\n- `go test -bench=. --benchmem`\n- `go test -bench=BenchmarkWriteChar -benchmem -cpuprofile profile.out`\n- `go test -bench=BenchmarkWriteChar -benchmem -memprofile profile.out`\n- `go tool pprof profile.out`\n\n```console\ngithub.com/pankif/eventstorage  0.162s  coverage: 95.0% of statements\n````","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa-pankif%2Feventstorage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fa-pankif%2Feventstorage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa-pankif%2Feventstorage/lists"}