Pyroscope: Rename phlare to grafana-pyroscope-datasource (#68859)

This commit is contained in:
Ryan McKinley
2023-06-06 20:09:29 -07:00
committed by GitHub
parent cefcbfa5ed
commit e17ef5e504
42 changed files with 48 additions and 22 deletions

4
.github/CODEOWNERS vendored
View File

@ -244,7 +244,7 @@
/pkg/tsdb/graphite/ @grafana/observability-metrics
/pkg/tsdb/loki/ @grafana/observability-logs
/pkg/tsdb/tempo/ @grafana/observability-traces-and-profiling
/pkg/tsdb/phlare/ @grafana/observability-traces-and-profiling
/pkg/tsdb/grafana-pyroscope-datasource/ @grafana/observability-traces-and-profiling
/pkg/tsdb/parca/ @grafana/observability-traces-and-profiling
# BI backend code
@ -522,7 +522,7 @@ lerna.json @grafana/frontend-ops
/public/app/plugins/datasource/cloud-monitoring/ @grafana/partner-datasources
/public/app/plugins/datasource/zipkin/ @grafana/observability-traces-and-profiling
/public/app/plugins/datasource/tempo/ @grafana/observability-traces-and-profiling
/public/app/plugins/datasource/phlare/ @grafana/observability-traces-and-profiling
/public/app/plugins/datasource/grafana-pyroscope-datasource/ @grafana/observability-traces-and-profiling
/public/app/plugins/datasource/parca/ @grafana/observability-traces-and-profiling
/public/app/plugins/datasource/alertmanager/ @grafana/alerting-squad

View File

@ -13,6 +13,7 @@ import (
cloudmonitoring "github.com/grafana/grafana/pkg/tsdb/cloud-monitoring"
"github.com/grafana/grafana/pkg/tsdb/cloudwatch"
"github.com/grafana/grafana/pkg/tsdb/elasticsearch"
pyroscope "github.com/grafana/grafana/pkg/tsdb/grafana-pyroscope-datasource"
"github.com/grafana/grafana/pkg/tsdb/grafanads"
"github.com/grafana/grafana/pkg/tsdb/graphite"
"github.com/grafana/grafana/pkg/tsdb/influxdb"
@ -21,7 +22,6 @@ import (
"github.com/grafana/grafana/pkg/tsdb/mysql"
"github.com/grafana/grafana/pkg/tsdb/opentsdb"
"github.com/grafana/grafana/pkg/tsdb/parca"
"github.com/grafana/grafana/pkg/tsdb/phlare"
"github.com/grafana/grafana/pkg/tsdb/postgres"
"github.com/grafana/grafana/pkg/tsdb/prometheus"
"github.com/grafana/grafana/pkg/tsdb/tempo"
@ -44,7 +44,7 @@ const (
MySQL = "mysql"
MSSQL = "mssql"
Grafana = "grafana"
Phlare = "phlare"
Pyroscope = "grafana-pyroscope-datasource"
Parca = "parca"
)
@ -67,7 +67,7 @@ func NewRegistry(store map[string]backendplugin.PluginFactoryFunc) *Registry {
func ProvideCoreRegistry(am *azuremonitor.Service, cw *cloudwatch.CloudWatchService, cm *cloudmonitoring.Service,
es *elasticsearch.Service, grap *graphite.Service, idb *influxdb.Service, lk *loki.Service, otsdb *opentsdb.Service,
pr *prometheus.Service, t *tempo.Service, td *testdatasource.Service, pg *postgres.Service, my *mysql.Service,
ms *mssql.Service, graf *grafanads.Service, phlare *phlare.Service, parca *parca.Service) *Registry {
ms *mssql.Service, graf *grafanads.Service, pyroscope *pyroscope.Service, parca *parca.Service) *Registry {
return NewRegistry(map[string]backendplugin.PluginFactoryFunc{
CloudWatch: asBackendPlugin(cw.Executor),
CloudMonitoring: asBackendPlugin(cm),
@ -84,7 +84,7 @@ func ProvideCoreRegistry(am *azuremonitor.Service, cw *cloudwatch.CloudWatchServ
MySQL: asBackendPlugin(my),
MSSQL: asBackendPlugin(ms),
Grafana: asBackendPlugin(graf),
Phlare: asBackendPlugin(phlare),
Pyroscope: asBackendPlugin(pyroscope),
Parca: asBackendPlugin(parca),
})
}

View File

@ -140,7 +140,7 @@ func (l *Loader) loadPlugins(ctx context.Context, src plugins.PluginSource, foun
// Hardcoded alias changes
switch plugin.ID {
case "grafana-pyroscope": // rebranding
case "grafana-pyroscope-datasource": // rebranding
plugin.Alias = "phlare"
case "debug": // panel plugin used for testing
plugin.Alias = "debugX"

View File

@ -40,6 +40,7 @@ import (
cloudmonitoring "github.com/grafana/grafana/pkg/tsdb/cloud-monitoring"
"github.com/grafana/grafana/pkg/tsdb/cloudwatch"
"github.com/grafana/grafana/pkg/tsdb/elasticsearch"
pyroscope "github.com/grafana/grafana/pkg/tsdb/grafana-pyroscope-datasource"
"github.com/grafana/grafana/pkg/tsdb/grafanads"
"github.com/grafana/grafana/pkg/tsdb/graphite"
"github.com/grafana/grafana/pkg/tsdb/influxdb"
@ -48,7 +49,6 @@ import (
"github.com/grafana/grafana/pkg/tsdb/mysql"
"github.com/grafana/grafana/pkg/tsdb/opentsdb"
"github.com/grafana/grafana/pkg/tsdb/parca"
"github.com/grafana/grafana/pkg/tsdb/phlare"
"github.com/grafana/grafana/pkg/tsdb/postgres"
"github.com/grafana/grafana/pkg/tsdb/prometheus"
"github.com/grafana/grafana/pkg/tsdb/tempo"
@ -108,7 +108,7 @@ func TestIntegrationPluginManager(t *testing.T) {
ms := mssql.ProvideService(cfg)
sv2 := searchV2.ProvideService(cfg, db.InitTestDB(t), nil, nil, tracer, features, nil, nil, nil)
graf := grafanads.ProvideService(sv2, nil)
phlare := phlare.ProvideService(hcp, acimpl.ProvideAccessControl(cfg))
phlare := pyroscope.ProvideService(hcp, acimpl.ProvideAccessControl(cfg))
parca := parca.ProvideService(hcp)
coreRegistry := coreplugin.ProvideCoreRegistry(am, cw, cm, es, grap, idb, lk, otsdb, pr, tmpo, td, pg, my, ms, graf, phlare, parca)
@ -218,7 +218,7 @@ func verifyCorePluginCatalogue(t *testing.T, ctx context.Context, ps *store.Serv
"jaeger": {},
"mixed": {},
"zipkin": {},
"phlare": {},
"grafana-pyroscope-datasource": {},
"parca": {},
}

View File

@ -39,13 +39,13 @@ func corePlugins(rt *thema.Runtime) []pfs.ParsedPlugin {
parsePluginOrPanic("public/app/plugins/datasource/dashboard", "dashboard", rt),
parsePluginOrPanic("public/app/plugins/datasource/elasticsearch", "elasticsearch", rt),
parsePluginOrPanic("public/app/plugins/datasource/grafana", "grafana", rt),
parsePluginOrPanic("public/app/plugins/datasource/grafana-pyroscope-datasource", "grafana_pyroscope_datasource", rt),
parsePluginOrPanic("public/app/plugins/datasource/graphite", "graphite", rt),
parsePluginOrPanic("public/app/plugins/datasource/jaeger", "jaeger", rt),
parsePluginOrPanic("public/app/plugins/datasource/loki", "loki", rt),
parsePluginOrPanic("public/app/plugins/datasource/mssql", "mssql", rt),
parsePluginOrPanic("public/app/plugins/datasource/mysql", "mysql", rt),
parsePluginOrPanic("public/app/plugins/datasource/parca", "parca", rt),
parsePluginOrPanic("public/app/plugins/datasource/phlare", "phlare", rt),
parsePluginOrPanic("public/app/plugins/datasource/postgres", "postgres", rt),
parsePluginOrPanic("public/app/plugins/datasource/prometheus", "prometheus", rt),
parsePluginOrPanic("public/app/plugins/datasource/tempo", "tempo", rt),

View File

@ -114,6 +114,7 @@ type JSONData struct {
ID string `json:"id"`
Type Type `json:"type"`
Name string `json:"name"`
Alias string `json:"alias,omitempty"`
Info Info `json:"info"`
Dependencies Dependencies `json:"dependencies"`
Includes []*Includes `json:"includes"`
@ -165,6 +166,10 @@ func ReadPluginJSON(reader io.Reader) (JSONData, error) {
switch plugin.ID {
case "grafana-piechart-panel":
plugin.Name = "Pie Chart (old)"
case "grafana-pyroscope-datasource": // rebranding
plugin.Alias = "phlare"
case "debug": // panel plugin used for testing
plugin.Alias = "debugX"
}
if len(plugin.Dependencies.Plugins) == 0 {
@ -437,6 +442,7 @@ func (p *Plugin) ToDTO() PluginDTO {
Module: p.Module,
BaseURL: p.BaseURL,
AngularDetected: p.AngularDetected,
Alias: p.Alias,
}
}

View File

@ -102,6 +102,26 @@ func Test_ReadPluginJSON(t *testing.T) {
},
},
},
{
name: "Phlare<>Pyroscope rebranding -- hardcoded alias",
pluginJSON: func(t *testing.T) io.ReadCloser {
pJSON := `{
"id": "grafana-pyroscope-datasource",
"type": "datasource"
}`
return io.NopCloser(strings.NewReader(pJSON))
},
expected: JSONData{
ID: "grafana-pyroscope-datasource",
Alias: "phlare", // Hardcoded from the parser
Type: "datasource",
Dependencies: Dependencies{
GrafanaDependency: "",
GrafanaVersion: "*",
Plugins: []Dependency{},
},
},
},
}
for _, tt := range tests {

View File

@ -144,6 +144,7 @@ import (
"github.com/grafana/grafana/pkg/tsdb/cloud-monitoring"
"github.com/grafana/grafana/pkg/tsdb/cloudwatch"
"github.com/grafana/grafana/pkg/tsdb/elasticsearch"
pyroscope "github.com/grafana/grafana/pkg/tsdb/grafana-pyroscope-datasource"
"github.com/grafana/grafana/pkg/tsdb/grafanads"
"github.com/grafana/grafana/pkg/tsdb/graphite"
"github.com/grafana/grafana/pkg/tsdb/influxdb"
@ -154,7 +155,6 @@ import (
"github.com/grafana/grafana/pkg/tsdb/mysql"
"github.com/grafana/grafana/pkg/tsdb/opentsdb"
"github.com/grafana/grafana/pkg/tsdb/parca"
"github.com/grafana/grafana/pkg/tsdb/phlare"
"github.com/grafana/grafana/pkg/tsdb/postgres"
"github.com/grafana/grafana/pkg/tsdb/prometheus"
"github.com/grafana/grafana/pkg/tsdb/tempo"
@ -256,7 +256,7 @@ var wireBasicSet = wire.NewSet(
graphite.ProvideService,
prometheus.ProvideService,
elasticsearch.ProvideService,
phlare.ProvideService,
pyroscope.ProvideService,
parca.ProvideService,
encryptionservice.ProvideEncryptionService,
wire.Bind(new(encryption.Internal), new(*encryptionservice.Service)),

View File

@ -663,7 +663,7 @@
{
"name": "Grafana Pyroscope",
"type": "datasource",
"id": "phlare",
"id": "grafana-pyroscope-datasource",
"enabled": true,
"pinned": false,
"info": {
@ -679,8 +679,8 @@
}
],
"logos": {
"small": "public/app/plugins/datasource/phlare/img/grafana_pyroscope_icon.svg",
"large": "public/app/plugins/datasource/phlare/img/grafana_pyroscope_icon.svg"
"small": "public/app/plugins/datasource/grafana-pyroscope-datasource/img/grafana_pyroscope_icon.svg",
"large": "public/app/plugins/datasource/grafana-pyroscope-datasource/img/grafana_pyroscope_icon.svg"
},
"build": {},
"screenshots": null,
@ -694,7 +694,7 @@
},
"latestVersion": "",
"hasUpdate": false,
"defaultNavUrl": "/plugins/phlare/",
"defaultNavUrl": "/plugins/grafana-pyroscope-datasource/",
"category": "profiling",
"state": "",
"signature": "internal",

View File

@ -12,7 +12,7 @@ import (
"github.com/grafana/grafana-plugin-sdk-go/backend/gtime"
"github.com/grafana/grafana-plugin-sdk-go/data"
"github.com/grafana/grafana-plugin-sdk-go/live"
"github.com/grafana/grafana/pkg/tsdb/phlare/kinds/dataquery"
"github.com/grafana/grafana/pkg/tsdb/grafana-pyroscope-datasource/kinds/dataquery"
"github.com/xlab/treeprint"
"golang.org/x/sync/errgroup"
)

View File

@ -37,8 +37,8 @@ const tempoPlugin = async () =>
await import(/* webpackChunkName: "tempoPlugin" */ 'app/plugins/datasource/tempo/module');
const alertmanagerPlugin = async () =>
await import(/* webpackChunkName: "alertmanagerPlugin" */ 'app/plugins/datasource/alertmanager/module');
const phlarePlugin = async () =>
await import(/* webpackChunkName: "phlarePlugin" */ 'app/plugins/datasource/phlare/module');
const pyroscopePlugin = async () =>
await import(/* webpackChunkName: "pyroscopePlugin" */ 'app/plugins/datasource/grafana-pyroscope-datasource/module');
const parcaPlugin = async () =>
await import(/* webpackChunkName: "parcaPlugin" */ 'app/plugins/datasource/parca/module');
@ -102,7 +102,7 @@ const builtInPlugins: any = {
'app/plugins/datasource/azuremonitor/module': azureMonitorPlugin,
'app/plugins/datasource/tempo/module': tempoPlugin,
'app/plugins/datasource/alertmanager/module': alertmanagerPlugin,
'app/plugins/datasource/phlare/module': phlarePlugin,
'app/plugins/datasource/grafana-pyroscope-datasource/module': pyroscopePlugin,
'app/plugins/datasource/parca/module': parcaPlugin,
'app/plugins/panel/text/module': textPanel,

View File

@ -1,7 +1,7 @@
{
"type": "datasource",
"name": "Grafana Pyroscope",
"id": "phlare",
"id": "grafana-pyroscope-datasource",
"category": "profiling",
"metrics": true,