Jump to content
adrian

Tracy Debugger

Recommended Posts

Just now, bluellyr said:

Hi, I am using the Tracy Debugger 4.17.18.

Regarding the @Robin S remark about the having the "Tracy debug bar disabled for modals", I had the Tracy Debug disable for modals, can this be the cause of the error?

Yeah, it was a combination of the older version and the disabled modals. in newer versions of Tracy, that error wouldn't appear, although the debug bar still wouldn't have appeared with the dump because it was disabled, but the error threw me and made me think the cause of the problem was different. Anyway, glad it's working for you now.

  • Like 1

Share this post


Link to post
Share on other sites

What do you think about putting temp files at the top?

Share this post


Link to post
Share on other sites
3 minutes ago, matjazp said:

What do you think about putting temp files at the top?

Are you talking about the new feature in the Page Files panel?

The catch with putting them at the top is that if you have multiple image fields on the page (including within repeaters etc), then you have to scroll down anyway so not sure it helps. Or maybe I am not understanding exactly what you mean?

Share this post


Link to post
Share on other sites
Just now, adrian said:

Are you talking about the new feature in the Page Files panel?

Yep.

1 minute ago, adrian said:

The catch with putting them at the top is that if you have multiple image fields on the page (including within repeaters etc), then you have to scroll down anyway so not sure it helps.

Ok, I got it.

Share this post


Link to post
Share on other sites

Hi @adrian

would it be hard to add some kind of "bookmark" feature to the File Editor panel? I sometimes have no other option to edit files but the FE and it's a real pain jumping back and forth eg. from CSS and template files.

A simple localStorage implementation would be fine for me. As for the UI, perhaps a select would be the best.

Share this post


Link to post
Share on other sites

pTzP09b.png

Hey @adrian,

would it be possible to make those logs linked to the file + line just like it is in the debug bar? It would be great to not only see the log of the call stack but also just click on the line and jump there in your IDE.

Or is this a feature request for the tracy core and should be addressed to nette?

thx

  • Like 1

Share this post


Link to post
Share on other sites

Hey @tpr - let me think about this and I'll follow up on your PM with your other idea.

@bernhard - probably best to request that as a core feature. On the issue of linking to your code editor, I've just noticed that VSCode links are no longer working for me - not sure if it's a VSCode update that broke something or what. Are they still working for you?

 

  • Like 1

Share this post


Link to post
Share on other sites
38 minutes ago, adrian said:

@bernhard - probably best to request that as a core feature. On the issue of linking to your code editor, I've just noticed that VSCode links are no longer working for me - not sure if it's a VSCode update that broke something or what. Are they still working for you?

Thx, I'll do so 🙂 Links are still working for me and I'm using them a lot 🙂 

  • Like 1

Share this post


Link to post
Share on other sites

Folks, I've searched, I promise :-). On the local multilingual site where I'm developing Padloper 2, with Tracy enabled both saving pages and viewing in the frontend takes about 7 seconds to load! With Tracy disabled the loading is fast. Any pointers? Thanks.

Share this post


Link to post
Share on other sites

@kongondo Yes. Disable modules in the Tracy console, especially Tracy and ProcessWire logs. I experienced the same on one site of mine. You can see the load times in the Tracy panel

  • Like 1

Share this post


Link to post
Share on other sites
11 minutes ago, jmartsch said:

Disable modules in the Tracy console, especially Tracy and ProcessWire logs.

Thanks. Do you mean disable panels?

Share this post


Link to post
Share on other sites

Hey @kongondo - I would start by disabling all custom panels via the panel selector.

Typically it's the RequestInfo panel that can be the slowdown, so if you identify it as such, then check out its individual section settings and disable everything and re-enable to see which one is the problem.

If it's the log panels, then I would suggest clicking "Delete All Logs" for both the Tracy and PW logs. I have seen these slowdown things before when there are lots of large log files.

Let us know what you find.

BTW, are you using PHP 7.1+ , or older?

 

Share this post


Link to post
Share on other sites

@jmartsch,

It works, thanks! I've disabled everything except for Debug Mode (I'm not sure I need this?), Console, Panel Selector and Tracy Toggler

  • Like 1

Share this post


Link to post
Share on other sites
Just now, kongondo said:

@jmartsch,

It works, thanks! I've disabled everything except for Debug Mode (I'm not sure I need this?), Console, Panel Selector and Tracy Toggler

But which one is the culprit? I'd really like to figure out which one is causing the problem in case I can fix it 🙂

  • Like 1

