@@ -53,7 +53,7 @@ func (mq *MetricQuery) request() (*monitoringpb.ListTimeSeriesRequest, error) {
5353 return nil , errors .New ("MetricQuery missing GCE Project" )
5454 }
5555
56- if mq .MetricDescriptor == "" {
56+ if mq .MetricDescriptor == "" && mq . queryFilter == "" {
5757 return nil , errors .New ("MetricQuery missing MetricDescriptor" )
5858 }
5959
@@ -66,13 +66,16 @@ func (mq *MetricQuery) request() (*monitoringpb.ListTimeSeriesRequest, error) {
6666 mq .EndTime = & now
6767 }
6868
69- if mq .queryFilter == "" {
70- mq .queryFilter = fmt .Sprintf (DefaultQueryFilter , mq .MetricDescriptor )
69+ // Complete override of timeSeriesRequestFilter. Use verbatim.
70+ // Resolves: https://github.com/bitly/tsplot/issues/9
71+ timeSeriesRequestFilter := fmt .Sprintf (DefaultQueryFilter , mq .MetricDescriptor )
72+ if mq .queryFilter != "" {
73+ timeSeriesRequestFilter = mq .queryFilter
7174 }
7275
7376 tsreq = monitoringpb.ListTimeSeriesRequest {
7477 Name : fmt .Sprintf ("projects/%s" , mq .Project ),
75- Filter : mq . queryFilter ,
78+ Filter : timeSeriesRequestFilter ,
7679 Interval : & monitoringpb.TimeInterval {
7780 EndTime : timestamppb .New (* mq .EndTime ),
7881 StartTime : timestamppb .New (* mq .StartTime ),
0 commit comments