locked
Enabling logging for DSS Log Analizer RRS feed

  • Question

  • I have recently converted to R2.  I have a set of services running under a manifest that eventually produce an excessive number of this message:

    "### DsspForwarder:DsspReqRspForwarder.TryPostOperation. Queue limit exceeded, discarding inbound operation."

    I thought "This will be a great time to try out the DSS Log Analyzer".  I followed the instructions at:

    http://msdn.microsoft.com/en-us/library/dd939178.aspx

    For "Enabling DSS Log Generation" and "Generating the sample logs", but when I went to the logs folder, all I found was an empty file called:

    ServiceSummaryLoaderErrors.txt

    I am running the manifest from the DSS Manifest Editor.  Could that be the problem?

    Thanks,
    Dogulas

    Thursday, August 27, 2009 4:34 PM

Answers

  • I turned on logging in DssHost.exe as well as DssHost32.exe.

    When I ran the app though Debug in VS, It worked with the hardware.  Since it doesn't go through the Control Panel I was able to get past the problem of not seeing the services and the services started by virtue of the command line.  The text in the command window contains a couple of errors.  I'll supply exactly what was in the command window under each scenario.

    Run Dss Node:

    *** Security Alert!
        Starting node without user authentication.
        The node currently has no network security features enabled.
    *   Service started [09/04/2009 10:06:39][http://charlie.accipitersoftware.com:5
    0000/directory]
    *   Service started [09/04/2009 10:06:43][http://charlie.accipitersoftware.com:5
    0000/constructor]
    *   Service started [09/04/2009 10:06:44][http://charlie.accipitersoftware.com:5
    0000/console/output]
    *   Message logging enabled, runtime performance will negatively affected
    *   Starting manifest load: file:///C:/Documents and Settings/dtaylor/Microsoft
    Robotics Dev Studio 2008 R2/samples/config/UriLauncher.manifest.xml [09/04/2009
    10:06:45][http://charlie.accipitersoftware.com:50000/manifestloaderclient]
    *   Service started [09/04/2009 10:06:47][http://charlie.accipitersoftware.com:5
    0000/urilauncher]
    *   Manifest load complete [09/04/2009 10:06:47][http://charlie.accipitersoftwar
    e.com:50000/manifestloaderclient]


    Debug from VS:

    *   Service started [09/04/2009 10:05:13][http://charlie.accipitersoftware.com:5
    0000/directory]
    *   Service started [09/04/2009 10:05:17][http://charlie.accipitersoftware.com:5
    0000/constructor]
    *   Service started [09/04/2009 10:05:18][http://charlie.accipitersoftware.com:5
    0000/console/output]
    *   Message logging enabled, runtime performance will negatively affected
    *   Starting manifest load: file:///C:/Documents and Settings/dtaylor/Microsoft
    Robotics Dev Studio 2008 R2/Projects/PhidgetAdvServoPanTilt/PhidgetAdvServoPanTi
    ltOrchestration/PhidgetAdvServoPanTiltOrchestration.manifest.xml [09/04/2009 10:
    05:20][http://charlie.accipitersoftware.com:50000/manifestloaderclient]
    *   Service started [09/04/2009 10:05:23][http://charlie.accipitersoftware.com:5
    0000/phidgetadvservoboard/5468ce39-9f81-4415-89ca-6d99f99441c9]
    *   Service started [09/04/2009 10:05:24][http://charlie.accipitersoftware.com:5
    0000/gamecontroller/9cf1e60e-1327-47f0-bcc5-10e8db8c62c0]
    *   Manifest load complete [09/04/2009 10:05:25][http://charlie.accipitersoftwar
    e.com:50000/manifestloaderclient]
    *   Service started [09/04/2009 10:05:25][http://charlie.accipitersoftware.com:5
    0000/phidgetadvservo/57b16b9b-fed3-4d7e-a226-08c10e614673]
    *   Service started [09/04/2009 10:05:25][http://charlie.accipitersoftware.com:5
    0000/phidgetadvservo/0b3a6ba7-e1ac-4920-8f78-d7fe57368de9]
    *   Service started [09/04/2009 10:05:26][http://charlie.accipitersoftware.com:5
    0000/phidgetadvservopantilt/ccaf88f1-417d-463b-a5e5-41f7fdeff996]
    *   Service started [09/04/2009 10:05:26][http://charlie.accipitersoftware.com:5
    0000/phidgetadvservopantiltorchestration/251b39b1-c7bf-4dd5-a9fb-c4811febe391]
    ### Failure sending outbound message to service dssp.tcp://charlie.accipitersoft
    ware.com:50001/phidgetadvservo/0b3a6ba7-e1ac-4920-8f78-d7fe57368de9/dss/notifica
    tiontarget/83588496-4316-4412-9826-a263dae79fe6.
        Detailed error available through debug/error log.
    ### Failure sending outbound message to service dssp.tcp://charlie.accipitersoft
    ware.com:50001/phidgetadvservo/57b16b9b-fed3-4d7e-a226-08c10e614673/dss/notifica
    tiontarget/ff086a2f-e451-448b-a651-23a40b18814b.
        Detailed error available through debug/error log.


    Hope this helps.
    Dogulas

    Friday, September 4, 2009 2:13 PM

All replies

  • Ok, more information:

    After trying many things including uninstalling and reinstalling R2, I notice the following

    If I set up the following in DssHost32.exe:

        <!--Message Capture values:
                CaptureInbound
                CaptureOutbound
                CaptureInboundOutbound        
            -->
        <add key="Microsoft.Dss.Services.Forwarders.MessageCapture" value="CaptureInboundOutbound" />
        <!-- DsspTimeoutTracking enables/disables expiration on all DsspOperations, using DsspOperation.DefaultShortTimeout -->
        <add key="Microsoft.Dss.Services.Forwarders.DsspTimeoutTracking" value="false" />
        <!-- DsspTimeScale determines the absolute Timeout values specified at runtime. 
                 A scale of 2.0 multiplies all timespans specified by 2, effectively doubling all timeout values  -->
        <add key="Microsoft.Dss.Services.Forwarders.DsspTimeScale" value="1.0" />
        <add key="Microsoft.Dss.Services.Transports.UseBinarySerialization" value="Disabled"/>
    

    Then use the "Run DSS Node" option from the start menu, the command window does indeed display:

    "*   Message logging enabled, runtime performance will negatively affected"

    When I go to the Control Panel, there are no services listed what-so-ever.  I mean the page has nothing below the search line.

    If I go back and turn off logging, everything returns to normal.  This is repeatable and uninstalling and reinstalling R2 doesn't change anything.

    Can anyone think of anything else I can try?  Even if only to get more diagnostic information?

    Thanks,
    Dogulas

     

    Friday, August 28, 2009 2:04 PM
  • Ok, more information:

    Currently, if I enable logging as described in the previous post.
    I then use "Run Dss Node" from the start menu.
    I still cannot see any services on the Control Panel.
    However, log files are produced.

    At this point I start Dss Log Analyzer from the start menu which opens application.  If I select "File->Open" the application hangs and I have to end the task from the Task Manager.

    If I then remove all the file under the "logs" folder and run my manifest from the DSS Manifest Editor, I can successfully run my app and shut it down, but when I go back to the "logs" folder all it has is an empty file named "ServiceSummaryLoaderErrors.txt".

    I'm still open to suggestions.

    Thanks,
    Dogulas

    Friday, August 28, 2009 2:37 PM
  • A couple of things.

    What is in the ServiceSummaryLoaderErrors.txt file?

    When you view the Control Panel, it forces a rebuild of the cache. With logging enabled, this can take a long time. This is why you don't see anything. If you leave it long enough, the Control Panel should refresh. The warning that performance might be impacted is correct :-)

    I suggest that after setting up logging, you run one of the samples, e.g. a tutorial, using a manifest from a DSS command prompt. Just make sure that you use the right version of DssHost. There are two: DssHost.exe and DssHost32.exe. Each of them has its own config file. (VPL also has two executables VPLHost.exe and VPLHost32.exe with their own config files).

    The idea is that if you want to log something, you will set up an appropriate manifest and test conditions and then do a short test run. Otherwise it is easy to generate log files that are gigabytes in size! One tip is that you can delete any log files for services that you don't care about when before you run the Log Analyzer. If there are many large logs, it can take quite a while for them to load. We are working on speeding this up for the next release.

    Trevor
    Tuesday, September 1, 2009 6:09 AM
  • Hi Trevor,

    Thanks for the reply.

    > What is in the ServiceSummaryLoaderErrors.txt file?

    This file is completely empty, as in 0 bites.

    > When you view the Control Panel, it forces a rebuild of the cache. With logging enabled, this can take a long time. This is why you don't see anything. If you leave it long enough, the Control Panel should refresh.

    Well I thought that might be it, so I timed it.  I like to think of myself as a patient man, but after one hour and 43 minutes, I decided that either it wasn't going to happen or it just wasn't worth it.  Now, as point of interest; the associated command window produced the following right away:

    Rebuilding contract directory cache. This will take a few moments ...
    Contract directory cache refresh complete

    I don't know if it is relevant.

    > I suggest that after setting up logging, you run one of the samples, e.g. a tutorial, using a manifest from a DSS command prompt. Just make sure that you use the right version of DssHost. There are two: DssHost.exe and DssHost32.exe. Each of them has its own config file.

    I'm using DssHost32.exe and I tried to run it from the Dss Command prompt for just a couple of seconds.  Sure enough I got log files this way.  However, I tried to run DSS Log Analyzer and when I click on File -> Open nothing happens.  It goes into a non responsive state.  It won't even repaint the screen.  At first Task Manager says it is OK, but eventually it calls it Not Responding.  I let it set for ten minutes hopping it would come back, but it didn't.

    It shouldn't make a difference how I run DssHost32.exe with my manifest, either from the command prompt, from Dss Manifest Editor, from Run Dss Node, or from Debug from within Visual Studio, but it does.

    From the command prompt - It runs and produces log files, but DSS Log Analyzer doen't work.
    From Dss Manifest Editor - It runs, but produces only an empty ServiceSummaryLoaderErrors.txt file.
    From Run Dss Node - It launches localhost:50000, but when I click on Control Panel, it never shows any services, so I can't start it.
    From Debug in VS - It runs fine, but produces no log file nor even the empty file

    When I disable logging, everything runs fine.

    Thank you so much for your time Trevor, I hope you have more things I could try if even to get a clue as to what's wrong.

    Thanks,
    Dogulas

    Tuesday, September 1, 2009 3:14 PM
  • In .net, application use only its .config file, so I assume that the manifest editor will use dssme.exe.config for configuration file (unless there is some code that load dsshost.exe.config or dsshost32.exe.config). I'm not sure if it's possible to enable logging inside Dss Manifest editor.

    Regards,
    Vincent
    http://www.simplysim.net/
    Wednesday, September 2, 2009 6:29 AM
  • Vincent,

    Thanks for the response.

    That makes sense.  I guess I was thinking that it somehow spawned DssHost32.exe, but if it doen't, it won't use the config file as you said.

    I'm OK with that.  Do you have any ideas about what I am seeing with the other methods of execution?

    Thanks,
    Dogulas
    Wednesday, September 2, 2009 2:39 PM
  • VPL spawns VPLHost32.exe. That is not one of your test scenarios, but I thought I would mention it.

    When you run from Visual Studio, does it say in the DOS window that logging is enabled?

    If the command window says that the cache rebuild is complete, then that is not the problem.

    I'll have to get somebody to look at it.

    Trevor
    Thursday, September 3, 2009 5:53 AM
  • VPL spawns VPLHost32.exe. That is not one of your test scenarios, but I thought I would mention it.


    But it seems that Dss Manifest Editor doesn't, I'm not sure. If it don't, it could be great for a future release

    Regards,
    Vincent
    http://www.simplysim.net/
    Thursday, September 3, 2009 6:58 AM
  • Trevor,

    > When you run from Visual Studio, does it say in the DOS window that logging is enabled?

    Actually, no it doesn't.

    When I run it through "Run Dss Node" the command window says that security is off and logging is on.  It says neither of those things when I run it through Debug from VS.

    Hope that helps.  This is very reproducable, so if I can try anything to provide more clues to the developers, let me know.

    Thanks,
    Dogulas

    Vincent,

    I agree.
    Friday, September 4, 2009 1:53 PM
  • Wait a minute!  Hold on!

    I just checked the properties of the project in VS.  On the Debug tab the "Start external program:" references DssHost.exe and the Run Dss Node start menu option runs DssHost32.exe.

    I have only turned debugging on in DssHost32.exe which explains the differences.

    What is the difference between DssHost.exe and DssHost32.exe?

    This doesn't explain why Control Panel from Run Dss Node does not work.

    Thanks,
    Dogulas
    Friday, September 4, 2009 2:01 PM
  • I turned on logging in DssHost.exe as well as DssHost32.exe.

    When I ran the app though Debug in VS, It worked with the hardware.  Since it doesn't go through the Control Panel I was able to get past the problem of not seeing the services and the services started by virtue of the command line.  The text in the command window contains a couple of errors.  I'll supply exactly what was in the command window under each scenario.

    Run Dss Node:

    *** Security Alert!
        Starting node without user authentication.
        The node currently has no network security features enabled.
    *   Service started [09/04/2009 10:06:39][http://charlie.accipitersoftware.com:5
    0000/directory]
    *   Service started [09/04/2009 10:06:43][http://charlie.accipitersoftware.com:5
    0000/constructor]
    *   Service started [09/04/2009 10:06:44][http://charlie.accipitersoftware.com:5
    0000/console/output]
    *   Message logging enabled, runtime performance will negatively affected
    *   Starting manifest load: file:///C:/Documents and Settings/dtaylor/Microsoft
    Robotics Dev Studio 2008 R2/samples/config/UriLauncher.manifest.xml [09/04/2009
    10:06:45][http://charlie.accipitersoftware.com:50000/manifestloaderclient]
    *   Service started [09/04/2009 10:06:47][http://charlie.accipitersoftware.com:5
    0000/urilauncher]
    *   Manifest load complete [09/04/2009 10:06:47][http://charlie.accipitersoftwar
    e.com:50000/manifestloaderclient]


    Debug from VS:

    *   Service started [09/04/2009 10:05:13][http://charlie.accipitersoftware.com:5
    0000/directory]
    *   Service started [09/04/2009 10:05:17][http://charlie.accipitersoftware.com:5
    0000/constructor]
    *   Service started [09/04/2009 10:05:18][http://charlie.accipitersoftware.com:5
    0000/console/output]
    *   Message logging enabled, runtime performance will negatively affected
    *   Starting manifest load: file:///C:/Documents and Settings/dtaylor/Microsoft
    Robotics Dev Studio 2008 R2/Projects/PhidgetAdvServoPanTilt/PhidgetAdvServoPanTi
    ltOrchestration/PhidgetAdvServoPanTiltOrchestration.manifest.xml [09/04/2009 10:
    05:20][http://charlie.accipitersoftware.com:50000/manifestloaderclient]
    *   Service started [09/04/2009 10:05:23][http://charlie.accipitersoftware.com:5
    0000/phidgetadvservoboard/5468ce39-9f81-4415-89ca-6d99f99441c9]
    *   Service started [09/04/2009 10:05:24][http://charlie.accipitersoftware.com:5
    0000/gamecontroller/9cf1e60e-1327-47f0-bcc5-10e8db8c62c0]
    *   Manifest load complete [09/04/2009 10:05:25][http://charlie.accipitersoftwar
    e.com:50000/manifestloaderclient]
    *   Service started [09/04/2009 10:05:25][http://charlie.accipitersoftware.com:5
    0000/phidgetadvservo/57b16b9b-fed3-4d7e-a226-08c10e614673]
    *   Service started [09/04/2009 10:05:25][http://charlie.accipitersoftware.com:5
    0000/phidgetadvservo/0b3a6ba7-e1ac-4920-8f78-d7fe57368de9]
    *   Service started [09/04/2009 10:05:26][http://charlie.accipitersoftware.com:5
    0000/phidgetadvservopantilt/ccaf88f1-417d-463b-a5e5-41f7fdeff996]
    *   Service started [09/04/2009 10:05:26][http://charlie.accipitersoftware.com:5
    0000/phidgetadvservopantiltorchestration/251b39b1-c7bf-4dd5-a9fb-c4811febe391]
    ### Failure sending outbound message to service dssp.tcp://charlie.accipitersoft
    ware.com:50001/phidgetadvservo/0b3a6ba7-e1ac-4920-8f78-d7fe57368de9/dss/notifica
    tiontarget/83588496-4316-4412-9826-a263dae79fe6.
        Detailed error available through debug/error log.
    ### Failure sending outbound message to service dssp.tcp://charlie.accipitersoft
    ware.com:50001/phidgetadvservo/57b16b9b-fed3-4d7e-a226-08c10e614673/dss/notifica
    tiontarget/ff086a2f-e451-448b-a651-23a40b18814b.
        Detailed error available through debug/error log.


    Hope this helps.
    Dogulas

    Friday, September 4, 2009 2:13 PM
  • RE: I turned on logging in DssHost.exe as well as DssHost32.exe

    How do you do this when the DSS Node is started via a C# call to DssEnvironment.Initialize()? After seting up an array of strings named: manifestsToLoad, my code has the following line:

        DssEnvironment.Initialize(httpPort, tcpPort, manifestsToLoad);

    No, I am not running within the MRDS studio but within a Windows Service.  worked before I added my 17th service port and the only diagnostic I get is Failed Contract in the Manifest Loader Results page and an empty (zero byte) ServiceSummaryLoaderErrors.txt file.

    Is there an app.config file to which I need to add the following lines?

    If I set up the following in DssHost32.exe:

        <!--Message Capture values:
                CaptureInbound
                CaptureOutbound
                CaptureInboundOutbound        
            -->
        <add key="Microsoft.Dss.Services.Forwarders.MessageCapture" value="CaptureInboundOutbound" />
        <!-- DsspTimeoutTracking enables/disables expiration on all DsspOperations, using DsspOperation.DefaultShortTimeout -->
        <add key="Microsoft.Dss.Services.Forwarders.DsspTimeoutTracking" value="false" />
        <!-- DsspTimeScale determines the absolute Timeout values specified at runtime. 
                 A scale of 2.0 multiplies all timespans specified by 2, effectively doubling all timeout values  -->
        <add key="Microsoft.Dss.Services.Forwarders.DsspTimeScale" value="1.0" />
        <add key="Microsoft.Dss.Services.Transports.UseBinarySerialization" value="Disabled"/>
    
    

    Then use the "Run DSS Node" option from the start menu, the command window does indeed display:

    Wednesday, July 16, 2014 7:54 PM