A computer-implemented method comprising: at a source node of a first tier (205, 210) of computing nodes (120a, 120b, 120c): generating a first service identifier for a transaction, the transaction requesting a service hosted by a second tier, the first service identifier being based on destination information by being based on a logical identifier for the second tier; sending the transaction, including the first service identifier, to the service hosted by the second tier; at a destination node in the second tier: obtaining (505, 512) the first service identifier from the transaction, and reporting the service identifier with an identifier for the destination node to a visibility server as cluster information; and at the visibility server: receiving cluster information from a plurality of destination nodes, and assigning each of the plurality of destination nodes to a cluster based on the first service identifier in the cluster information; characterised in that the method further comprises: at the destination node in the second tier, generating a second service identifier for the transaction, the transaction calling a second service hosted by a third tier, the second service identifier being based on a logical identifier for the third tier; replacing the first service identifier with the second service identifier in the transaction; sending the transaction, including the second service identifier, to the second service hosted by the third tier; and at a second destination node in the third tier: obtaining the second service identifier from the transaction, and reporting the second service identifier with an identifier for the second destination node to the visibility server. at a source node of a first tier (205, 210) of computing nodes (120a, 120b, 120c): generating a first service identifier for a transaction, the transaction requesting a service hosted by a second tier, the first service identifier being based on destination information by being based on a logical identifier for the second tier; sending the transaction, including the first service identifier, to the service hosted by the second tier; generating a first service identifier for a transaction, the transaction requesting a service hosted by a second tier, the first service identifier being based on destination information by being based on a logical identifier for the second tier; sending the transaction, including the first service identifier, to the service hosted by the second tier; at a destination node in the second tier: obtaining (505, 512) the first service identifier from the transaction, and reporting the service identifier with an identifier for the destination node to a visibility server as cluster information; and obtaining (505, 512) the first service identifier from the transaction, and reporting the service identifier with an identifier for the destination node to a visibility server as cluster information; and at the visibility server: receiving cluster information from a plurality of destination nodes, and assigning each of the plurality of destination nodes to a cluster based on the first service identifier in the cluster information; characterised in that the method further comprises: receiving cluster information from a plurality of destination nodes, and assigning each of the plurality of destination nodes to a cluster based on the first service identifier in the cluster information; characterised in that the method further comprises: at the destination node in the second tier, generating a second service identifier for the transaction, the transaction calling a second service hosted by a third tier, the second service identifier being based on a logical identifier for the third tier; replacing the first service identifier with the second service identifier in the transaction; sending the transaction, including the second service identifier, to the second service hosted by the third tier; and at a second destination node in the third tier: obtaining the second service identifier from the transaction, and reporting the second service identifier with an identifier for the second destination node to the visibility server. obtaining the second service identifier from the transaction, and reporting the second service identifier with an identifier for the second destination node to the visibility server.