Skip to content
This repository was archived by the owner on Jul 31, 2023. It is now read-only.

Commit 785d899

Browse files
authored
Delete views from measure ref when unregistering (#1211)
1 parent cd9ae5c commit 785d899

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

stats/view/worker.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -314,10 +314,13 @@ func (w *worker) tryRegisterView(v *View) (*viewInternal, error) {
314314
return vi, nil
315315
}
316316

317-
func (w *worker) unregisterView(viewName string) {
317+
func (w *worker) unregisterView(v *viewInternal) {
318318
w.mu.Lock()
319319
defer w.mu.Unlock()
320-
delete(w.views, viewName)
320+
delete(w.views, v.view.Name)
321+
if measure := w.measures[v.view.Measure.Name()]; measure != nil {
322+
delete(measure.views, v)
323+
}
321324
}
322325

323326
func (w *worker) reportView(v *viewInternal, now time.Time) {

stats/view/worker_commands.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ func (cmd *unregisterFromViewReq) handleCommand(w *worker) {
103103
// The collected data can be cleared.
104104
vi.clearRows()
105105
}
106-
w.unregisterView(name)
106+
w.unregisterView(vi)
107107
}
108108
cmd.done <- struct{}{}
109109
}

0 commit comments

Comments
 (0)