func checkAgentStatus()

in internal/sqlservermetrics/sqlservermetrics.go [205:221]


func checkAgentStatus(wlm wlm.WorkloadManagerService, path string) error {
	agentStatus := activation.NewV1()
	fp := filepath.Join(filepath.Dir(path), "google-cloud-sql-server-agent.activated")
	if !agentStatus.IsAgentActive(fp) {
		log.Logger.Info("Agent is not active. Activating the agent.")
		isActive, err := agentStatus.Activate(wlm, fp, SIP.Name, SIP.ProjectID, SIP.Instance, SIP.InstanceID)
		if isActive {
			log.Logger.Info("Agent is activated.")
			if err != nil {
				log.Logger.Warnw("An error occurred during the agent activation", "error", err)
			}
		} else {
			return fmt.Errorf("Activation failed. Error: %v", err)
		}
	}
	return nil
}