1. A method comprising: receiving an indication of an error in a computer network; querying at least one software agent in a network element of the computer network, the at least one software agent being embedded in source code for corresponding processes running on the network element; and receiving data from the at least one software agent in response to the querying.