I am a new Dynatrace user, and still trying to understand how stuff works. In the link below it describes how to define custom web services. My question is, in what circumstances we need to define custom services? Shouldn't OneAgent discover all the services and related PurePaths? This still is boggling my mind.
Solved! Go to Solution.
Here is the explanation from documentation
If your application services aren't built on standard technologies, they may not be recognized out-of-the box. You can monitor these technologies, but you'll need to define them as custom services with specific service entry points.
Another use case for custom services are microservices that are used by a larger application that aren't exposed via communication technologies.HTH to clear a bit what bagging your mind
To complement on Yos comments, you should be familiar with entry points. They are defined here:
Basically, services that do not originate on web server requests are not automatically considered services by Dynatrace. So, they don't originate Purepaths. Those would include requests processed in background, in batch mode, or originating from other origins. You will be able to see them partially in Method Hotspots though.
If you want to get Purepaths of those nature, you'll have to use Custom Services. You'll have to define a method, class, or interface as the entry point for that service. Beware of certain cautions though, including the number of calls made to that method, which could impact overhead, if called too much.
you might want to define custom service e.g. for some specific Background Processes (e.g. business jobs that are executed at specific times or triggered by some kind of cron scheduler).
You would define an entry point and maybe extract some more data via request attributes. Usually these kind of jobs would be aggregated under the general "Requests executed in the background" service. But if you need more details, go for a custom service.
We're trying to capture some data from our client's enterprise architecture, and that caused me to question why we couldn't capture it automatically in the first place. I guess we have to go through trial/error phase by using custom services feature.
Thank you guys a lot for the clarifications.