in pkg/plugin/plugin.go [221:251]
func (d *CloudTraceDatasource) query(ctx context.Context, pCtx backend.PluginContext, query backend.DataQuery) backend.DataResponse {
response := backend.DataResponse{}
var q queryModel
response.Error = json.Unmarshal(query.JSON, &q)
if response.Error != nil {
return response
}
if q.QueryType == "traceID" && strings.TrimSpace(q.TraceID) != "" {
f, err := d.getTraceSpanFrame(ctx, q)
if err != nil {
response.Error = fmt.Errorf("trace query: %w", err)
return response
}
response.Frames = append(response.Frames, f)
}
if q.QueryType == "" {
f, err := d.getTracesTableFrame(ctx, q, query)
if err != nil {
response.Error = fmt.Errorf("filter query: %w", err)
return response
}
response.Frames = append(response.Frames, f)
}
return response
}