How does APM agent determine its name before it decides to use the default Agent name "UnknownAgent"?