moveMeasurements

Use the moveMeasurements command to move the measurements collected for a service or endpoint that has been deleted from the sphere to another endpoint or service that is its logical successor.

Caution: Use this command with care. The system does not check to see that the services or endpoints are actually different iterations of the same object. Once merged, the measurements for the two objects cannot be separated.

When you deploy a new version of a service known to the sphere, and the modified WSDL is registered or discovered, the qualified name of the service defined in the WSDL is expected to match the name of the service found in the WSDL the last time it was read. If there is no match and the service name change option (in the service versioning policy) has a value of "replace the previous endpoints (losing all measurements)," Business Transaction Management deletes the endpoints that were previously read from the WSDL and creates new endpoints belonging to the service currently defined in the WSDL.

If only the namespace or service name defined in the WSDL has changed, the new endpoints might look the same as the old ones (same URL and binding), but they will have a different unique ID. Business Transaction Management depends on this ID to associate measurements with their respective objects; if the ID changes, it leaves measurements made for the old endpoints orphaned and inaccessible. If the service and endpoints defined in the updated WSDL are logically the same, you should use the moveMeasurements command to re-associate the measurements with the new incarnation of the service or endpoint.

Since the old endpoint and service have already been deleted, the old object to move measurements from must be identified by its unique ID. You can determine what the ID of a deleted service is by checking the sphere system log, as follows:

  1. Select Administration > System Services in the navigator.

  2. Select AP_Sphere_Service in the summary pane.

  3. Select Open System Service Log for AP_Sphere_Service from the Admin menu.

  4. The Log Viewer is displayed: look for the deleted service, and note its Exchange ID value.

Because no metadata about the deleted object is known to the sphere, this command is limited in the validation it can do. The command will refuse to do anything if the target cannot be found or is not specified uniquely. It will also refuse to move any measurements if the ID specified refers to an extant object that has not been deleted from the sphere.

See Resolving Discovery Issues, for a discussion of the use of this command in resolving discovery issues.

Command Syntax

btmcli moveMeasurements -id id -n friendlyName | -qname qname [-V version]
                        [-e endpointUrl] [-bn bindingName]
                        -s sphereUrl -l username:password
Name Long Name Description
-id -- The UUID of the deleted endpoint or service for which to move measurements.

If the system deletes a service or endpoint because a WSDL has changed, it will send a system alert containing the UUID(s). Otherwise, you will need to check the service log for the sphere service (as described above) to get the id.

-n -name The friendly name of the target service where to move measurements.
-qName   The qualified name of the target service where to move measurements.
-V -version The version of the target service where to move measurements. Only required if there are multiple versions of the service.
-e -endpointUrl The URL of the target endpoint to move measurements to.
-bn -bindingName The binding name of the target endpoint. (Only needed if the endpoint URL is not unique.)
-s -sphereUrl The URL of the sphere. http://hostname:port/btmcentral/sphere/

This flag is not required if you have set the AP_SPHERE_URL environment variable for your sphere.

-l -userLogin The username and password associated with the sphere, in the format: username:password. This set of credentials must belong to a user in the btmadmin role.

See Security Options in Accessing CLI Commands for information on furnishing login credentials.

You can encrypt passwords using the encryptPassword command.


Example

The following examples show the use of the moveMeasurements command:

btmcli moveMeasurements -id 00EB2838-7E62-11DF-ABB5-27339B5EB390
                        -n MyCreditService
                        -s http://localhost:8080/btmcentral/sphere/
                        -l admin:abracadabra

btmcli moveMeasurements -id CAEAF3FF-C5A7-11DF-80D5-2DF5BB94EBDE
                     -e http://text12.myhost.com:7012/bookmart/ofder/OrderService
                     -s http://localhost:8080/btmcentral/sphere/
                     -l admin:abracadabra