1
0
mirror of https://github.com/amir20/dozzle.git synced 2025-12-21 21:33:18 +01:00

fix: missed a few anlaytics that were not respecting no analytics flag (#3099)

This commit is contained in:
Amir Raminfar
2024-07-11 12:29:53 -07:00
committed by GitHub
parent 5af611ab44
commit ec31d60fb0
4 changed files with 17 additions and 17 deletions

View File

@@ -6,13 +6,16 @@ import (
log "github.com/sirupsen/logrus"
)
func StartEvent(version string, mode string, agents []string, remoteClients []string, client docker.Client, subCommand string) {
func StartEvent(args Args, mode string, client docker.Client, subCommand string) {
if args.NoAnalytics {
return
}
event := analytics.BeaconEvent{
Name: "start",
Version: version,
Version: args.Version(),
Mode: mode,
RemoteAgents: len(agents),
RemoteClients: len(remoteClients),
RemoteAgents: len(args.RemoteAgent),
RemoteClients: len(args.RemoteHost),
SubCommand: subCommand,
}

View File

@@ -51,14 +51,10 @@ func CreateMultiHostService(embededCerts embed.FS, args Args) *docker_support.Mu
_, err := localClient.ListContainers()
if err != nil {
log.Debugf("could not connect to local Docker Engine: %s", err)
if !args.NoAnalytics {
go StartEvent(args.Version(), args.Mode, args.RemoteAgent, args.RemoteHost, nil, "")
}
go StartEvent(args, args.Mode, nil, "")
} else {
log.Debugf("connected to local Docker Engine")
if !args.NoAnalytics {
go StartEvent(args.Version(), args.Mode, args.RemoteAgent, args.RemoteHost, localClient, "")
}
go StartEvent(args, args.Mode, localClient, "")
clients = append(clients, docker_support.NewDockerClientService(localClient))
}
}

View File

@@ -109,6 +109,9 @@ func (h *handler) streamEvents(w http.ResponseWriter, r *http.Request) {
}
func sendBeaconEvent(h *handler, r *http.Request, runningContainers int) {
if h.config.NoAnalytics {
return
}
b := analytics.BeaconEvent{
AuthProvider: string(h.config.Authorization.Provider),
Browser: r.Header.Get("User-Agent"),
@@ -131,11 +134,9 @@ func sendBeaconEvent(h *handler, r *http.Request, runningContainers int) {
b.Mode = "swarm"
}
if !h.config.NoAnalytics {
if err := analytics.SendBeacon(b); err != nil {
log.Debugf("error sending beacon: %v", err)
}
}
}
func sendContainersJSON(containers []docker.Container, w http.ResponseWriter) error {

View File

@@ -57,10 +57,10 @@ func main() {
}
defer os.Remove(tempFile.Name())
io.WriteString(tempFile, listener.Addr().String())
go cli.StartEvent(args.Version(), "", args.RemoteAgent, args.RemoteHost, client, "agent")
go cli.StartEvent(args, "", client, "agent")
agent.RunServer(client, certs, listener)
case *cli.HealthcheckCmd:
go cli.StartEvent(args.Version(), "", args.RemoteAgent, args.RemoteHost, nil, "healthcheck")
go cli.StartEvent(args, "", nil, "healthcheck")
files, err := os.ReadDir(".")
if err != nil {
log.Fatalf("Failed to read directory: %v", err)
@@ -92,7 +92,7 @@ func main() {
}
case *cli.GenerateCmd:
go cli.StartEvent(args.Version(), "", args.RemoteAgent, args.RemoteHost, nil, "generate")
go cli.StartEvent(args, "", nil, "generate")
if args.Generate.Username == "" || args.Generate.Password == "" {
log.Fatal("Username and password are required")
}