mirror of
https://github.com/SigNoz/signoz.git
synced 2026-10-07 18:50:41 +01:00
#### Description - Add the `AI_TRACES_BASED_ALERT` alert type so alerts can be built with the AI explorer's `builder_ai_query`. - Treat AI trace queries like trace queries for new-series filtering and related links. - Related links for AI alerts open the AI observability explorer and tag the shared query as `builder_ai_query`, so `trace.*` aggregate fields in the filter resolve. Existing logs and traces links are unchanged. - Rule history timeline and top-contributor responses gain `relatedAITracesLink`; AI alerts populate it and leave `relatedTracesLink` empty so the frontend can route without checking the alert type. <!--Reference issues using `Closes #issue-number` to enable automatic closure on merge. --> #### Issues closed by this PR Closes https://github.com/SigNoz/engineering-pod/issues/6021 #### Additional Information Notifications keep the existing `related_traces` annotation, now carrying the AI explorer URL, so every channel and `$trace.url` template keeps working.
32 lines
989 B
Go
32 lines
989 B
Go
package contextlinks
|
|
|
|
import (
|
|
"github.com/SigNoz/signoz/pkg/types/ruletypes"
|
|
)
|
|
|
|
// TODO(srikanthccv): Fix the URL management.
|
|
|
|
type FilterExpression struct {
|
|
Expression string `json:"expression,omitempty"`
|
|
}
|
|
|
|
// LinkQuery carries the only fields the explorer pages read from a shared
|
|
// link; the frontend fills in the rest of the query shape with defaults.
|
|
type LinkQuery struct {
|
|
DataSource string `json:"dataSource"`
|
|
BuilderQueryType string `json:"builderQueryType,omitempty"`
|
|
Filter *FilterExpression `json:"filter,omitempty"`
|
|
}
|
|
|
|
type URLShareableBuilderQuery struct {
|
|
QueryData []LinkQuery `json:"queryData"`
|
|
QueryFormulas []string `json:"queryFormulas"`
|
|
}
|
|
|
|
type URLShareableCompositeQuery struct {
|
|
QueryType string `json:"queryType"`
|
|
Builder URLShareableBuilderQuery `json:"builder"`
|
|
}
|
|
|
|
var PredefinedAlertLabels = []string{ruletypes.LabelThresholdName, ruletypes.LabelSeverityName, ruletypes.LabelLastSeen}
|