How To: Identify How Long The Artifact Retrieval Process Took
search cancel

How To: Identify How Long The Artifact Retrieval Process Took

book

Article ID: 204926

calendar_today

Updated On:

Products

CA Release Automation - Release Operations Center (Nolio) CA Release Automation - DataManagement Server (Nolio)

Issue/Introduction

We are seeing the "Distribute to execution server" take a while to complete. It is understood that 2 main things happen during this time:

  1. The artifact retrieval agent obtains a copy on its local machine from the artifacts source. 
  2. The artifact is transferred to the appropriate Execution Servers.

How can we find how long it took the artifact retrieval agent to get a copy of the artifact from the artifact source (#1)? 

Environment

Release : 6.6

Component : CA RELEASE AUTOMATION CORE

Cause

If the artifact source is something other than LOCAL_FILE then the artifact will need to be retrieved from a remote system. This means it has the potential of adding time to overall time taken to run your deployment. The amount of time it takes to retrieve the artifact is not available through the Nolio RA Release Operation Center Web UI. 

 

Resolution

There are 2 prerequisites before you can determine how long it took to retrieve an artifact file:

  • You must identify the artifact retrieval agent used by the deployment.
  • You must have the logs folder from the artifact retrieval agent. 

 

The Agent's log files can be used to determine how long it took to retrieve an artifact file. 

In this example, the artifact source was HTTP. It took 40 minutes to download this file.

There are some things worth noting as they will help in your analysis:

  • Artifacts are first downloaded to a folder named: files/ART<release_id>/<release_id>. A good starting point is to identify the release_id and the first time it begins retrieving the artifact file to this folder.
    • Note: The artifact source might not always be HTTP. So you can't rely on the "Downloading artifact from url..." portion of the message. 
  • The artifact file is moved to the files_cache folder once the agent has completed retrieving it from its source. You can identify these final messages by either:
    • The thread name. In this case: ArtifactsHandlers-3; or
    • The MD5 of the artifact file. When the artifact file is moved to the files_cache folder it changes the name of the file to the MD5 of the file. 

In the example below it took the file 40 minutes to be retrieved. After this retrieval completes it can move on to the next phase of copying the files to all of the Execution Servers managing agents that need the artifact. 

 

Messages and log files: 

./nolio_action_exe.log: 2020-08-12 18:55:12,984 [ArtifactsHandlers-3] INFO  (com.nolio.platform.shared.datamodel.Action:271) - Downloading artifact from url [https://reposerver/path/to/artifact_src_file.zip] to [files/ART<release_id>/<release_id>/<random_artifact_id>/artifact_dest_filename.zip]

./nolio_all.log: 2020-08-12 18:55:12,984 [ArtifactsHandlers-3] INFO  (com.nolio.platform.shared.datamodel.Action:271) - Downloading artifact from url [https://reposerver/path/to/artifact_src_file.zip] to [files/ART<release_id>/<release_id>/<random_artifact_id>/artifact_dest_filename.zip]

./nolio_action_exe.log: 2020-08-12 18:55:13,000 [ArtifactsHandlers-3] DEBUG (com.nolio.platform.shared.datamodel.Action:137) - Accessing URL [https://reposerver/path/to/artifact_src_file.zip] with parameters [[]], HTTPMethodType=[GET]

./nolio_all.log: 2020-08-12 18:55:13,000 [ArtifactsHandlers-3] DEBUG (com.nolio.platform.shared.datamodel.Action:137) - Accessing URL [https://reposerver/path/to/artifact_src_file.zip] with parameters [[]], HTTPMethodType=[GET]

./nolio_action_exe.log: 2020-08-12 18:55:14,450 [ArtifactsHandlers-3] INFO  (com.nolio.platform.shared.datamodel.Action:370) - HTTP method executed with response code: 200

./nolio_action_exe.log: 2020-08-12 18:55:14,450 [ArtifactsHandlers-3] DEBUG (com.nolio.platform.shared.datamodel.Action:395) - Parent for response file path file [files/ART<release_id>/<release_id>/<random_artifact_id>/artifact_dest_filename.zip] is [D:\Path\To\NolioAgent_Home\files\ART<release_id>\<release_id>\<random_artifact_id>] exist [false]

./nolio_all.log: 2020-08-12 18:55:14,450 [ArtifactsHandlers-3] INFO  (com.nolio.platform.shared.datamodel.Action:370) - HTTP method executed with response code: 200

./nolio_all.log: 2020-08-12 18:55:14,450 [ArtifactsHandlers-3] DEBUG (com.nolio.platform.shared.datamodel.Action:395) - Parent for response file path file [files/ART<release_id>/<release_id>/<random_artifact_id>/artifact_dest_filename.zip] is [D:\Path\To\NolioAgent_Home\files\ART<release_id>/<release_id>\<random_artifact_id>] exist [false]

./nolio_all.log: 2020-08-12 19:35:22,810 [ArtifactsHandlers-3] INFO  (com.nolio.platform.shared.storage.sync.filecache.SimpleFileCache:231) - SimpleFileCache adding [files_registry\<md5_of_artifact_file>] to [files_cache\<md5_of_artifact_file>].

./nolio_all.log: 2020-08-12 19:35:23,044 [ArtifactsHandlers-3] INFO  (com.nolio.platform.shared.storage.sync.filecache.SimpleFileCache:239) - SimpleFileCache added [files_cache\<md5_of_artifact_file>].