summaryrefslogtreecommitdiff
path: root/internal/streamrow
diff options
context:
space:
mode:
Diffstat (limited to 'internal/streamrow')
-rw-r--r--internal/streamrow/row.go33
-rw-r--r--internal/streamrow/row_test.go4
2 files changed, 22 insertions, 15 deletions
diff --git a/internal/streamrow/row.go b/internal/streamrow/row.go
index 5bccb61..7497583 100644
--- a/internal/streamrow/row.go
+++ b/internal/streamrow/row.go
@@ -23,9 +23,11 @@ type Row struct {
DurationNs uint64
GapNs uint64
Bytes uint64
- RetVal int64
- IsError bool
- FD int32
+ // AddressSpaceBytes tracks memory-region extent for memory-management syscalls.
+ AddressSpaceBytes uint64
+ RetVal int64
+ IsError bool
+ FD int32
}
func (r Row) SyscallValue() string {
@@ -99,18 +101,19 @@ func (s *Sequencer) Next() uint64 {
// New converts one syscall pair into the shared row model.
func New(seq uint64, pair *event.Pair) Row {
row := Row{
- Seq: seq,
- TimeNs: pair.EnterEv.GetTime(),
- Syscall: pair.EnterEv.GetTraceId().Name(),
- Family: string(pair.EnterEv.GetTraceId().Family()),
- Comm: pair.Comm,
- PID: pair.EnterEv.GetPid(),
- TID: pair.EnterEv.GetTid(),
- FileName: pair.FileName(),
- DurationNs: pair.Duration,
- GapNs: pair.DurationToPrev,
- Bytes: pair.Bytes,
- FD: UnknownFD,
+ Seq: seq,
+ TimeNs: pair.EnterEv.GetTime(),
+ Syscall: pair.EnterEv.GetTraceId().Name(),
+ Family: string(pair.EnterEv.GetTraceId().Family()),
+ Comm: pair.Comm,
+ PID: pair.EnterEv.GetPid(),
+ TID: pair.EnterEv.GetTid(),
+ FileName: pair.FileName(),
+ DurationNs: pair.Duration,
+ GapNs: pair.DurationToPrev,
+ Bytes: pair.Bytes,
+ AddressSpaceBytes: pair.AddressSpaceBytes,
+ FD: UnknownFD,
}
if fd, ok := pair.FileDescriptor(); ok {
row.FD = fd
diff --git a/internal/streamrow/row_test.go b/internal/streamrow/row_test.go
index b239969..7573f43 100644
--- a/internal/streamrow/row_test.go
+++ b/internal/streamrow/row_test.go
@@ -61,6 +61,7 @@ func TestNewPopulatesFieldsFromPair(t *testing.T) {
pair.Duration = 66
pair.DurationToPrev = 19
pair.Bytes = 512
+ pair.AddressSpaceBytes = 2048
got := New(9, pair)
if got.Seq != 9 || got.TimeNs != 1234 {
@@ -78,6 +79,9 @@ func TestNewPopulatesFieldsFromPair(t *testing.T) {
if got.DurationNs != 66 || got.GapNs != 19 || got.Bytes != 512 {
t.Fatalf("DurationNs/GapNs/Bytes = %d/%d/%d, want 66/19/512", got.DurationNs, got.GapNs, got.Bytes)
}
+ if got.AddressSpaceBytes != 2048 {
+ t.Fatalf("AddressSpaceBytes = %d, want 2048", got.AddressSpaceBytes)
+ }
if got.RetVal != -2 || !got.IsError {
t.Fatalf("RetVal/IsError = %d/%v, want -2/true", got.RetVal, got.IsError)
}