Plugins: Add metric for tracking plugin asset info (#112322)

* add metric for tracking plugin asset info

* make check more specific

* check host instead
This commit is contained in:
Will Browne
2025-10-13 14:42:32 +01:00
committed by GitHub
parent 8cb3d3b552
commit e109763f21
3 changed files with 32 additions and 0 deletions
@@ -4,6 +4,7 @@ import (
"context"
"errors"
"fmt"
"net/url"
"slices"
"go.opentelemetry.io/otel/attribute"
@@ -152,6 +153,23 @@ func ReportFSMetrics(_ context.Context, p *plugins.Plugin) (*plugins.Plugin, err
return p, nil
}
// ReportAssetMetrics reports plugin asset information for all non-core plugins.
func ReportAssetMetrics(_ context.Context, p *plugins.Plugin) (*plugins.Plugin, error) {
if p.IsCorePlugin() {
// No metrics for core plugins
return p, nil
}
u, err := url.ParseRequestURI(p.BaseURL)
if err == nil && u.Host != "" {
metrics.SetPluginAssetInformation(p.ID, "remote")
return p, nil
}
metrics.SetPluginAssetInformation(p.ID, "local")
return p, nil
}
// ReportCloudProvisioningMetrics reports plugin cloud provisioning information for all non-core plugins.
func ReportCloudProvisioningMetrics(ppManaged provisionedplugins.Manager) initialization.InitializeFunc {
cloudProvisioningMethod := plugins.CloudProvisioningMethodNone