mirror of
https://github.com/amir20/dozzle.git
synced 2025-12-21 13:23:07 +01:00
41 lines
1.1 KiB
Go
41 lines
1.1 KiB
Go
package cli
|
|
|
|
import (
|
|
"github.com/amir20/dozzle/internal/analytics"
|
|
"github.com/amir20/dozzle/internal/docker"
|
|
"github.com/rs/zerolog/log"
|
|
)
|
|
|
|
func StartEvent(args Args, mode string, client docker.Client, subCommand string) {
|
|
if args.NoAnalytics {
|
|
return
|
|
}
|
|
event := analytics.BeaconEvent{
|
|
Name: "start",
|
|
Version: args.Version(),
|
|
Mode: mode,
|
|
RemoteAgents: len(args.RemoteAgent),
|
|
RemoteClients: len(args.RemoteHost),
|
|
SubCommand: subCommand,
|
|
HasActions: args.EnableActions,
|
|
HasCustomAddress: args.Addr != ":8080",
|
|
HasCustomBase: args.Base != "/",
|
|
HasHostname: args.Hostname != "",
|
|
FilterLength: len(args.Filter),
|
|
}
|
|
|
|
if client != nil {
|
|
host := client.Host()
|
|
event.ServerID = host.ID
|
|
event.ServerVersion = host.DockerVersion
|
|
event.IsSwarmMode = client.SystemInfo().Swarm.NodeID != ""
|
|
} else {
|
|
event.ServerID = "n/a"
|
|
}
|
|
|
|
log.Trace().Interface("event", event).Msg("Sending analytics event")
|
|
if err := analytics.SendBeacon(event); err != nil {
|
|
log.Debug().Err(err).Msg("Failed to send analytics event")
|
|
}
|
|
}
|