mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-07-07 22:31:51 +08:00

* chore: refactor: inject sqlx.DB into opamp.initDB instead of DB file name * chore: reorganize test utils a little * chore: add test validating pipelines for installed integrations show up in pipelines list * chore: get basic integration pipelines testcase passing * chore: reconcile experimental changes with latest state of develop * chore: add integration test for reordering of pipelines * chore: marker for integration pipelines using Id * chore: hookup propagation of installed integration pipelines by opamp * chore: add util for mapping slices * chore: add support for reordering integration pipelines * chore: exclude user saved integration pipelines if no longer installed * chore: flesh out rest of intgeration pipelines scenarios * chore: handle scenario when an integration is installed before any pipelines exist * chore: notify agentConf of update after uninstalling an integration * chore: some minor cleanup * chore: some more cleanup * chore: update ee server for changed controllers * chore: some more cleanup * chore: change builtin integration id prefix to avoid using colons that break yaml * chore: update builtin integration id in test
34 lines
880 B
Go
34 lines
880 B
Go
package integrations
|
|
|
|
import (
|
|
"strings"
|
|
|
|
"go.signoz.io/signoz/pkg/query-service/app/logparsingpipeline"
|
|
"go.signoz.io/signoz/pkg/query-service/constants"
|
|
)
|
|
|
|
const IntegrationPipelineIdSeparator string = "--"
|
|
|
|
func AliasForIntegrationPipeline(
|
|
integrationId string, pipelineName string,
|
|
) string {
|
|
return strings.Join(
|
|
[]string{constants.IntegrationPipelineIdPrefix, integrationId, pipelineName},
|
|
IntegrationPipelineIdSeparator,
|
|
)
|
|
}
|
|
|
|
// Returns ptr to integration_id string if `p` is a pipeline for an installed integration.
|
|
// Returns null otherwise.
|
|
func IntegrationIdForPipeline(p logparsingpipeline.Pipeline) *string {
|
|
if strings.HasPrefix(p.Alias, constants.IntegrationPipelineIdPrefix) {
|
|
parts := strings.Split(p.Alias, IntegrationPipelineIdSeparator)
|
|
if len(parts) < 2 {
|
|
return nil
|
|
}
|
|
integrationId := parts[1]
|
|
return &integrationId
|
|
}
|
|
return nil
|
|
}
|