Comments
Sort by recent activity
Does the service show up as running when you refresh the service list? The profiler does have to restart the service in order to profile it, and the 'starting service' message is usually displayed while the service is running but is not providing any profiling data yet.
Depending on how the service and security is set up on your system, it is possible that the profiler isn't starting because of a permissions issue. The cheapest way to get around it is to reconfigure the service to run as LocalSystem. If you don't want to do that, there are a couple of things to check:
* The service must be able to read from the ANTS Profiler directory in Program Files in order to load in the ProfilerCore DLL.
* The service and the profiler must be able to agree upon a place where they can both read and write files. Normally, ANTS will use whatever the service has configured as a temp directory, but you can configure a specific location by setting the RGTEMP variable in your environment before starting the profiler. Set it to a directory that both your user and the user that the service runs as can write to. / comments
Does the service show up as running when you refresh the service list? The profiler does have to restart the service in order to profile it, and the 'starting service' message is usually displayed ...
Value types like booleans won't show up in the memory profiler unless they have been boxed by .NET, as in all other cases they will be part of other classes and not visible as distinct objects.
A boxed boolean will have 8 bytes of .NET header, 1 byte of boolean and 3 bytes to make the size a multiple of 4 (exactly the same as a class containing a single boolean field). This makes them quite inefficient to store as objects - if you consider the fact that you also need to have at least one reference to this boolean the total memory required is actually 16 bytes per boolean. / comments
Value types like booleans won't show up in the memory profiler unless they have been boxed by .NET, as in all other cases they will be part of other classes and not visible as distinct objects.
A b...
I haven't seen this when trying out the duck typing library myself. Generated code shouldn't cause a problem with the profiler.
It's possible that the profiler doesn't have enough memory to use in the process being profiled: this is currently the only way we know of that will cause this error, and only really applies to 32-bit systems. You can check for this in task manager: in general if the process is starting to use more than 1Gb of RAM or so it becomes possible for the profiler to be unable to find the memory it needs to continue.
You can reduce the memory consumption of the process being profiled by reducing the detail level when starting it: method-level only and only methods with source both require fewer resources than line-level timing. You should also make sure that the 'simplify complex stack traces' and 'ignore extremely trivial functions' options are on: these options both try to discard results that are unlikely to be interesting yet require a disproportionate amount of storage to process.
If this issue doesn't appear to be memory-related, would it be possible to get hold of a small piece of code that demonstrates the issue? / comments
I haven't seen this when trying out the duck typing library myself. Generated code shouldn't cause a problem with the profiler.
It's possible that the profiler doesn't have enough memory to use in ...
Unfortunately, I'm not sure what can cause this at the moment. We just use the ServiceController class to stop and start the services, and something about your system's configuration is presumably interfering with it somehow. The timeout we apply to starting services is 5 minutes: does anything happen if you leave the profiler for that long, or does it continue to hang?
If you're on Vista, are you running ANTS as administrator? Running with reduced privileges will cause ANTS to be unable to start a service: however, when I try this I do get an error message reporting the problem. / comments
Unfortunately, I'm not sure what can cause this at the moment. We just use the ServiceController class to stop and start the services, and something about your system's configuration is presumably ...
Hi again,
Except for the service not starting, it sounds like everything is set up as it should be. I do have another couple of questions, though:
Can you profile another service? It doesn't matter if it's .NET or not, or a system service - the ANTS profiler service itself should do - does the profiler start it successfully? No performance counters will show until the service starts running .NET code, but ANTS should be able to start (or restart) any service.
Does your service have a display name that differs from the service name? This is something that is set in the service installer object. / comments
Hi again,
Except for the service not starting, it sounds like everything is set up as it should be. I do have another couple of questions, though:
Can you profile another service? It doesn't matter...