Browse Source

execute process directly instead of creating sub shell

bergquist 8 years ago
parent
commit
7c0fc59dfb
2 changed files with 9 additions and 6 deletions
  1. 8 6
      pkg/plugins/backend_datasource.go
  2. 1 0
      pkg/tsdb/models/proxy/wrapper.go

+ 8 - 6
pkg/plugins/backend_datasource.go

@@ -24,17 +24,19 @@ type BackendDatasource struct {
 	client     *plugin.Client
 }
 
+var handshakeConfig = plugin.HandshakeConfig{
+	ProtocolVersion:  1,
+	MagicCookieKey:   "GRAFANA_BACKEND_DATASOURCE",
+	MagicCookieValue: "55d2200a-6492-493a-9353-73b728d468aa",
+}
+
 func (p *BackendDatasource) initBackendPlugin(log log.Logger) error {
 	p.log = log.New("plugin-id", p.Id)
 
 	p.client = plugin.NewClient(&plugin.ClientConfig{
-		HandshakeConfig: plugin.HandshakeConfig{
-			ProtocolVersion:  1,
-			MagicCookieKey:   "BASIC_PLUGIN",
-			MagicCookieValue: "hello",
-		},
+		HandshakeConfig:  handshakeConfig,
 		Plugins:          map[string]plugin.Plugin{p.Id: &shared.TsdbPluginImpl{}},
-		Cmd:              exec.Command("sh", "-c", path.Join(p.PluginDir, p.Executable)),
+		Cmd:              exec.Command(path.Join(p.PluginDir, p.Executable)),
 		AllowedProtocols: []plugin.Protocol{plugin.ProtocolGRPC},
 		Logger:           backend.LogWrapper{Logger: p.log},
 	})

+ 1 - 0
pkg/tsdb/models/proxy/wrapper.go

@@ -64,6 +64,7 @@ func (tw *TsdbWrapper) Query(ctx context.Context, ds *models.DataSource, query *
 
 	res := &tsdb.Response{
 		Message: pbres.Message,
+		Results: map[string]*tsdb.QueryResult{},
 	}
 
 	for _, r := range pbres.Results {