diff --git a/api/agent.go b/api/agent.go
index <HASH>..<HASH> 100644
--- a/api/agent.go
+++ b/api/agent.go
@@ -263,6 +263,7 @@ func (a *Agent) Monitor(stopCh <-chan struct{}, q *QueryOptions) (<-chan *Stream
 		for {
 			select {
 			case <-stopCh:
+				close(frames)
 				return
 			default:
 			}
diff --git a/client/agent_endpoint.go b/client/agent_endpoint.go
index <HASH>..<HASH> 100644
--- a/client/agent_endpoint.go
+++ b/client/agent_endpoint.go
@@ -30,7 +30,7 @@ func NewAgentEndpoint(c *Client) *Agent {
 }
 
 func (m *Agent) monitor(conn io.ReadWriteCloser) {
-	defer metrics.MeasureSince([]string{"client", "monitor", "monitor"}, time.Now())
+	defer metrics.MeasureSince([]string{"client", "agent", "monitor"}, time.Now())
 	defer conn.Close()
 
 	// Decode arguments
address feedback, fix gauge metric name