Ray Konopka

Forum Replies Created

Viewing 15 posts - 1 through 15 (of 322 total)
  • Author
    Posts
  • in reply to: Dispatcher: Out of Memory – Too high rate of messages? #4111
    Ray Konopka
    Keymaster

      160 messages per second is a bit high. For short bursts, that should not cause any issues, but if this rate was over a longer time period, it could certainly put an extra strain on the dispatcher.

      You mention that the Out of Memory error is happening on your client’s machine. I’m curious if you have seen this same behavior on your machine? I’m curious as to the memory capacity of the client machine.

      Ray

      in reply to: Dispatcher: Out of Memory – Too high rate of messages? #4109
      Ray Konopka
      Keymaster

        Hi Hans,
        I’m not sure what happened to your message content. I received the message content in the notification message (now that I have them turned back on). I’ve included it below.

        Are you able to send me some of the log files? If so, please zip them up and send them to support@raize.com.

        Also, are you using the MaxSize and MaxParts properties to control the size of the log files? Or, are you doing that yourself?

        The Dispatcher does have an internal queue that new messages are put into when they arrive. The load on the Dispatcher is reflected in the tray icon for the Dispatcher, if you have that visible. The interior of the icon shows varying shades of yellow to indicate load. There is no way to programmatically acquire the Dispatcher load.

        What types of data are you capturing in CodeSite? Simple data types, or objects, images, etc. I can also get this from the sample log files, if you are able to send them to me.

        Ray

        >>>>
        Hi Ray,

        My client experienced a few ‘Out of Memory’ Pop-ups from the Dispatcher.

        Today I received the *.csl files to have a look at and I did notice something.

        The logging files are restricted to 10Mbytes, if larger then I start a new file.
        Usually, the last entry in the file has the same timestamp as the file itself, which makes sense.
        But now I noticed that gradually the timestamp of the last message is earlier than the timestamp of the file.

        So I suspect that the Dispatcher is not keeping up with the rate of messages that it receives.
        And this increasing backlog of messages probably is eating up the memory?

        Is there a way that I can detect that this is happening?
        So maybe I can tune the amount of messages that I am sending?

        Kind regards,
        Hans
        <<<<

        in reply to: Retrieve version of the CodeSite Tool #4107
        Ray Konopka
        Keymaster

          Hi Hans,

          I’m sorry for the long delay. Somehow my notifications got turned off. CodeSite Studio 5 is sold as a traditional license and not an annual subscription. There is no charge for updates to the same major version.

          Ray

          in reply to: Retrieve version of the CodeSite Tool #4099
          Ray Konopka
          Keymaster

            Hi Hans,

            Interesting question. There is no built-in way to get that information, but we can leverage the SendFileVersionInfo method in the TCodeSiteLogger. For example, the following code shows how to get the file path to the CSDispatcher.exe from the Registry and then use the SendFileVersionInfo method to send the version info the CodeSite destination. The version number is listed in the details. Perhaps this will help until I can put something a little more elegant into the product.

            Ray

            uses
              System.Win.Registry,
              CodeSiteLogging,
              CodeSitePlatform;
            
            procedure TForm45.RzButton1Click(Sender: TObject);
            var
              R: TRegistry;
              DispatcherFileName: string;
            begin
              R := TRegistry.Create;
              try
                R.RootKey := HKEY_LOCAL_MACHINE;
                if R.OpenKeyReadOnly( CodeSiteRegKey ) then
                  DispatcherFileName := R.ReadString( 'Dispatcher' )
                else if R.OpenKeyReadOnly( CodeSitePoliciesRegKey ) then
                  DispatcherFileName := R.ReadString( 'Dispatcher' );
                R.CloseKey;
              finally
                R.Free;
              end;
            
              if DispatcherFileName = '' then
                DispatcherFileName := StrDispatcherExeName;
            
              CodeSite.SendFileVersionInfo( DispatcherFileName );
            end;
            in reply to: Starting Dispatcher with listening on tcp and udp ports #4071
            Ray Konopka
            Keymaster

              Hi,

              By default the CodeSite Dispatcher monitors the TCP and UDP ports. In an older version it was possible to toggle the Monitor Ports option in the Dispatcher Settings, but we removed that. However, the CSDispatcher.ini file still holds the setting for those who wish to turn it off.

              Anyway, please check the C:\ProgramData\Raize\CodeSite\5.0\CSDispatcher.ini file and see if the MonitorPorts setting is turned off. If so, then simply set it to true and restart the Dispatcher.

              Ray

              in reply to: Logging to File failing #4067
              Ray Konopka
              Keymaster

                Hi David,

                I sent you an email reply (to the CSDispatcherLog.txt file) on Jan 15. I’ve included the email contents below.

                Ray

                —-
                Hi David,

                The CSDispatcherLog.txt file that you sent looks fine. The multiple Register calls are fine. I was really interested in seeing if there were any errors being recorded in the CSDispatcherLog.txt file.

                What is also strange is that your most recent forum post on this topic mentions that the log file is now 28 GB in size. Are there other log file “parts” on the computer? Is it the last part that is growing?

                What version of CodeSite do you have installed on this computer?

                Ray

                in reply to: TraceMethod not working as expected #4066
                Ray Konopka
                Keymaster

                  Hi David,

                  I just created a quick test project in Delphi 11 and created the following event handler:

                  procedure TForm13.RzButton1Click(Sender: TObject);
                  begin
                    CodeSite.TraceMethod( 'RzButton1Click' );
                    CodeSite.Send( 'Test Message' );
                    CodeSite.Send( 'Test Message #2' );
                  end;

                  I ran the program and the output showed the two test messages within an EnterMethod message and an ExitMethod message.

                  Are you able to duplicate the problem in a test project? If so, please send the source (no executables) to support@raize.com and I’ll take a look.

                  Ray

                  in reply to: Method Enter Exit duration #4065
                  Ray Konopka
                  Keymaster

                    Hi David,

                    Unfortunately, there is no built in way to search or filter on exit methods that exceed some time threshold, but it would be nice feature. I’m logging it as an enhancement request.

                    Ray

                    in reply to: Migration KSVC 6.5 –> 7.0 inserts Color = 15987699 property #4060
                    Ray Konopka
                    Keymaster

                      Hi,

                      I’ve not seen any other reports like this. The Color property has been a property of TRzPanel and descendants from the beginning. I’m assuming that you mean that the Color property is showing up in the DFM files for your forms. Although, I’m not entirely sure about that because I don’t really understand your second scenario.

                      Is there any way for your to recreate the issue in a smaller project that you could send to support@raize.com? I would like to take a look. I’ve been working on a lot of changes to the component set, including the TRzPanel and descendants.

                      Ray

                      in reply to: TimeStamp wrong #4056
                      Ray Konopka
                      Keymaster

                        Hi David,
                        CodeSite 5 (and earlier) uses the QueryPerformanceCounter to generate a timestamp for each message. The count is compared to a base count value at app start up to generate a time stamp. From what you describe, it sounds like QueryPerformanceCounter is not returning an accurate count after the host machine is returned from hibernating. Just to be clear, you mention that you hibernate the host machine and not the VM itself. I’m curious if other time values are affected when you resume from hibernation. For example, what does the clock in the system tray show immediately after resuming?

                        BTW, the QueryPerformanceCounter was necessary in order to get a more precise timestamp value (ms resolution). However, this is no longer necessary with modern versions of Windows. As a result, CodeSite 6 no longer uses the QueryPerformanceCount and instead utilizes the TStopWatch class.

                        Ray

                        in reply to: TRzListView Columns (missing headers) #4042
                        Ray Konopka
                        Keymaster

                          Hi Jeremy,
                          Thanks for sharing your findings. The solution that I came up with essentially does the same thing but instead of calling ResetHeaderHandle in the WMNCPaint method, I call it in the SetViewStyle method:

                          procedure TRzCustomListView.SetViewStyle( AValue: TViewStyle );
                          begin
                            if ( AValue <> ViewStyle ) then
                            begin
                              inherited;
                              if AValue = vsReport then
                              begin
                                SetHeaderODStyle;
                                {$IFDEF RX12_OR_HIGHER}
                                ResetHeaderHandle;
                                {$ENDIF}
                              end;
                            end;
                          end;

                          This way the header handle is reset only when the view style is changed as opposed to each time WMNCPaint is called.

                          Ray

                          in reply to: TRzListView Columns (missing headers) #4041
                          Ray Konopka
                          Keymaster

                            Hi Jeremy,
                            Thanks for sharing your findings. The solution that I came up with essentially does the same thing but instead of calling ResetHeaderHandle in the WMNCPaint method, I call it in the SetViewStyle method:

                            procedure TRzCustomListView.SetViewStyle( AValue: TViewStyle );
                            begin
                              if ( AValue <> ViewStyle ) then
                              begin
                                inherited;
                                if AValue = vsReport then
                                begin
                                  SetHeaderODStyle;
                                  {$IFDEF RX12_OR_HIGHER}
                                  ResetHeaderHandle;
                                  {$ENDIF}
                                end;
                              end;
                            end;

                            This way the header handle is reset only when the view style is changed as opposed to each time WMNCPaint is called.

                            Ray

                            in reply to: CodeSite design packages not loading in 12.2 #4040
                            Ray Konopka
                            Keymaster

                              Hi Roberto,

                              I apologize for the delay in responding because of the Christmas holiday. Working backwards from your posts, you are correct in that all you are losing with the design packages not loading is the design-time components, which we only provided for backward compatibility and have not recommended using them for a very long time. In fact, for CodeSite 6, there will be no design packages.

                              As for why you are having an issue with one of the versions, this is most likely the result of a package change that was introduced with RAD Studio 12.2. Typically, when Embarcadero releases a point update (e.g. *.1 or *.2), the package formats do not change. Of course, none of this applied during the strange times of the 10.x releases where 10.1, 10.2, etc were all major releases. However, when they switched back to regular versioning (e.g. 11, 12), point releases are designed not to have package interface changes. However, they broke that rule with 12.2 with respect to the Modern C++ 64-bit compiler changes.

                              Bottom line is that you are fine without the design packages. I will also be releasing a new build of CodeSite 5 that will be built with 12.2 in order to support the new Modern C++ 64-bit compiler, so then you should be able to reload the design packages should you wish.

                              Again I apologize for the delay and the inconvenience all this has caused.

                              Ray

                              in reply to: Should CodeSite work using Windows 64-bit (Modern)? #4033
                              Ray Konopka
                              Keymaster

                                Hi Hans,
                                I apologize for the inconvenience. A new build of CodeSite 5 needs to be released to include support for the 64-bit Modern C++ compiler. I’m trying to fit that into the schedule.
                                Ray

                                in reply to: Logging to File failing #4032
                                Ray Konopka
                                Keymaster

                                  Hi David,
                                  Interesting that it logs to the file for a day or two and then stops. Typically, if there is an issue with file logging, it’s immediately apparent, such as file permissions, wrong path, etc. Is it possible that the CodeSite logger is getting disabled at some point in your application? That would cause messages to stop getting logged.

                                  If you have access to the computer, or can get someone to grab a file from the computer, I would like to see the CSDispatcherLog.txt file. It is located in the following path:
                                  C:\Users\\AppData\Local\Raize\CodeSite\5.0\CSDispatcherLog.txt

                                  If you are able to get this file, please send it to support@raize.com and I’ll take a look.

                                  Ray

                                Viewing 15 posts - 1 through 15 (of 322 total)