Share this post


Link to post
Share on other sites
2 minutes ago, adrian said:

I would start by disabling all custom panels via the panel selector.

Seems we posted same time. I didn't have any custom panels enabled. Disabling panels and leaving a few (see my post above) seems to have resolved the issue.

 

2 minutes ago, adrian said:

Typically it's the RequestInfo panel that can be the slowdown, so if you identify it as such, then check out its individual section settings and disable everything and re-enable to see which one is the problem.

This wasn't enabled. I use it sometimes. I have now enabled it and page loads (front and back) are still fast.

5 minutes ago, adrian said:

If it's the log panels, then I would suggest clicking "Delete All Logs" for both the Tracy and PW logs. I have seen these slowdown things before when there are lots of large log files.

I did this before I posted my issue and it did not resolve the issue.

5 minutes ago, adrian said:

BTW, are you using PHP 7.1+ , or older?

7.2

  • Like 1

Share this post


Link to post
Share on other sites
4 minutes ago, adrian said:

But which one is the culprit? I'd really like to figure out which one is causing the problem in case I can fix it

I highly suspect the logs (Tracy and ProcessWire). Sorry, I just disabled both. Let me try enable one by one and see what happens. See my post above as well. Ta.

Share this post


Link to post
Share on other sites
39 minutes ago, adrian said:

But which one is the culprit? I'd really like to figure out which one is causing the problem in case I can fix it 🙂

Definitely Tracy Logs and to some extent ProcessWire Logs. I enabled all panels , disabling them one by one to reach this conclusion. Deleting ProcessWire Logs did not help. Deleting Tracy Logs resolved the issue. For now, I've just disabled both logs since I don't need them. Thanks again!

  • Like 2

Share this post


Link to post
Share on other sites
12 minutes ago, kongondo said:

Definitely Tracy Logs and to some extent ProcessWire Logs. I enabled all panels , disabling them one by one to reach this conclusion. Deleting ProcessWire Logs did not help. Deleting Tracy Logs resolved the issue. For now, I've just disabled both logs since I don't need them. Thanks again!

Thanks for narrowing it down. I can't understand why the Tracy logs would be so slow, but I'll take a look and see if I can figure something out.

As for "not needing" them - I would suggest reconsidering - sometimes they will capture errors that Tracy will miss for reasons related to the timing of when Tracy is loaded (I think), so seeing a red icon for one/both of these can highlight the reason for an error you might otherwise be confused about.

  • Like 1

Share this post


Link to post
Share on other sites
13 minutes ago, adrian said:

As for "not needing" them - I would suggest reconsidering - sometimes they will capture errors that Tracy will miss for reasons related to the timing of when Tracy is loaded (I think), so seeing a red icon for one/both of these can highlight the reason for an error you might otherwise be confused about.

Aaah. I see. I didn't know that.

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, kongondo said:

Aaah. I see. I didn't know that.

They are also useful if you are debugging the PW core and bd() calls won't work. This way you can make a $log->save() call and it will appear in the PW logs panel in the Tracy bar - easier than hunting it down in the PW admin.

Share this post


Link to post
Share on other sites
2 hours ago, kongondo said:

Deleting Tracy Logs resolved the issue.

Can you please clarify that it was deleting all Tracy logs, and not just disabling the Tracy logs panel that fixed the loading speed?

In other words, is the loading speed ok with the Tracy logs panel open now that the logs have been deleted?

Share this post


Link to post
Share on other sites
8 hours ago, bernhard said:

Thx, I'll do so 🙂 Links are still working for me and I'm using them a lot 🙂 

Just did some debugging and figured out it's a bug in VSCode in a recent update.

Stay on v1.31.1 and you'll be fine.

Github Issue: https://github.com/Microsoft/vscode/issues/70177

And if you've already updated and things are broken, you can get 1.31 here: https://code.visualstudio.com/updates/v1_31

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
9 hours ago, adrian said:

In other words, is the loading speed ok with the Tracy logs panel open now that the logs have been deleted?

Affirmative

  • Like 2

Share this post


Link to post
Share on other sites
9 hours ago, adrian said:

not just disabling the Tracy logs panel that fixed the loading speed?

