From dfa5db7240901570d9563ac90b8b141898f29ed9 Mon Sep 17 00:00:00 2001 From: Gabriel Krenn Date: Fri, 1 Apr 2022 11:44:34 +0200 Subject: [PATCH 1/4] Updated log messages and returned errors --- src/dtclient/activegate_tenant_info.go | 5 ++--- src/dtclient/agent_tenant_info.go | 5 ++--- src/dtclient/agent_version.go | 2 +- src/dtclient/communication_hosts.go | 2 +- src/dtclient/dynatrace_client.go | 2 +- src/dtclient/processmoduleconfig.go | 4 ++-- src/dtclient/token.go | 3 ++- 7 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/dtclient/activegate_tenant_info.go b/src/dtclient/activegate_tenant_info.go index a2c1a8c064..dc9978e804 100644 --- a/src/dtclient/activegate_tenant_info.go +++ b/src/dtclient/activegate_tenant_info.go @@ -35,7 +35,6 @@ func (dtc *dynatraceClient) GetActiveGateTenantInfo() (*ActiveGateTenantInfo, er tenantInfo, err := dtc.readResponseForActiveGateTenantInfo(data) if err != nil { - log.Error(err, err.Error()) return nil, err } if len(tenantInfo.Endpoints) == 0 { @@ -49,8 +48,8 @@ func (dtc *dynatraceClient) readResponseForActiveGateTenantInfo(response []byte) agTenantInfo := &ActiveGateTenantInfo{} err := json.Unmarshal(response, agTenantInfo) if err != nil { - log.Error(err, "error unmarshalling json response") - return nil, errors.WithStack(err) + log.Error(err, "error unmarshalling activegate tenant info", "response", string(response)) + return nil, err } return agTenantInfo, nil diff --git a/src/dtclient/agent_tenant_info.go b/src/dtclient/agent_tenant_info.go index dd3d44c030..80ca43de6e 100644 --- a/src/dtclient/agent_tenant_info.go +++ b/src/dtclient/agent_tenant_info.go @@ -36,7 +36,6 @@ func (dtc *dynatraceClient) GetAgentTenantInfo() (*AgentTenantInfo, error) { tenantInfo, err := dtc.readResponseForTenantInfo(data) if err != nil { - log.Error(err, err.Error()) return nil, errors.WithStack(err) } if len(tenantInfo.Endpoints) <= 0 { @@ -57,8 +56,8 @@ func (dtc *dynatraceClient) readResponseForTenantInfo(response []byte) (*AgentTe jr := &jsonResponse{} err := json.Unmarshal(response, jr) if err != nil { - log.Error(err, "error unmarshalling json response") - return nil, errors.WithStack(err) + log.Error(err, "unable to unmarshal tenant info response") + return nil, err } return &AgentTenantInfo{ diff --git a/src/dtclient/agent_version.go b/src/dtclient/agent_version.go index 135a4bc230..1d454daa2c 100644 --- a/src/dtclient/agent_version.go +++ b/src/dtclient/agent_version.go @@ -56,7 +56,7 @@ func (dtc *dynatraceClient) readResponseForLatestVersion(response []byte) (strin jr := &jsonResponse{} err := json.Unmarshal(response, jr) if err != nil { - log.Error(err, "error unmarshalling json response") + log.Error(err, "error unmarshalling latest agent version response", "response", string(response)) return "", err } diff --git a/src/dtclient/communication_hosts.go b/src/dtclient/communication_hosts.go index cda2e03222..4113a8d98e 100644 --- a/src/dtclient/communication_hosts.go +++ b/src/dtclient/communication_hosts.go @@ -51,7 +51,7 @@ func (dtc *dynatraceClient) readResponseForConnectionInfo(response []byte) (Conn resp := jsonResponse{} err := json.Unmarshal(response, &resp) if err != nil { - log.Error(err, "error unmarshalling json response") + log.Error(err, "error unmarshalling connection info response", "response", string(response)) return ConnectionInfo{}, err } diff --git a/src/dtclient/dynatrace_client.go b/src/dtclient/dynatrace_client.go index e907a9c23d..8314f08787 100644 --- a/src/dtclient/dynatrace_client.go +++ b/src/dtclient/dynatrace_client.go @@ -197,7 +197,7 @@ func (dtc *dynatraceClient) setHostCacheFromResponse(response []byte) error { var hostInfoResponses []hostInfoResponse err := json.Unmarshal(response, &hostInfoResponses) if err != nil { - log.Error(err, "error unmarshalling json response") + log.Error(err, "error unmarshalling json response", "response", string(response)) return errors.WithStack(err) } diff --git a/src/dtclient/processmoduleconfig.go b/src/dtclient/processmoduleconfig.go index 94fb04281a..70ea54fcc2 100644 --- a/src/dtclient/processmoduleconfig.go +++ b/src/dtclient/processmoduleconfig.go @@ -77,7 +77,7 @@ func (dtc *dynatraceClient) GetProcessModuleConfig(prevRevision uint) (*ProcessM return &ProcessModuleConfig{}, nil } if err != nil { - return nil, fmt.Errorf("error making get request to dynatrace api: %w", err) + return nil, fmt.Errorf("error while requesting process module config: %v", err) } defer func() { //Swallow error, nothing has to be done at this point @@ -131,7 +131,7 @@ func (dtc *dynatraceClient) readResponseForProcessModuleConfig(response []byte) resp := ProcessModuleConfig{} err := json.Unmarshal(response, &resp) if err != nil { - log.Error(err, "error unmarshalling json response") + log.Error(err, "error unmarshalling processmoduleconfig response: %s", string(response)) return nil, err } diff --git a/src/dtclient/token.go b/src/dtclient/token.go index 46aa14ad86..60c71de043 100644 --- a/src/dtclient/token.go +++ b/src/dtclient/token.go @@ -63,7 +63,8 @@ func (dtc *dynatraceClient) readResponseForTokenScopes(response []byte) (TokenSc } if err := json.Unmarshal(response, &jr); err != nil { - return nil, fmt.Errorf("error unmarshalling json response: %w", err) + log.Error(err, "unable to unmarshal token scopes response", "response", string(response)) + return nil, err } return jr.Scopes, nil From 8c81d2bf7e3c90e1ae71c36e797ebe17806afd5f Mon Sep 17 00:00:00 2001 From: Gabriel Krenn Date: Fri, 1 Apr 2022 11:45:29 +0200 Subject: [PATCH 2/4] Add more detailed error to processmoduleconfig --- src/controllers/csi/provisioner/processmoduleconfig.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/controllers/csi/provisioner/processmoduleconfig.go b/src/controllers/csi/provisioner/processmoduleconfig.go index eb71fedf26..abece7f7bb 100644 --- a/src/controllers/csi/provisioner/processmoduleconfig.go +++ b/src/controllers/csi/provisioner/processmoduleconfig.go @@ -2,6 +2,7 @@ package csiprovisioner import ( "encoding/json" + "fmt" "io/ioutil" "os" @@ -40,7 +41,7 @@ func (provisioner *OneAgentProvisioner) getProcessModuleConfig(dtc dtclient.Clie } return latestProcessModuleConfig, storedHash, nil } else if err != nil { - return nil, storedHash, err + return nil, storedHash, fmt.Errorf("error reading process module config cache: %v", err) } storedHash = storedProcessModuleConfig.Hash latestProcessModuleConfig, err := dtc.GetProcessModuleConfig(storedProcessModuleConfig.Revision) From 86255f8a9402e31ff3a97c6767063edc9476877c Mon Sep 17 00:00:00 2001 From: Gabriel Krenn Date: Fri, 1 Apr 2022 11:55:06 +0200 Subject: [PATCH 3/4] Update process module config to write response into error metadata --- src/dtclient/processmoduleconfig.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dtclient/processmoduleconfig.go b/src/dtclient/processmoduleconfig.go index 70ea54fcc2..4fedd08efa 100644 --- a/src/dtclient/processmoduleconfig.go +++ b/src/dtclient/processmoduleconfig.go @@ -131,7 +131,7 @@ func (dtc *dynatraceClient) readResponseForProcessModuleConfig(response []byte) resp := ProcessModuleConfig{} err := json.Unmarshal(response, &resp) if err != nil { - log.Error(err, "error unmarshalling processmoduleconfig response: %s", string(response)) + log.Error(err, "error unmarshalling processmoduleconfig response", "response", string(response)) return nil, err } From a78b823eeddbdc9b7a665917de23cadbc9a97866 Mon Sep 17 00:00:00 2001 From: Gabriel Krenn Date: Fri, 1 Apr 2022 14:03:27 +0200 Subject: [PATCH 4/4] Remove log overhead --- src/controllers/csi/provisioner/processmoduleconfig.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/controllers/csi/provisioner/processmoduleconfig.go b/src/controllers/csi/provisioner/processmoduleconfig.go index abece7f7bb..eb71fedf26 100644 --- a/src/controllers/csi/provisioner/processmoduleconfig.go +++ b/src/controllers/csi/provisioner/processmoduleconfig.go @@ -2,7 +2,6 @@ package csiprovisioner import ( "encoding/json" - "fmt" "io/ioutil" "os" @@ -41,7 +40,7 @@ func (provisioner *OneAgentProvisioner) getProcessModuleConfig(dtc dtclient.Clie } return latestProcessModuleConfig, storedHash, nil } else if err != nil { - return nil, storedHash, fmt.Errorf("error reading process module config cache: %v", err) + return nil, storedHash, err } storedHash = storedProcessModuleConfig.Hash latestProcessModuleConfig, err := dtc.GetProcessModuleConfig(storedProcessModuleConfig.Revision)