Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
89a39ed
Initial PoC
DylanTinianov Mar 19, 2026
cc10b6d
Create durable_emitter_integration_test.go
DylanTinianov Mar 23, 2026
6da9ad1
Update DurableEmitterDesign.md
DylanTinianov Mar 23, 2026
a268cb0
Update doc with tests
DylanTinianov Mar 23, 2026
ae0b37b
Add hooks
DylanTinianov Mar 25, 2026
f588de9
Update durable_emitter.go
DylanTinianov Mar 25, 2026
d922048
Add metrics
DylanTinianov Mar 25, 2026
6f9c5dd
Single publish
DylanTinianov Mar 25, 2026
1fd13ea
Add beholder schema?
DylanTinianov Mar 25, 2026
48810bc
Log publish details
DylanTinianov Mar 25, 2026
b787de2
Add logs
DylanTinianov Mar 25, 2026
df410b6
Add Persist Sources
DylanTinianov Mar 25, 2026
ac29275
Update durable_emitter.go
DylanTinianov Mar 25, 2026
61a31c1
mute logging
DylanTinianov Mar 31, 2026
657342c
Update durable_emitter.go
DylanTinianov Mar 31, 2026
d18962e
Update durable_emitter.go
DylanTinianov Mar 31, 2026
7678416
Background delete from event store
DylanTinianov Apr 1, 2026
734fe94
Add metrics
DylanTinianov Apr 2, 2026
5b9f938
Add publish workers
DylanTinianov Apr 9, 2026
9d87637
Revert
DylanTinianov Apr 9, 2026
e5477bc
Add counter
DylanTinianov Apr 9, 2026
ed355a2
Match Metrics + Production Rate
DylanTinianov Apr 10, 2026
f569c89
Async mark delivered
DylanTinianov Apr 10, 2026
27cac71
Update
DylanTinianov Apr 13, 2026
983fc87
Batching
DylanTinianov Apr 13, 2026
1be34c0
Use publish workers for re-transmit
DylanTinianov Apr 15, 2026
c3a4edc
Payload optimization
DylanTinianov Apr 15, 2026
e27e4b6
Batch insert
DylanTinianov Apr 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
416 changes: 416 additions & 0 deletions pkg/beholder/DurableEmitterDesign.md

Large diffs are not rendered by default.

1,277 changes: 1,277 additions & 0 deletions pkg/beholder/durable_emitter.go

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions pkg/beholder/durable_emitter_cpu_other.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
//go:build !unix

package beholder

import "context"

func (m *durableEmitterMetrics) recordProcessCPU(ctx context.Context) {
_ = ctx
}
22 changes: 22 additions & 0 deletions pkg/beholder/durable_emitter_cpu_unix.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
//go:build unix

package beholder

import (
"context"
"syscall"
)

func (m *durableEmitterMetrics) recordProcessCPU(ctx context.Context) {
if m == nil {
return
}
var r syscall.Rusage
if err := syscall.Getrusage(syscall.RUSAGE_SELF, &r); err != nil {
return
}
u := float64(r.Utime.Sec) + float64(r.Utime.Usec)/1e6
s := float64(r.Stime.Sec) + float64(r.Stime.Usec)/1e6
m.procCPUUser.Record(ctx, u)
m.procCPUSys.Record(ctx, s)
}
Loading
Loading