This also fixed it. Let me clarify

  1. Tracy Logs Panel disabled (logs not deleted): Loading speed fast
  2. Tracy Logs Panel enabled + Logs speed deleted: Loading speed fast
  3. Else: Loading speed slow
  • Like 2

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Gadgetto
      SnipWire - Snipcart integration for ProcessWire
      Snipcart is a powerful 3rd party, developer-first HTML/JavaScript shopping cart platform. SnipWire is the missing link between Snipcart and the content management framework ProcessWire.
      With SnipWire, you can quickly turn any ProcessWire site into a Snipcart online shop. The SnipWire plugin helps you to get your store up and running in no time. Detailed knowledge of the Snipcart system is not required.
      SnipWire is free and open source licensed under Mozilla Public License 2.0! A lot of work and effort has gone into development. It would be nice if you could donate an amount to support further development:

      Status update links (inside this thread) for SnipWire development
      2020-04-06 -- SnipWire 0.8.6 (beta) released! Adds support for Snipcart subscriptions and also fixes some problems 2020-03-21 -- SnipWire 0.8.5 (beta) released! Improves SnipWires webhooks interface and provides some other fixes and additions 2020-03-03 -- SnipWire 0.8.4 (beta) released! Improves compatibility for Windows based Systems. 2020-03-01 -- SnipWire 0.8.3 (beta) released! The installation and uninstallation process has been heavily revised. 2020-02-08 -- SnipWire 0.8.2 (beta) released! Added a feature to change the cart and catalogue currency by GET, POST or SESSION param 2020-02-03 -- SnipWire 0.8.1 (beta) released! All custom classes moved into their own namespaces. 2020-02-01 -- SnipWire is now available via ProcessWire's module directory! 2020-01-30 -- SnipWire 0.8.0 (beta) first public release! (module just submitted to the PW modules directory) 2020-01-28 -- added Custom Order Fields feature (first SnipWire release version is near!) 2020-01-21 -- Snipcart v3 - when will the new cart system be implemented? 2020-01-19 -- integrated taxes provider finished (+ very flexible shipping taxes handling) 2020-01-14 -- new date range picker, discount editor, order notifiactions, order statuses, and more ... 2019-11-15 -- orders filter, order details, download + resend invoices, refunds 2019-10-18 -- list filters, REST API improvements, new docs platform, and more ... 2019-08-08 -- dashboard interface, currency selector, managing Orders, Customers and Products, Added a WireTabs, refinded caching behavior 2019-06-15 -- taxes provider, shop templates update, multiCURL implementation, and more ... 2019-06-02 -- FieldtypeSnipWireTaxSelector 2019-05-25 -- SnipWire will be free and open source Plugin Key Features
      Fast and simple store setup Full integration of the Snipcart dashboard into the ProcessWire backend (no need to leave the ProcessWire admin area) Browse and manage orders, customers, discounts, abandoned carts, and more Multi currency support Custom order and cart fields Process refunds and send customer notifications from within the ProcessWire backend Process Abandoned Carts + sending messages to customers from within the ProcessWire backend Complete Snipcart webhooks integration (all events are hookable via ProcessWire hooks) Integrated taxes provider (which is more flexible then Snipcart own provider) Useful Links
      SnipWire in PW modules directory SnipWire Docs (please note that the documentation is a work in progress) SnipWire @GitHub (feature requests and suggestions for improvement are welcome - I also accept pull requests) Snipcart Website  
      ---- INITIAL POST FROM 2019-05-25 ----
       
    • By bernhard
      #######################
      Please use the new RockFinder2
      #######################
      WHY?
      This module was built to fill the gap between simple $pages->find() operations and complex SQL queries.
      The problem with $pages->find() is that it loads all pages into memory and that can be a problem when querying multiple thousands of pages. Even $pages->findMany() loads all pages into memory and therefore is a lot slower than regular SQL.
      The problem with SQL on the other hand is, that the queries are quite complex to build. All fields are separate tables, some repeatable fields use multiple rows for their content that belong to only one single page, you always need to check for the page status (which is not necessary on regular find() operations and therefore nobody is used to that).
      In short: It is far too much work to efficiently and easily get an array of data based on PW pages and fields and I need that a lot for my RockGrid module to build all kinds of tabular data.

      Basic Usage

       
      Docs & Download
      https://modules.processwire.com/modules/rock-finder/
      https://github.com/BernhardBaumrock/RockFinder
       
      Changelog
      180817, v1.0.6, support for joining multiple finders 180810, v1.0.5, basic support for options fields 180528, v1.0.4, add custom select statement option 180516, change sql query method, bump version to 1.0.0 180515, multilang bugfix 180513, beta release <180513, preview/discussion took place here: https://processwire.com/talk/topic/18983-rocksqlfinder-highly-efficient-and-flexible-sql-finder-module/
    • By MoritzLost
      TrelloWire
      This is a module that allows you to automatically create Trello cards for ProcessWire pages and update them when the pages are updated. This allows you to setup connected workflows. Card properties and change handling behaviour can be customized through the extensive module configuration. Every action the module performs is hookable, so you can modify when and how cards are created as much as you need to. The module also contains an API-component that makes it easy to make requests to the Trello API and build your own connected ProcessWire-Trello workflows.
      Features
      All the things the module can do for you without any custom code: Create a new card on Trello whenever a page is added or published (you can select applicable templates). Configure the target board, target list, name and description for new cards. Add default labels and checklists to the card. Update the card whenever the page is updated (optional). When the status of the card changes (published / unpublished, hidden / unhidden, trashed / restored or deleted), move the card to a different list or archive or delete it (configurable). You can extend this through hooks in many ways: Modifiy when and how cards are created. Modify the card properties (Target board & list, title, description, et c.) before they are sent to Trello. Create your own workflows by utilizing an API helper class with many convenient utility methods to access the Trello API directly. Feedback & Future Plans
      Let me know what you think! In particular:
      If you find any bugs report them here or on Github, I'll try to fix them. This module was born out of a use-case for a client project where we manage new form submissions through Trello. I'm not sure how many use-cases there are for this module. If you do use it, tell me about it! The Trello API is pretty extensive, I'll try to add some more helper methods to the TrelloWireApi class (let me know if you need anything in particular). I'll think about how the module can support different workflows that include Twig – talk to me if you have a use-case! Next steps could be a dashboard to manage pages that are connected to a Trello card, or a new section in the settings tab to manage the Trello connection. But it depends on whether there is any interest in this 🙂 Links
      Repository on Github Complete module documentation (getting started, configuration & API documentation) [Module directory pending approval] Module configuration

    • By MoritzLost
      Process Cache Control
      This module provides a simple solution to clearing all your cache layers at once, and an extensible interface to perform various cache-related actions.
      The simple motivation behind this module was that I was tired of manually clearing caches in several places after deploying a change on a live site. The basic purpose of this module is a simple Clear all caches link in the Setup menu which clears out all caches, no matter where they hide. You can customize what exactly the module does through it's configuration menu:
      Expire or delete all cache entries in the database, or selectively clear caches by namespace ($cache API) Clear the the template render cache. Clear out specific folders inside your site's cache directory (/site/assets/cache) Clear the ProCache page render cache (if your site is using ProCache) Refresh version strings for static assets to bust client-side browser caches (this requires some setup, see the full documentation for details). This is the basic function of the module. However, you can also add different cache management action through the API and execute them through the module's interface. For this advanced usage, the module provides:
      An interface to see all available cache actions and execute them. A system log and logging output on the module page to see verify what the module is doing. A CacheControlTools class with utility functions to clear out different caches. An API to add cache actions, execute them programmatically and even modify the default action. Permission management, allowing you granular control over which user roles can execute which actions. The complete documentation can be found in the module's README.
      Plans for improvements
      If there is some interest in this, I plan to expand this to a more general cache management solution. I particular, I would like to add additional cache actions. Some ideas that came to mind:
      Warming up the template render cache for publicly accessible pages. Removing all active user sessions. Let me know if you have more suggestions!
      Links
      https://github.com/MoritzLost/ProcessCacheControl ProcessCacheControl in the Module directory CHANGELOG in the repository Screenshots


    • By Macrura
      PrevNextTabs Module
      Github: https://github.com/outflux3/PrevNextTabs
      Processwire helper modules for adding page navigation within the editor.
      Overview
      This is a very simple module that adds Previous and Next links inline with the tabs on the page editor. Hovering over the tab shows the title of the previous or next page (using the admin's built in jqueryUI tooltips.)
      Usage
      This module is typically used during development where you or your editors need to traverse through pages for the purpose of proofing, flagging and/or commenting. Rather than returning to the page tree or lister, they can navigate with these links.
      Warnings
      If you are using PW version 2.6.1 or later, the system will prevent you from leaving the page if you have unsaved edits.
      For earlier versions, to avoid accidentally losing changes made to a page that might occur if a user accidentally clicks on one of these, make sure to have the Form Save Reminder module installed.
      http://modules.processwire.com/modules/prev-next-tabs/
×
×
  • Create New...