diff options
| author | Fumitoshi Ukai <fumitoshi.ukai@gmail.com> | 2015-06-25 00:10:52 +0900 |
|---|---|---|
| committer | Fumitoshi Ukai <fumitoshi.ukai@gmail.com> | 2015-06-25 11:37:49 +0900 |
| commit | 744bb2b8d146eaba4d073cf58e35a60903e06de8 (patch) | |
| tree | 15d5c79f4e62428b3c427d0ce15e0076a92139de /stats.go | |
| parent | 44ae8cfdc153dd1a209b16453d5dbaa8b4f199d7 (diff) | |
go gettable for github.com/google/kati
Diffstat (limited to 'stats.go')
| -rw-r--r-- | stats.go | 30 |
1 files changed, 25 insertions, 5 deletions
@@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package main +package kati import ( "fmt" @@ -39,6 +39,14 @@ const ( var traceEvent traceEventT +func TraceEventStart(f io.WriteCloser) { + traceEvent.start(f) +} + +func TraceEventStop() { + traceEvent.stop() +} + func (t *traceEventT) start(f io.WriteCloser) { t.f = f t.t0 = time.Now() @@ -65,7 +73,7 @@ func (t *traceEventT) begin(name string, v Value, tid int) event { var e event e.tid = tid e.t = time.Now() - if t.f != nil || katiEvalStatsFlag { + if t.f != nil || EvalStatsFlag { e.name = name e.v = v.String() } @@ -123,7 +131,7 @@ var stats = &statsT{ } func (s *statsT) add(name, v string, t time.Time) { - if !katiEvalStatsFlag { + if !EvalStatsFlag { return } d := time.Since(t) @@ -139,8 +147,8 @@ func (s *statsT) add(name, v string, t time.Time) { s.mu.Unlock() } -func dumpStats() { - if !katiEvalStatsFlag { +func DumpStats() { + if !EvalStatsFlag { return } var sv byTotalTime @@ -177,3 +185,15 @@ func (s *shellStatsT) add(d time.Duration) { s.count++ s.mu.Unlock() } + +func (s *shellStatsT) Duration() time.Duration { + s.mu.Lock() + defer s.mu.Unlock() + return s.duration +} + +func (s *shellStatsT) Count() int { + s.mu.Lock() + defer s.mu.Unlock() + return s.count +} |
