1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2024-12-14 11:03:09 +02:00
sap-jenkins-library/pkg/splunk/data.go
ffeldmann 6398e61995
Splunk reporting; Sending messages in batches (#3611)
* Refactors logfile sending logic, renaming of fields, adds proper piper sourcetype
* Sets maximum retries to three and transport timeout to 10 seconds for azure and jenkins
2022-03-07 09:55:12 +01:00

50 lines
2.8 KiB
Go

package splunk
import "github.com/SAP/jenkins-library/pkg/log"
type Event struct {
Messages []log.Message `json:"messages,omitempty"` // messages
Telemetry MonitoringData `json:"telemetry,omitempty"` // telemetryData
}
type Details struct {
Host string `json:"host"` // hostname
Source string `json:"source,omitempty"` // optional description of the source of the event; typically the app's name
SourceType string `json:"sourcetype,omitempty"` // optional name of a Splunk parsing configuration; this is usually inferred by Splunk
Index string `json:"index,omitempty"` // optional name of the Splunk index to store the event in; not required if the token has a default index set in Splunk
Event Event `json:"event,omitempty"` // throw any useful key/val pairs here}
}
// MonitoringData definition for monitoring
type MonitoringData struct {
PipelineUrlHash string `json:"PipelineUrlHash,omitempty"`
BuildUrlHash string `json:"BuildUrlHash,omitempty"`
StageName string `json:"StageName,omitempty"`
StepName string `json:"StepName,omitempty"`
ExitCode string `json:"ExitCode,omitempty"`
Duration string `json:"Duration,omitempty"`
ErrorCode string `json:"ErrorCode,omitempty"`
ErrorCategory string `json:"ErrorCategory,omitempty"`
CorrelationID string `json:"CorrelationId,omitempty"`
CommitHash string `json:"CommitHash,omitempty"`
Branch string `json:"Branch,omitempty"`
GitOwner string `json:"GitOwner,omitempty"`
GitRepository string `json:"GitRepository,omitempty"`
}
type LogFileEvent struct {
Event string `json:"event"` // messages
Host string `json:"host"` // hostname
Source string `json:"source"` // optional description of the source of the event; typically the app's name
SourceType string `json:"sourcetype"` // optional name of a Splunk parsing configuration; this is usually inferred by Splunk
Index string `json:"index"` // optional name of the Splunk index to store the event in; not required if the token has a default index set in Splunk
}
type DetailsTelemetry struct {
Host string `json:"host"` // hostname
Source string `json:"source,omitempty"` // optional description of the source of the event; typically the app's name
SourceType string `json:"sourcetype,omitempty"` // optional name of a Splunk parsing configuration; this is usually inferred by Splunk
Index string `json:"index,omitempty"` // optional name of the Splunk index to store the event in; not required if the token has a default index set in Splunk
Event map[string]interface{} `json:"event,omitempty"` // throw any useful key/val pairs here}
}