Skip to content

Commit

Permalink
ref(measure): make measure pkg internal (#138)
Browse files Browse the repository at this point in the history
  • Loading branch information
plastikfan committed Aug 30, 2024
1 parent 609e2fe commit bfa2f94
Show file tree
Hide file tree
Showing 12 changed files with 78 additions and 71 deletions.
2 changes: 1 addition & 1 deletion builders.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ import (
"github.com/snivilised/traverse/core"
"github.com/snivilised/traverse/enums"
"github.com/snivilised/traverse/internal/kernel"
"github.com/snivilised/traverse/internal/measure"
"github.com/snivilised/traverse/internal/override"
"github.com/snivilised/traverse/internal/third/lo"
"github.com/snivilised/traverse/internal/types"
"github.com/snivilised/traverse/measure"
"github.com/snivilised/traverse/pref"
)

Expand Down
4 changes: 1 addition & 3 deletions core/core-defs.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ package core

import (
"time"

"github.com/snivilised/traverse/measure"
)

// 📦 pkg: core - contains universal definitions and handles user facing cross
Expand All @@ -28,7 +26,7 @@ type (

// TraverseResult
TraverseResult interface {
Metrics() measure.Reporter
Metrics() Reporter
Session() Session
Error() error
}
Expand Down
22 changes: 22 additions & 0 deletions core/measure.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package core

import (
"github.com/snivilised/traverse/enums"
)

type (
MetricValue = uint

// Metric represents query access to the metric. The client
// registering the metric should maintain it's mutate access
// to the metric so they can update it.
Metric interface {
Type() enums.Metric
Value() MetricValue
}

// Reporter represents query access to the metrics Supervisor
Reporter interface {
Count(enums.Metric) MetricValue
}
)
2 changes: 1 addition & 1 deletion internal/feat/refine/filter-plugin.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import (
"github.com/snivilised/traverse/core"
"github.com/snivilised/traverse/enums"
"github.com/snivilised/traverse/internal/kernel"
"github.com/snivilised/traverse/internal/measure"
"github.com/snivilised/traverse/internal/types"
"github.com/snivilised/traverse/measure"
"github.com/snivilised/traverse/pref"
)

Expand Down
2 changes: 1 addition & 1 deletion internal/feat/refine/sampler-scheme.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ import (

"github.com/snivilised/traverse/core"
"github.com/snivilised/traverse/enums"
"github.com/snivilised/traverse/internal/measure"
"github.com/snivilised/traverse/internal/third/lo"
"github.com/snivilised/traverse/internal/types"
"github.com/snivilised/traverse/measure"
"github.com/snivilised/traverse/nfs"
"github.com/snivilised/traverse/pref"
)
Expand Down
2 changes: 1 addition & 1 deletion internal/kernel/guardian.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import (
"github.com/snivilised/traverse/collections"
"github.com/snivilised/traverse/core"
"github.com/snivilised/traverse/enums"
"github.com/snivilised/traverse/internal/measure"
"github.com/snivilised/traverse/internal/third/lo"
"github.com/snivilised/traverse/internal/types"
"github.com/snivilised/traverse/measure"
)

type (
Expand Down
2 changes: 1 addition & 1 deletion internal/kernel/mediator.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import (
"github.com/snivilised/traverse/cycle"
"github.com/snivilised/traverse/enums"
"github.com/snivilised/traverse/internal/level"
"github.com/snivilised/traverse/internal/measure"
"github.com/snivilised/traverse/internal/types"
"github.com/snivilised/traverse/measure"
"github.com/snivilised/traverse/pref"
)

Expand Down
43 changes: 43 additions & 0 deletions internal/measure/measure-defs.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package measure

import (
"github.com/snivilised/traverse/core"
"github.com/snivilised/traverse/enums"
)

// 📦 pkg: measure - defines facilities for counting things
// represented by metrics.

type (
// MutableMetric represents write access to the metric
MutableMetric interface {
core.Metric
Tick() core.MetricValue
Times(increment uint) core.MetricValue
}

BaseMetric struct {
t enums.Metric
counter core.MetricValue
}
)

func (m *BaseMetric) Type() enums.Metric {
return m.t
}

func (m *BaseMetric) Value() core.MetricValue {
return m.counter
}

func (m *BaseMetric) Tick() core.MetricValue {
m.counter++

return m.counter
}

func (m *BaseMetric) Times(increment uint) core.MetricValue {
m.counter += increment

return m.counter
}
5 changes: 3 additions & 2 deletions measure/supervisor.go → internal/measure/supervisor.go
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
package measure

import (
"github.com/snivilised/traverse/core"
"github.com/snivilised/traverse/enums"
)

type (
Metrics map[enums.Metric]Metric
Metrics map[enums.Metric]core.Metric
MutableMetrics map[enums.Metric]MutableMetric

Supervisor struct {
Expand Down Expand Up @@ -46,7 +47,7 @@ func (s *Supervisor) Many(metrics ...enums.Metric) MutableMetrics {
return result
}

func (s *Supervisor) Count(mt enums.Metric) MetricValue {
func (s *Supervisor) Count(mt enums.Metric) core.MetricValue {
if metric, exists := s.metrics[mt]; exists {
return metric.Value()
}
Expand Down
2 changes: 1 addition & 1 deletion internal/override/actions.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package override

import (
"github.com/snivilised/traverse/core"
"github.com/snivilised/traverse/measure"
"github.com/snivilised/traverse/internal/measure"
"github.com/snivilised/traverse/tapable"
)

Expand Down
6 changes: 3 additions & 3 deletions internal/types/definitions.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import (

"github.com/snivilised/traverse/core"
"github.com/snivilised/traverse/enums"
"github.com/snivilised/traverse/internal/measure"
"github.com/snivilised/traverse/internal/override"
"github.com/snivilised/traverse/measure"
"github.com/snivilised/traverse/nfs"
"github.com/snivilised/traverse/pref"
)
Expand Down Expand Up @@ -108,7 +108,7 @@ type (
// KernelResult is the internal representation of core.TraverseResult
type KernelResult struct {
session core.Session
reporter measure.Reporter
reporter core.Reporter
complete bool
err error
}
Expand Down Expand Up @@ -140,7 +140,7 @@ func (r *KernelResult) Session() core.Session {
return r.session
}

func (r *KernelResult) Metrics() measure.Reporter {
func (r *KernelResult) Metrics() core.Reporter {
return r.reporter
}

Expand Down
57 changes: 0 additions & 57 deletions measure/measure-defs.go

This file was deleted.

0 comments on commit bfa2f94

Please sign in to comment.